Stufin
Home Quick Cart Profile

NRF24L01 Adapter Board

Buy Now on Stufin

Operating Frequency

2.4GHz

Data Transfer Rate

Up to 2Mbps

Range

Up to 100 meters (depending on environment and configuration)

Power Consumption

Typically 12mA (transmit) and 22mA (receive)

Voltage Range

1.9-3.6V (regulated on-board)

Interface

SPI (Serial Peripheral Interface)

Size

20mm x 15mm (typical)

Applications

The NRF24L01 Adapter Board is suitable for a wide range of IoT applications, including

Wireless sensor networks

Remote control systems

Home automation devices

Wearable devices

Robotics and autonomous systems

Industrial automation and monitoring systems

Resources

Datasheet

Nordic Semiconductor NRF24L01+ datasheet

Documentation

NRF24L01 Adapter Board user manual and application notes

Drivers and Libraries

Available for various microcontrollers and development platforms

Pin Configuration

  • NRF24L01 Adapter Board Pinout Documentation
  • The NRF24L01 Adapter Board is a breakout board designed to facilitate the use of the popular NRF24L01 2.4GHz transceiver module. The board provides a convenient way to connect the NRF24L01 module to a microcontroller or other devices. This documentation explains the functions of each pin on the adapter board.
  • Pinout:
  • 1. VCC (3.3V Power Supply)
  • Description: Power supply pin for the NRF24L01 module.
  • Connection: Connect to a 3.3V power supply, such as a battery or a voltage regulator.
  • Note: Make sure to use a 3.3V power supply, as the NRF24L01 module is not 5V tolerant.
  • 2. GND (Ground)
  • Description: Ground pin for the NRF24L01 module.
  • Connection: Connect to the ground of your power supply or microcontroller.
  • 3. CSN (Chip Select)
  • Description: Active low chip select pin for the NRF24L01 module.
  • Connection: Connect to a digital output pin on your microcontroller, used to enable/disable the NRF24L01 module.
  • 4. CE (Chip Enable)
  • Description: Active high chip enable pin for the NRF24L01 module.
  • Connection: Connect to a digital output pin on your microcontroller, used to enable/disable the NRF24L01 module.
  • 5. SCK (SPI Clock)
  • Description: Clock pin for the SPI interface.
  • Connection: Connect to the SPI clock pin on your microcontroller.
  • 6. MOSI (SPI Master Out Slave In)
  • Description: Data output pin for the SPI interface.
  • Connection: Connect to the SPI MOSI pin on your microcontroller.
  • 7. MISO (SPI Master In Slave Out)
  • Description: Data input pin for the SPI interface.
  • Connection: Connect to the SPI MISO pin on your microcontroller.
  • 8. IRQ (Interrupt Request)
  • Description: Interrupt pin for the NRF24L01 module, used to indicate transmission completion or error.
  • Connection: Connect to a digital input pin on your microcontroller, used to handle interrupts.
  • Additional Notes:
  • The NRF24L01 module operates at 3.3V, so make sure to use level shifters or voltage dividers if your microcontroller operates at a different voltage.
  • Use a 10uF decoupling capacitor between VCC and GND to ensure stable power supply.
  • Keep the antenna away from other components and metal objects to ensure optimal radio frequency performance.
  • Follow the datasheet and application notes for the NRF24L01 module and your microcontroller for specific connection and usage guidelines.
  • Connection Example:
  • Here's an example connection diagram for connecting the NRF24L01 Adapter Board to an Arduino Uno:
  • VCC: Connect to Arduino Uno's 3.3V pin
  • GND: Connect to Arduino Uno's GND pin
  • CSN: Connect to Arduino Uno's digital pin 10
  • CE: Connect to Arduino Uno's digital pin 9
  • SCK: Connect to Arduino Uno's SPI clock pin (SCK)
  • MOSI: Connect to Arduino Uno's SPI MOSI pin (MOSI)
  • MISO: Connect to Arduino Uno's SPI MISO pin (MISO)
  • IRQ: Connect to Arduino Uno's digital pin 2 (interrupt capable)
  • Remember to consult the datasheets and application notes for your specific microcontroller and NRF24L01 module for detailed connection and usage guidelines.

Code Examples

NRF24L01 Adapter Board Documentation
Overview
The NRF24L01 Adapter Board is a wireless communication module designed to facilitate wireless data transmission between devices. It is based on the popular NRF24L01+ chip, which operates at 2.4GHz frequency and has a data transfer rate of up to 2Mbps. This adapter board provides a convenient way to integrate the NRF24L01+ chip into various projects, offering a simple and cost-effective solution for wireless communication.
Key Features
2.4GHz frequency band
 Up to 2Mbps data transfer rate
 125 available channels
 Up to 100m transmission range
 Low power consumption (12mA in transmission mode, 30A in standby mode)
 Compatible with 3.3V and 5V microcontrollers
Pinout
The NRF24L01 Adapter Board has a standard 8-pin interface:
| Pin | Function |
| --- | --- |
| VCC | Power supply (3.3V or 5V) |
| GND | Ground |
| CSN | Chip Select (active low) |
| CE | Chip Enable (active high) |
| SCK | Serial Clock |
| MOSI | Master Out Slave In (data transmission) |
| MISO | Master In Slave Out (data reception) |
| IRQ | Interrupt Request |
Code Examples
### Example 1: Simple Wireless Communication using Arduino
This example demonstrates how to use the NRF24L01 Adapter Board to establish a simple wireless communication between two Arduino boards.
Transmitter Code (Arduino)
```c
#include <RF24.h>
#define CE_PIN 9   // Chip Enable pin
#define CSN_PIN 10 // Chip Select pin
RF24 radio(CE_PIN, CSN_PIN);
void setup() {
  radio.begin();
  radio.setChannel(0x60); // Set channel to 0x60
}
void loop() {
  char data[] = "Hello, world!";
  radio.stopListening(); // Stop listening and start transmitting
  radio.write(data, sizeof(data));
  delay(1000);
}
```
Receiver Code (Arduino)
```c
#include <RF24.h>
#define CE_PIN 9   // Chip Enable pin
#define CSN_PIN 10 // Chip Select pin
RF24 radio(CE_PIN, CSN_PIN);
void setup() {
  radio.begin();
  radio.setChannel(0x60); // Set channel to 0x60
  radio.startListening(); // Start listening for incoming data
}
void loop() {
  char data[32];
  if (radio.available()) {
    radio.read(data, sizeof(data));
    Serial.println(data);
  }
  delay(1000);
}
```
### Example 2: Bi-Directional Wireless Communication using Raspberry Pi (Python)
This example demonstrates how to use the NRF24L01 Adapter Board to establish bi-directional wireless communication between a Raspberry Pi and another NRF24L01-equipped device.
Raspberry Pi Code (Python)
```python
import RPi.GPIO as GPIO
import time
from nrf24 import NRF24
GPIO.setmode(GPIO.BCM)
# NRF24L01+ pin connections on Raspberry Pi
CE_PIN = 17
CSN_PIN = 24
SCK_PIN = 23
MOSI_PIN = 19
MISO_PIN = 21
# Initialize NRF24L01+ module
nrf = NRF24(CE_PIN, CSN_PIN, SCK_PIN, MOSI_PIN, MISO_PIN)
nrf.begin()
# Set channel and data rate
nrf.set_channel(0x60)
nrf.set_data_rate(NRF24.BR_2MBPS)
while True:
  # Send and receive data
  data = "Hello, world!"
  nrf.stop_listening()
  nrf.write(data.encode('utf-8'))
  time.sleep(1)
nrf.start_listening()
  if nrf.available():
    recv_data = nrf.read()
    print(recv_data.decode('utf-8'))
  time.sleep(1)
```
These examples demonstrate the basic usage of the NRF24L01 Adapter Board for wireless communication. You can modify and expand upon these examples to suit your specific project requirements.