Last updated
Last updated
The NRF24L01 is a highly integrated, ultra-low-power wireless transceiver module designed by Nordic Semiconductor. Operating in the 2.4 GHz ISM (Industrial, Scientific, and Medical) band, it enables wireless data communication between microcontroller-based devices such as Arduino, Raspberry Pi, and ESP modules. The NRF24L01 is particularly popular in applications such as remote control systems, sensor networks, and IoT projects, thanks to its cost-effectiveness and ease of use
Operates in the 2.4 GHz ISM band.
Multi-channel capability with 125 selectable channels.
Data rates of 250 Kbps, 1 Mbps, and 2 Mbps.
Range up to 100 meters in open spaces without obstacles.
Automatic packet handling, including auto-retransmission and auto-acknowledgment.
Multiceiver function: can handle up to 6 data pipelines (addresses) simultaneously.
SPI interface for easy integration with microcontrollers.
Low power consumption (idle mode: 900nA).
Onboard 32-byte FIFO buffers for TX and RX
Operating Voltage: 1.9V to 3.6V (3.3V is optimal).
Frequency Range: 2.4 GHz to 2.525 GHz.
Maximum Data Rate: 2 Mbps.
Communication Channels: 125 selectable.
Power Consumption:
TX at 0 dBm: 11.3 mA.
RX in receiving mode: 12.3 mA.
Power down mode: 900 nA.
Range: Up to 100 meters (line of sight).
Max Payload Size: 32 bytes per packet
Pin | Function | Description |
---|---|---|
GND | Ground | Connect to system ground. |
VCC | Power Supply | 1.9V to 3.6V (3.3V recommended). |
CE | Chip Enable | Controls TX/RX modes. High = active. |
CSN | Chip Select | Active low. Controls SPI communication. |
SCK | Serial Clock | Clock signal for SPI interface. |
MOSI | Master Out Slave In | Data line for SPI communication (data input). |
MISO | Master In Slave Out | Data line for SPI communication (data output). |
IRQ | Interrupt Request | Signals when new data is available (optional)【29†source】【31†source】. |
Module Size: Approximately 15 mm x 29 mm.
Compact and easy to integrate into a wide range of projects with space constraints【30†source】.
To use the NRF24L01 module, connect it to a microcontroller (such as Arduino) via the SPI interface. Libraries like RF24 are available for Arduino, simplifying communication between devices. Typical usage involves:
Setting the module in either transmitter or receiver mode.
Sending or receiving data packets using the radio.write() and radio.read() functions.
Adjusting the module settings, such as data rate, power level, and channels, for optimal performance.
Connect the VCC to 3.3V and GND to ground.
Use digital pins for CE, CSN, MOSI, MISO, and SCK connections.
Implement code to configure the module and establish wireless communication