Posts Tagged ‘nRF24L01’

nRF24L01+ basic operation. My notes

November 16th, 2014 No comments

This is a brief note I am taking while reading how to operate nRF24L01+ using a microcontroller. This post is not meant to be a tutorial, but I publishing it anyway as someone might find it useful.


  • 3.3V (absolute max 3.6V) supply power
  • It seems that data lines are 5V tolerant (to clarify, supply power is NOT 5V tolerant)
  • SPI communication, 4 lines
    • CSN – SPI Chip Select
    • SCK – SPI Clock
    • MOSI – nRF24L01 data input
    • MISO – nRF24L01 data output
  • There is a CE chip enable pic, which activates RX or TX mode
  • Doesn’t seem I need any pull resistors on the data line. The lines will be connected directly to the microcontroller


There are 4 types of operational modes in the module, Power Down, Standby-I, TX and RX. Standby-I seems to be the ‘normal’ operating mode and you just need to switch to TX or RX to do your task. Power Down is used to save power and the trade-off is that you need about 1.5ms to go back to Standby-I.

After reset, the module defaults to Power Down mode.

Controlling the module

The module is controlled through a register which is accessed using SPI write and read commands.

SPI Commands

  • Just before starting an SPI command, the CSN should be switched from HIGH to LOW
  • As the command is shifted out from MOSI, the STATUS register of nRF24L01 is shifted from the MISO
  • SPI communication is Most Significant Bit first – Least Significant Byte first
Categories: electronics Tags: