NRF24L01 Module:Pinout ,Features& Principle
In modern communication, the RF transmitter provides wireless transmission of received serial data at rates ranging from 1Kbps to 10Kbps, while the RF receiver receives this transmitted data. Both the RF transmitter and RF receiver operate within the same frequency range. The NRF24L01 is a notable wireless transceiver RF module used for SPI communication, boasting a transmission speed of 2Mbps.
This single-chip 2.4GHz transceiver module is employed in data transmission. Alternatives to the NRF24L01 module include the HC12, NRF905, 433MHz RF module, Bluetooth, ESP8266, GSM, Xbee, and Lora. This article provides a brief overview of the pin configuration, circuit diagram, specifications, features, and applications of the NRF24L01 module.
What is NRF24L01 ?
The NRF24L01 is a wireless transceiver RF module capable of both sending and receiving data. Operating on the 2.4 GHz ISM band, this technology is approved for engineering applications in nearly all countries. When used efficiently, this module can cover a distance of 100 meters (200 feet), making it ideal for wireless remote control projects.
Powered by 3.3 Volts, the NRF24L01 module can be easily integrated into both 3.2 Volts and 5 Volts systems. Each module has an address range of 125, enabling communication with up to 6 other modules and allowing multiple wireless units to communicate within a specific location. Consequently, this module is utilized in mesh and other types of networks.
The NRF24L01 is a radio transceiver module (SPI protocol) designed to send and receive data at ISM operating frequencies ranging from 2.4 to 2.5 GHz. This transceiver module includes a frequency generator, beat controller, power amplifier, crystal oscillator, modulator, and demodulator. It consumes only 11.3 mA at 0 dBm transmit power and 13.5 mA in receive mode.
The high over-the-air data rate, combined with sleep mode, makes it highly preferred for ultra-low power applications. The internal voltage regulator ensures a high power rejection ratio and power band control. The module's compact design allows it to be easily used in confined spaces.
Operating Modes:
The NRF24L01 operates in three modes: transmitter mode, receiver mode, and transceiver (transmitter and receiver) mode, which are described below.
- In transmitting mode, at 0 dBm power, the NRF24L01 uses only 11.3 mA of current.
- In receiving mode, it consumes 13.5 mA of current.
- In transceiver mode, the NRF24L01 module is utilized for long-distance and quick data transmission using the SPI protocol.
Pin Configuration/Pin Diagram:
The NRF24L01 is an 8-pin wireless transceiver module equipped with special pins that facilitate communication with all boards and microcontrollers. This device can interface with an Arduino or an external microcontroller through its pin functions. The pin configuration/pin diagram of the NRF24L01 is illustrated below.
Pin Configuration:
- Pin 1 (GROUND/Vss): This is the common ground connection for the system.
- Pin 2 (VCC): This pin is for the 3.3 Volts power supply to the module. The NRF24L01 module has two power supply pins for operation.
- Pin 3 (CE - Chip Enable): An input pin that enables data transmission and reception control in transmitter and receiver modes. It activates SPI communication.
- Pin 4 (CSN - Chip Select Not): An active-high pin used to send SPI commands or retrieve data from the chip on the SPI bus. It facilitates communication between the module and the microcontroller. When active low, the SPI is disabled, and the NRF24L01 starts listening to data on the SPI port for processing.
- Pin 5 (SCK - Serial Clock): This pin handles the clock pulse for the NRF24L01, enabling SPI communication by transmitting data between the microcontroller and the module according to the clock pulse.
- Pin 6 (MOSI - Master Out Slave In): The microcontroller transmits data via SPI to the NRF24L01 module. The microcontroller acts as the master, and the NRF24L01 acts as the slave. This pin connects to the MOSI pin on the microcontroller SPI interface. The NRF24L01 module only sends data after a request from the microcontroller.
- Pin 7 (MISO - Master In Slave Out): This pin connects to the MISO pin of the microcontroller. Data transmitted from the NRF24L01 module via the SPI bus is received by the microcontroller, with the NRF24L01 acting as the master and the microcontroller as the slave.
- Pin 8 (IRQ - Interrupt Pin): An active-low pin. This module has three interrupt pins and generates an interrupt whenever new data is available on the SPI bus. It is also used for sending feedback to the sender.
- The additional or special pins of the NRF24L01 wireless transceiver module are:
- Pin 9 (XC2): Used for the crystal analog output.
- Pin 10 (XC1): Refers to the crystal analog input.
- Pin 11 (VDD_PA): Used as a power amplifier.
- Pin 12 (ANT1): Used for interfacing antennas.
- Pin 14 (ANT2): Used for interfacing antennas.
- Pin 15 (VSS): Refers to the common ground connection. The module has two common ground connections for operation with the microcontroller.
- Pin 16 (IREF): Used for reference current.
- Pin 17 (DVDD): Refers to the digital positive supply for decoupling.
NRF24L01 Technical Specifications:
The technical specifications and features of the NRF24L01 are as follows:
- It is a transceiver RF module with 2.4GHz frequency.
- The operating voltage is 3.3 Volts.
- The nominal current value is 50mA.
- The maximum operating current is 250mA.
- It covers a distance of 50-200 feet.
- It uses the SPI communication protocol.
- The baud rate range is 250kbps to 2Mbps.
- The channel range is 125.
- It supports a maximum of 6 nodes.
- It is a cost-effective wireless solution.
- It is a single-chip GFSK transceiver module with OSI link layer hardware.
- It provides auto ACK, retransmit, address, and CRC computation.
- The data rate over the air is 1Mbps or 2Mbps.
- The speed of the digital interface (SPI) is 0-8Mbps.
- The RF channel operation range is 125.
- It offers short switching times for frequency hopping.
- It is fully RF compatible with NRF24XX.
- The tolerance signal input is 5V.
- The power supply range is 1.9V to 3.6V.
Circuit Diagram/How to Use:
The NRF24L01 module is extensively used in mesh networks, other types of networking applications, data transmissions, toys, remote controls, computers, games, and electronic devices. Let's explore the circuit diagram and learn how to use the NRF24L01 module with a microcontroller. The components required for interfacing the NRF24L01 with a microcontroller are:
- One microcontroller unit
- One NRF24L01 module
- Power supply
The NRF24L01 module operates using SPI communication. This module can be used with both 3.3V and 5V microcontrollers, but it requires an SPI port. More information on using the module via SPI can be found in the following datasheet:
The diagram illustrates how the module connects to the microcontroller. Although we discussed 3.3V microcontrollers here, the same applies to 5V microcontrollers. The SPI pins (MISO, MOSI, and SCK) are connected to the microcontroller’s SPI pins, and the signal pins (CE and CSN) are connected to the microcontroller’s GPIO pins.
By connecting or interfacing the module with an Arduino, you can use ready-made libraries such as the R24 library. This library allows the NRF24L01 to easily interface with the Arduino using just a few lines of code. If you are using a different microcontroller, you should refer to the datasheet to learn how to set up SPI communication.
The NRF24L01 RF module can be challenging to use, even though there are several clone versions available on the market. If you encounter issues with its operation, add 0.1uF and 10uF capacitors in parallel to the ground and supply (VCC) pins. Ensure that the 3.3 Volts supply is noise-free and clean.
How to Use NRF24L01 as an SPI Transmitter:
When using the NRF24L01 as a transmitter, it facilitates data transmission to another module over the signal channel. The code required for the NRF24L01 transmitter is provided below.
#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>
RF24 radio(3, 2);
void setup()
{
radio. begin();
radio.openWritingPipe(10101);
radio.stoplistening();
}
void loop()
{
const char data[] = “DATA”;
radio.write(&data, sizeof(data));
delay(2000);
}
#include <nRF24L01.h>
#include <RF24.h>
#include <SPI.h>
RF24 radio(3, 2);
void setup()
{
radio.begin();
radio.openReadingPipe(0,00001);
radio.startListening();
}
void loop()
{
if (radio.available())
{
char data[32] = {0};
radio.read(&data, sizeof(data));
}
}
Similarly, the code required when the NRF24L01 operates as an RF transmitter or SPI transmitter is provided below.
*/RF transmitter/*
include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN Pins
const uint64_t address = 0xF0F0F0F0E1LL;
void setup()
{
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop()
{
const char sendData[] = “This is a test!”;
radio.write(&sendData, sizeof(sendData));
delay(500);
}
Where to Use/Applications of NRF24L01:
A few applications of the NRF24L01 are listed below:
- Keyboards, wireless mice, and joysticks
- Wireless data communication systems
- Security and alarm systems
- Keyless entry
- Home automation systems
- Automotive applications
- Telemetry
- Surveillance
- Intelligent sports equipment
- Toys
- Industrial sensors
- Mesh networks
- Wireless control system applications
- RF remote control units
- Connected devices
For more information, please refer to the NRF24L01 datasheet at this link.
The NRF24L01 module is designed for long-distance and fast data transmission, operating with the SPI protocol and achieving a wireless transmission speed of about 2Mbps. Here is a question for you: “What are the differences between the NRF24L01 and NRF24L01+ modules?”
The Transmission System and Its Function
Human-Machine Interface(HMI) Technology [Explained]
Exploring Electronic Components: Innovations and Applications
Top 10 Common Electronic Components Guide
How to Test Automotive Relays (Guide)
What a Human Machine Interface system is and How it works
How does HMI Improve User Interaction in Control Systems?
Flexible Alternating Current Transmission System:Working and Types
Introduction to Flash Memory
DC Transmission: Types, Applications & Advantages