NRF24L01+ Driver From Scratch

In this series of posts and the YouTube videos I will write a driver for the NRF24L01+ by Nordic Semiconductor. This is a low cost radio transceiver readily available from many suppliers. The image below shows the specific one I am using, but they come in many shapes and sizes. 
It has to be noted that these devices operate on 3.3V and not 5V. Some modules sold may come with an on-board voltage regulator or power adapter. Check your modules specifications. The NRF itself is only 5V on the SPI pins 
The most important document you must have on hand along with this tutorial is the specifications (datasheet) for the NRF24L01+  you can get it HERE be careful you do not use version 1 of the datasheet that can be found everywhere. If you google for it look for Version 2 of the datasheet which has the ACTIVATE command which is missing from version 1. 


  • Worldwide 2.4GHz ISM band operation
  • 126 RF channels
    • 1MHz non-overlapping channel spacing at 1Mbps
    • 2MHz non-overlapping channel spacing at 2Mbps
  • Enhanced ShockBurst (fancy word for the following features) 
    • 1 to 32 bytes dynamic payload length
    • Auto packet transaction handling
    • 6 data pipe MultiCeiver
  • 4-pin hardware SPI @ 10Mbps max 5V tolerant inputs (SPI pins only)
  • 3 separate 32 bytes TX and RX FIFOs
For a full list of features see the datasheet.



Share your comments with me


Contact Form