Phipps Electronics

Order within the next 

FREE SHIPPING OVER $199

50,000+ ORDERS

WORLDWIDE SHIPPING

SSL SECURED

← Back
You are here:
Print

NRF24L01 2.4Ghz Wireless Radio Transceiver Module – Support Documentation

The nRF24L01 is a low-cost, ultra-low power 2.4GHz RF transceiver module developed by Nordic Semiconductor. It operates in the 2.4GHz ISM band and is widely used for wireless communication in various applications, including remote controls, wireless sensors, and home automation systems.

Key Features

  • Operating Frequency: 2.4GHz ISM band (2.400–2.4835GHz)
  • Data Rates: 250kbps, 1Mbps, 2Mbps
  • Ultra-low power consumption
  • Operating Voltage: 1.9V to 3.6V (typically 3.3V)
  • SPI Interface for communication
  • Enhanced ShockBurst™ protocol for automatic packet handling
  • MultiCeiver™ technology supporting up to 6 data pipes
  • Built-in 16MHz crystal oscillator
  • Compact size: approximately 15mm x 29mm

Pinout

Pin Name Function
1 GND Ground
2 VCC Power supply (1.9V to 3.6V, typically 3.3V)
3 CE Chip Enable (activates RX or TX mode)
4 CSN Chip Select Not (SPI chip select)
5 SCK SPI Clock
6 MOSI Master Out Slave In (SPI data input)
7 MISO Master In Slave Out (SPI data output)
8 IRQ Interrupt Request (active low)

Setting Up the nRF24L01 Module

  1. Power Supply: Ensure a stable 3.3V power supply. The module is sensitive to voltage fluctuations and may not operate correctly if powered with 5V directly.
  2. Connections: Connect the module to your microcontroller using the SPI interface. Typical connections for an Arduino Uno are:
    • VCC to 3.3V
    • GND to GND
    • CE to digital pin 9
    • CSN to digital pin 10
    • SCK to digital pin 13
    • MOSI to digital pin 11
    • MISO to digital pin 12
    • IRQ can be left unconnected or connected to an interrupt-capable pin if needed
  3. Library: Use the RF24 library by TMRh20 for Arduino to simplify communication with the module.
  4. Initialization: In your code, initialize the module with the appropriate settings, including data rate, channel, and addresses.

Example Arduino Code

#include <SPI.h>
#include <RF24.h>

RF24 radio(9, 10); // CE, CSN

const byte address[6] = "00001";

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_LOW);
  radio.stopListening();
}

void loop() {
  const char text[] = "Hello, world!";
  radio.write(&text, sizeof(text));
  delay(1000);
}

Troubleshooting

  • Module Not Responding: Ensure the module is powered with 3.3V. Using 5V can damage the module.
  • Unstable Communication: Add a 10µF capacitor between VCC and GND close to the module to stabilize the power supply.
  • Short Range: Check for interference in the 2.4GHz band. Try changing the communication channel.
  • Data Not Received: Ensure both transmitter and receiver are set to the same channel and data rate, and that the addresses match.

Frequently Asked Questions

Can I connect the nRF24L01 module directly to a 5V microcontroller?

While the module’s data pins are 5V tolerant, the VCC pin must be supplied with 3.3V. Connecting VCC to 5V can damage the module.

What is the maximum range of the nRF24L01 module?

The range varies depending on the environment and data rate. In open space, it can reach up to 100 meters at lower data rates.

Can multiple nRF24L01 modules communicate simultaneously?

Yes, the module supports up to 6 data pipes, allowing communication with multiple devices simultaneously.

Do I need an external antenna?

The standard nRF24L01 module has a built-in PCB antenna. For extended range, versions with external antennas are available.

Conclusion

The nRF24L01 2.4GHz Wireless Radio Transceiver Module is a versatile and cost-effective solution for wireless communication in various applications. By following the setup guidelines and utilizing the RF24 library, users can implement reliable wireless communication between microcontrollers.

Was this article helpful?
Please Share Your Feedback
How Can We Improve This Article?
Table of Contents
Scroll to Top