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

Bluetooth bare metal implementation without binary blob

Hello,

I have a question regarding the nRF5340 microcontroller or similar.
Usually, when programming UART, I2C or SPI bare metal, one is using interrupts, register and buffers in RAM.
Even more complex transmission channels such as ETH with the TCPIP protocol or USB can be programmed bare metal,
for example data pages are allocated in the memory and their pointers are written to the corresponding registers in the µC.
Next step is then to implement the protocol.
But is it also possible to program the bluetooth module of a Nordic Semiconductor microcontroller bare metal?
Without binary blobs, just by using registers, interrupts and internal RAM?
I understand that the next layer (protocol) can be complex. However, I would really like to recreate the Bluetooth stack with interrupts and registers. Many thanks.
Parents
  • Yes, it is possible.  The IOsonata library did implement bare metal drivers more performance and simple to use than the SDK without all precompile hard coded defines jungle.  It can be used with or without softdevice.  The radio part however is not documented but you can have a look at the ESB and Gazell code in the SDK. It is recommended to use softdevice for the Bluetooth stack because it is certified. You can bypass the SDK completely and talk directly to the softdevice instead.  It gets worst when comes to the nRF53 series which forced you to use nRFConnect SDK Zephyr which is a nightmare.  Not only you got those defines jungle, there are also toolchain jungle and scripts jungle too. 

  • Hi Nguyen,

    thank you very much for the link, we were not aware that alternatives to that nordic sdk exists! Will certainly look into that.

    And thank you for the hint with the nRF53 software, we will stay well clear of those devices in the future. I think the nRF52 is a nightmare already, totally bloated and simple things made complicated. The hoops you have to jump through to get a simple I2C sensor connected is unbelievable. To quote Donald Knuth: "They could have done better".

    Regards,

Reply
  • Hi Nguyen,

    thank you very much for the link, we were not aware that alternatives to that nordic sdk exists! Will certainly look into that.

    And thank you for the hint with the nRF53 software, we will stay well clear of those devices in the future. I think the nRF52 is a nightmare already, totally bloated and simple things made complicated. The hoops you have to jump through to get a simple I2C sensor connected is unbelievable. To quote Donald Knuth: "They could have done better".

    Regards,

Children
No Data
Related