RIOT OS and nrf51822

Hello everyone,

We are French students in a school of engineers. We are developing a project based on the nrf51822.

Actually, we implemented RIOT OS on this SoC and we would like to use nrf51822 BLE features. Nordic Semiconductors provides SoftDevices (s110, s120,…) allowing the use of BLE.

How can we use nrf51822 BLE services with RIOT OS without accessing to the lower layers ? Do lirbraries exist allowing us to use nrf51822 BLE services under RIOT OS ?

Thank you for the further answers.

Best regards.


using SoftDevice is not supported with RIOT at the moment. To adapt SoftDevice support to RIOT needs a new linker script, an change of interrupt handling and additional header files. Most of Nordic SDK files including headers and examples are not Open Source compatible.



feel free to open a pull request with your board specific code (to make it available within RIOT repository)!

the radio on the nrf51 needs a full rewrite of a driver with lgpl license. Some first steps are done in:

Would a great contribution to extend and test this PR and leave some comments on github for this feature.

The SPI support for the nrf51 needs some review too:

Best Christian

Did you ever follow this up? I was wondering if we could run RIOT as "app" after the softdevice too, since it's just too much work to reverse engineer a BLE stack.

I can do the linker thing, if someone figures out how to make interrupts work.

I too agree with this; reverse engineering a BLE stack is a non-trivial task. I'll be also very interested to know how RIOT can be run as app as I've started working on my Masters thesis in the area of DFU-OTA and planning to use RIOT as the middle layer for portability.