What is NRF24L01 and How Does It Work?

26 January 2024


Ⅰ. Overview of NRF24L01

Ⅱ. Who is the manufacturer of NRF24L01?

Ⅲ. Structural block diagram of NRF24L01

Ⅳ. Applications of NRF24L01

Ⅴ. Communication conditions of NRF24L01

Ⅵ. Working modes of NRF24L01

Ⅶ. Working principle of NRF24L01

Ⅷ. How to use two NRF24L01 modules for wireless data transmission?



NRF24L01 is a 2.4G communication chip developed by Nordic Company. It has the characteristics of low power consumption, low cost and high speed, and can provide better solutions for the application of desktop computer products and smart devices. This article will introduce it from the manufacturer, structure, applications, working modes and working principle.



Ⅰ. Overview of NRF24L01


5b7e940ee3da499de78fe362a30155a5.png


The NRF24L01 is a new monolithic RF transceiver specifically designed for the ISM frequency band from 2.4 GHz to 2.5 GHz. It integrates multiple functional modules such as crystal oscillator, frequency synthesizer, power amplifier and modulator, and adopts advanced ShockBurst technology. Through the SPI interface, the NRF24L01 can communicate with the 5V microcontroller, so that the output power, channel selection and protocol settings can be configured through the SPI interface. This means that NRF24L01 can be connected to almost all kinds of microcontroller chips to achieve wireless data transmission functions.


Alternatives and equivalents:

NRF24L01P-R7

NRF24L01P-T

Si4455-C2A-GM

SI4455-B1A-FMR

SI4455-B1A-FM



Ⅱ. Who is the manufacturer of NRF24L01?


The NRF24L01 is manufactured by Nordic Semiconductor. Nordic Semiconductor, originally named Nordic VLSI, is a fabless semiconductor company. The company specializes in ultra-low power performance wireless systems-on-chip and connectivity devices for the 2.4 GHz ISM band, with power consumption and cost being the main focus areas. Nordic Semiconductor's end-user applications are wireless mobile phone accessories, mice and keyboards, wireless medical, consumer electronics, smart sports devices, remote controls, wireless game controllers, wireless voice audio applications (such as Voice over IP), security and toys.



Ⅲ. Structural block diagram of NRF24L01


2690e18d65c414197eff35a04b16c016.png


The block diagram of the NRF24L01 is shown above. From the perspective of microcontroller control, we only need to pay attention to six control signal ports, namely CSN, SCK, MISO, MOSI, IRQ, and CE.



Ⅳ. Applications of NRF24L01


• VolP headsets

• Active RFID

• Game controllers

• Wireless PC peripherals

• Sports watches and sensors

• Asset tracing systems

• Mouse, keyboards and remotes

• Ultra low power sensor networks

• Home and commercial automation

• Advanced media center remote controls

• RF remote controls for consumer electronics



Ⅴ. Communication conditions of NRF24L01


Two NRF24L01 communication needs to meet the following three conditions:


1. The channels are the same (set the channel register RF_CH);

2. The addresses are the same (set TX_ADDR and RX_ADDR_PO the same);

3. The number of bytes sent and received each time is the same (if the effective data width of the channel is set to n, then the number of bytes sent each time must also be n, of course, n<=32)



Ⅵ. Working modes of NRF24L01


The NRF24L01 wireless communication module can be set to a variety of different working modes, including power-down mode, standby mode, and data packet processing mode. The functions and operations of each mode are as follows:


85fb18cfabf1e9a716aa9610acf33b6b.png


1. Power-down mode


In power-down mode, each function of the NRF24L01 is turned off to keep current consumption at a minimum. After entering the power-down mode, the NRF24L01 stops working, but the register contents remain unchanged. The power-down mode is controlled by the PWR_UP bit in the register.


2. Standby mode


Standby mode I reduces the average system consumption current while ensuring fast startup. In standby mode I, the crystal operates normally. In standby mode II, some of the clock buffers are in the operating mode. When the TX FIFO register on the transmitter side is empty and CE is high, it enters standby mode II. During standby mode, the contents of the register configuration words remain unchanged.


3. Packet processing mode


NRF24L01 packet processing modes include ShockBurst mode and enhanced ShockBurst mode.


(1) In ShockBurst mode, the NRF24L01 can be connected to a lower cost low-speed MCU. High-speed signal processing is handled by the chip's internal RF protocol, while data transmission is performed through the SPI interface at a data rate that depends on the interface speed of the MCU itself. The ShockBurst mode reduces the average current consumption for communication by allowing low-speed communication with the MCU while maintaining high-speed communication in the wireless section.


(2) The enhanced ShockBurst mode makes the execution of the two-way link protocol simpler and more efficient. In a typical two-way link, the sender requests the end device to send an answer signal after receiving data so that the sender can detect whether data is lost. If data loss occurs, the lost data is recovered by a retransmit function. The enhanced ShockBurstTM mode controls both the answer and retransmit functions without increasing the workload of the MCU.



Ⅶ. Working principle of NRF24L01


7e3968f881beb6e9f6a1dfe7bc595002.png


When transmitting data, we first configure the NRF24L01 into transmit mode. Next, we write the receiving node address TX_ADDR and valid data TX_PLD into the buffer area of NRF24L01 through the SPI port in sequence. TX_PLD must be written continuously while CSN is low, while TX_ADDR only needs to be written once when transmitting. Then, we set CE high and hold it high for at least 10 microseconds, and then start transmitting data after a delay of 130 microseconds. If auto-answer is enabled, NRF24L01 will enter the receive mode immediately after transmitting data to receive the acknowledge signal (the auto-answer receiving address should be consistent with the receiving node address TX_ADDR). If a response is received, the communication is considered successful, the TX_DS flag will be set high, and TX_PLD will be cleared from the TX FIFO. If no reply is received, the NRF24L01 will automatically retransmit the data (if automatic retransmission is enabled). If the number of retransmissions (ARC) reaches the upper limit, the MAX_RT flag will be set high, and the data in the TX FIFO will be retained for retransmission. When the MAX_RT or TX_DS flag is set high, the IRQ will be cleared and an interrupt will be generated to notify the MCU. Finally, if the transmission is successful and CE is low, the NRF24L01 enters idle mode 1. If there is data in the transmit stack and CE is high, enter the next transmission. If there is no data in the transmit stack and CE is high, it enters idle mode 2.


When receiving data, we first configure the NRF24L01 into receive mode. Then it delays for 130 microseconds to enter the receiving state and wait for the arrival of data. When the receiver detects a valid address and CRC, it stores the data packet in the RX FIFO and sets the interrupt flag bit RX_DR high, making the IRQ low, generating an interrupt, and notifying the MCU to read the data. If the auto-answer function is enabled at this time, the receiver will enter the transmitting state at the same time and send back a response signal. Finally, if reception is successful and CE goes low, the NRF24L01 enters Idle Mode 1.



Ⅷ. How to use two NRF24L01 modules for wireless data transmission?


First, Module A and Module B need to be set on the same channel, and make sure that the transmit data length of Module A is equal to the receive data length of Module B. Then, we configure a receive address ADDR_B for module B. Next, configure the transmit address of module A to be ADDR_B as well, so that module B can receive the data correctly when module A sends it.


In fact, the receive address ADDR_B configured for module B is only one of its multiple receive data channels. A module usually has six receive channels, which means that module B can receive data from six different modules at the same time. Of course, Module B can only send data at the same time because sending data on the same channel at the same time may cause interference.




Frequently Asked Questions


1. Is NRF24L01 reliable?


To conclude, the nRF24L01 is a reliable solution if you want to build a low-cost transceiver RF module for your project. Contact us if you need further clarification on the device or how to integrate it into your project.


2. What is the maximum distance of nRF24L01?


It uses the 2.4 GHz band and it can operate with baud rates from 250 kbps up to 2 Mbps. If used in open space and with lower baud rate its range can reach up to 100 meters.


3. What does nRF24L01 do?


The nRF24L01 is a single chip 2.4GHz transceiver with an embedded baseband protocol engine (Enhanced ShockBurst™), designed for ultra low power wireless applications. The nRF24L01 is designed for operation in the world wide ISM frequency band at 2.400 - 2.4835GHz.


4. What is the difference between NRF24L01 and NRF24L01?


They are actually similar, nRF24L01+ is an upgraded version of nRF24L01 chip. nRF24L01 only supports 1Mbps and 2Mbps transmission rate, while nRF24L01+ also supports 250Kbps transmission rate.


5. Does NRF24L01 use WiFi?


But sometimes you might just want to be able to send or receive without having to use WiFi or Bluetooth, well then the NRF24L01 would be a good choice. Unlike the others it uses radio wave to communicate between modules, the same type used in cordless phones in your house.