Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use nRF24L01 2.4 GHz Radio Module: Examples, Pinouts, and Specs

Image of nRF24L01 2.4 GHz Radio Module
Cirkit Designer LogoDesign with nRF24L01 2.4 GHz Radio Module in Cirkit Designer

Introduction

The nRF24L01 is a low-power, high-performance transceiver module designed by Nordic Semiconductor for wireless communication in the 2.4 GHz ISM (Industrial, Scientific, and Medical) band. It is widely used in IoT (Internet of Things) applications, remote controls, wireless sensors, and other short-range data transmission systems. The module supports a data rate of up to 2 Mbps and features advanced power-saving modes, making it ideal for battery-powered devices.

Explore Projects Built with nRF24L01 2.4 GHz Radio Module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano RP2040 Connect Wireless Transmitter with nRF24L01 and Battery Power
Image of Measure Temperature a: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
This circuit consists of an Arduino Nano RP2040 Connect microcontroller interfaced with an nRF24L01 wireless transceiver module, powered by a 18650 Li-Ion battery. The Arduino is programmed to transmit data wirelessly at regular intervals using the nRF24L01 module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled NRF24L01 Wireless Communication System
Image of robot hand_01: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an NRF24L01 wireless communication module, suggesting it is designed for wireless data transmission. The Arduino Nano is configured to communicate with the NRF24L01 using SPI, with dedicated pins for MOSI, MISO, SCK, CE, and CSN. Additionally, multiple 200 Ohm resistors and flex resistors are connected in the circuit, possibly for voltage division or sensing applications, but their specific purpose is not clear without further context.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled NRF24L01 Wireless Communication System
Image of creato 3.0 receiver circuit diagram: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an NRF24L01 wireless communication module. The Arduino Nano is configured to control multiple devices through PWM signals on pins D2, D3, D4, and D5, which are connected to four 3-pin male connectors. The NRF24L01 module is connected to the Arduino's SPI interface (MOSI, MISO, SCK) and digital pins D7 and D8 for CE and CSN signals, enabling wireless communication capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano and NRF24L01 Wireless Communication Module
Image of Reciever: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an NRF24L01 wireless transceiver module via an adapter. The setup is designed for wireless communication, with the Arduino controlling the transceiver through SPI and digital I/O pins, and the code provided is a basic template for further development.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with nRF24L01 2.4 GHz Radio Module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Measure Temperature a: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
Arduino Nano RP2040 Connect Wireless Transmitter with nRF24L01 and Battery Power
This circuit consists of an Arduino Nano RP2040 Connect microcontroller interfaced with an nRF24L01 wireless transceiver module, powered by a 18650 Li-Ion battery. The Arduino is programmed to transmit data wirelessly at regular intervals using the nRF24L01 module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of robot hand_01: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
Arduino Nano Controlled NRF24L01 Wireless Communication System
This circuit features an Arduino Nano microcontroller interfaced with an NRF24L01 wireless communication module, suggesting it is designed for wireless data transmission. The Arduino Nano is configured to communicate with the NRF24L01 using SPI, with dedicated pins for MOSI, MISO, SCK, CE, and CSN. Additionally, multiple 200 Ohm resistors and flex resistors are connected in the circuit, possibly for voltage division or sensing applications, but their specific purpose is not clear without further context.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of creato 3.0 receiver circuit diagram: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
Arduino Nano Controlled NRF24L01 Wireless Communication System
This circuit features an Arduino Nano microcontroller interfaced with an NRF24L01 wireless communication module. The Arduino Nano is configured to control multiple devices through PWM signals on pins D2, D3, D4, and D5, which are connected to four 3-pin male connectors. The NRF24L01 module is connected to the Arduino's SPI interface (MOSI, MISO, SCK) and digital pins D7 and D8 for CE and CSN signals, enabling wireless communication capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Reciever: A project utilizing nRF24L01 2.4 GHz Radio Module in a practical application
Arduino Nano and NRF24L01 Wireless Communication Module
This circuit features an Arduino Nano microcontroller interfaced with an NRF24L01 wireless transceiver module via an adapter. The setup is designed for wireless communication, with the Arduino controlling the transceiver through SPI and digital I/O pins, and the code provided is a basic template for further development.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Wireless sensor networks
  • Remote control systems (e.g., drones, RC cars)
  • Home automation
  • IoT devices
  • Wireless data logging
  • Industrial monitoring systems

Technical Specifications

The following table outlines the key technical details of the nRF24L01 module:

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 (TX at 0 dBm), 13.5 mA (RX)
Power Down Mode Current 900 nA
Communication Interface SPI (Serial Peripheral Interface)
Maximum Output Power 0 dBm
Sensitivity -94 dBm at 250 kbps
Range Up to 100 meters (line of sight)
Modulation Scheme GFSK (Gaussian Frequency Shift Keying)
Number of Channels 125
Operating Temperature -40°C to +85°C

Pin Configuration

The nRF24L01 module typically has an 8-pin interface. 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 RX or TX mode
4 CSN Chip Select Not: SPI enable (active low)
5 SCK Serial Clock: SPI clock input
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 (active low)

Usage Instructions

How to Use the nRF24L01 in a Circuit

  1. Power Supply: Connect the VCC pin to a regulated 3.3V power source. Do not connect it directly to 5V as it may damage the module. Use a 10 µF capacitor across VCC and GND for stability.
  2. SPI Interface: Connect the SPI pins (CSN, SCK, MOSI, MISO) to the corresponding SPI pins on your microcontroller.
  3. CE Pin: Use a GPIO pin on the microcontroller to control the CE pin. Set it high to enable RX/TX mode and low for standby.
  4. IRQ Pin: Optionally connect the IRQ pin to a GPIO pin on the microcontroller to handle interrupts for events like data received or transmission complete.

Best Practices

  • Use a 3.3V logic level microcontroller or a level shifter if using a 5V microcontroller.
  • Keep the antenna area clear of obstructions for optimal range.
  • Use a decoupling capacitor (e.g., 10 µF) near the power pins to reduce noise.
  • For longer range, consider using the nRF24L01+PA+LNA variant with an external antenna.

Example: Connecting to Arduino UNO

The nRF24L01 can be easily interfaced with an Arduino UNO. Below is an example wiring diagram:

nRF24L01 Pin Arduino UNO Pin
GND GND
VCC 3.3V
CE Pin 9
CSN Pin 10
SCK Pin 13
MOSI Pin 11
MISO Pin 12
IRQ Not connected (optional)

Example Arduino Code

#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() {
  // Initialize serial communication
  Serial.begin(9600);

  // Initialize the nRF24L01 module
  radio.begin();

  // Set the address for the module
  radio.openWritingPipe(address);

  // Set the module to send data
  radio.setPALevel(RF24_PA_LOW);

  // Start the radio in standby mode
  radio.stopListening();
}

void loop() {
  // Send a message
  const char text[] = "Hello, world!";
  bool success = radio.write(&text, sizeof(text));

  // Print the result to the serial monitor
  if (success) {
    Serial.println("Message sent successfully!");
  } else {
    Serial.println("Message failed to send.");
  }

  // Wait for a second before sending the next message
  delay(1000);
}

Troubleshooting and FAQs

Common Issues

  1. No Communication Between Modules

    • Ensure both modules are configured with the same address and data rate.
    • Verify the wiring, especially the SPI connections.
    • Check the power supply voltage (must be 3.3V).
  2. Short Range or Unstable Connection

    • Ensure the antenna area is unobstructed.
    • Use a decoupling capacitor near the power pins.
    • Check for interference from other 2.4 GHz devices.
  3. Module Not Responding

    • Verify the CE and CSN pin connections.
    • Ensure the SPI clock speed is within the module's specifications (max 10 MHz).

FAQs

Q: Can I use the nRF24L01 with a 5V microcontroller?
A: Yes, but you must use a level shifter for the SPI pins and power the module with 3.3V.

Q: What is the maximum range of the nRF24L01?
A: The range is up to 100 meters in line-of-sight conditions. For longer range, use the nRF24L01+PA+LNA variant.

Q: How many devices can communicate simultaneously?
A: The nRF24L01 supports up to 6 data pipes, allowing communication with up to 6 devices.

Q: Can I use multiple nRF24L01 modules in the same area?
A: Yes, the module supports 125 channels, allowing multiple modules to operate without interference.