

The NRF24 is a low-power, 2.4 GHz wireless transceiver module designed for short-range communication. Manufactured by NRF24, this module is widely used in applications such as remote controls, wireless sensors, and IoT devices. It supports multiple communication channels and can operate in both star and mesh network topologies, making it a versatile choice for wireless data transmission.








The NRF24 module is designed to provide reliable and efficient wireless communication. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Operating Frequency | 2.4 GHz ISM band |
| Data Rate | 250 kbps, 1 Mbps, 2 Mbps |
| Operating Voltage | 1.9V to 3.6V |
| Current Consumption | 11.3 mA (transmit at 0 dBm) |
| Sleep Mode Current | 900 nA |
| Communication Range | Up to 100 meters (line of sight) |
| Modulation Technique | GFSK (Gaussian Frequency Shift Keying) |
| Number of Channels | 125 |
| Maximum Payload Size | 32 bytes |
| Interface | SPI (Serial Peripheral Interface) |
| Operating Temperature | -40°C to +85°C |
The NRF24 module typically has 8 pins. Below is the pinout and description:
| Pin | Name | Description |
|---|---|---|
| 1 | GND | Ground connection |
| 2 | VCC | Power supply (1.9V to 3.6V) |
| 3 | CE | Chip Enable: Activates the module for transmission or reception |
| 4 | CSN | Chip Select Not: Used to enable or disable SPI communication |
| 5 | SCK | Serial Clock: SPI clock signal |
| 6 | MOSI | Master Out Slave In: SPI data input |
| 7 | MISO | Master In Slave Out: SPI data output |
| 8 | IRQ | Interrupt Request: Indicates data received or transmission complete (optional) |
The NRF24 module is commonly used in wireless communication projects. Below are the steps to use it in a circuit:
VCC pin to the 3.3V pin on the Arduino UNO. Do not connect it to 5V, as the module is not 5V tolerant.GND pin to the GND pin on the Arduino.CE to any digital pin (e.g., D9).CSN to any digital pin (e.g., D10).SCK to the Arduino's SCK pin (D13).MOSI to the Arduino's MOSI pin (D11).MISO to the Arduino's MISO pin (D12).IRQ pin to a digital pin if you want to use interrupts.Below is an example code to send and receive data using the NRF24 module with the Arduino UNO. This code uses the popular RF24 library.
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
// Define the CE and CSN pins
#define CE_PIN 9
#define CSN_PIN 10
// Create an RF24 object
RF24 radio(CE_PIN, CSN_PIN);
// Define the address for communication
const byte address[6] = "00001";
void setup() {
Serial.begin(9600); // Initialize serial communication
radio.begin(); // Initialize the NRF24 module
radio.openWritingPipe(address); // Set the address for transmission
radio.setPALevel(RF24_PA_LOW); // Set power level to low
radio.stopListening(); // Set the module to transmit mode
}
void loop() {
const char text[] = "Hello, World!"; // Data to send
bool success = radio.write(&text, sizeof(text)); // Send data
if (success) {
Serial.println("Data sent successfully!");
} else {
Serial.println("Data transmission failed.");
}
delay(1000); // Wait for 1 second before sending again
}
VCC and GND to stabilize the power supply.No Communication Between Modules:
Short Communication Range:
Module Not Responding:
CE and CSN pins are correctly connected to the microcontroller.Q: Can the NRF24 module communicate with Bluetooth devices?
A: No, the NRF24 uses the 2.4 GHz ISM band but does not support Bluetooth protocols.
Q: What is the maximum range of the NRF24 module?
A: The range is up to 100 meters in line-of-sight conditions. Obstacles and interference can reduce the range.
Q: Can I use multiple NRF24 modules in a single network?
A: Yes, the NRF24 supports up to 6 data pipes, allowing multiple modules to communicate in a star or mesh topology.
Q: Is the NRF24 compatible with 5V microcontrollers?
A: The module itself is not 5V tolerant. Use a level shifter or voltage divider for safe operation with 5V microcontrollers.