This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Are the softdevices "special"?

I'm using the nrf51822 evaluation kit. There is low level access (via memory registers) the the 2.4Ghz radio in either a Nordic proprietary protocl mode, or Bluetooth LE mode (I assume the latter means you're basically issuing commands to what the bluetooth spec calls a Controller, but maybe this is where I'm confused).

Are the SoftDevices using anything undocumented in the chip to expose higher level bluetooth functionality, or could I write my own host drivers (implementing L2CAP basically) to talk directly to the radio?

  • Hi Amit,

    You don't need the SoftDevice to do Bluetooth, so you can basically write your own Bluetooth controller using just the radio. We have written the SoftDevice so that it should be easy for application developers to write Bluetooth profiles. Then the application developer don't have to think of all the rules that Bluetooth mandates, because the SoftDevice does that for you.

    As far as I know, the SoftDevice does not use any undocumented features. You can read the nRF51 Reference Manual (get it from MyPage) to learn about how to interface the radio. Then you would probably have to read the Bluetooth Specification as well to learn about all the constrains in Bluetooth.

    Hope this clarifies it a bit.

  • Thanks! That's exactly the answer I was hoping for!This makes total sense except for one thing: From the nrf51 reference manual (chapter 16.2.1) it's not totally clear what the packet configuration maps to in the bluetooth spec. In particular, what are the S0 and S1 fields? Since they are optional, maybe they are actually not useful for bluetooth but only for Nordic's proprietary protocol? In that case, I assume the "payload" maps directly to the bluetooth low energy link layer PDU (core spec volume 6, part b, chapter 2.1). Thanks!

Related