Supplier photo of an assembled radio kit with a purple circuit board, telescopic antenna and clear case.
Supplier photo
Temu affiliate offer · Project idea

Build a radio

Soldering required. Check the supplied parts and board revision.

View kit on Temu

Tricky Circuit may earn a commission through these links. Product ideas have not been bench-tested by Tricky Circuit and are not verified lesson parts lists.

🧠 What is NRF24L01?

The NRF24L01 is a 2.4GHz transceiver module that allows your Arduino boards (or robots!) to communicate wirelessly — both sending and receiving data!

It’s ideal for robot-to-robot comms, wireless sensors, remote controllers, and DIY IoT projects. 🔗📶


⚙️ Key Features

FeatureDescription
Frequency2.4 GHz (ISM band)
Range~100m (with PA+LNA version)
Data rateUp to 2 Mbps
CommunicationSPI
Voltage3.3V ONLY (⚠️ not 5V-tolerant!)
Multi-device modeSupports 6 data pipes
Power consumptionVery low (great for batteries) 🔋

⚠️ Needs 3.3V — connecting VCC to 5V will fry it!


🧩 Pinout (8 pins)

PinFunction
GNDGround
VCC3.3V power only ⚠️
CEChip Enable
CSNSPI Chip Select
SCKSPI Clock
MOSISPI Data to module
MISOSPI Data from module
IRQInterrupt (optional)

🔗 Wiring with Arduino UNO

NRF24L01Arduino UNO
GNDGND
VCC3.3V
CED9
CSND10
SCKD13
MOSID11
MISOD12
IRQNot used

🔋 Pro tip: Add a 10µF capacitor between VCC and GND to stabilize power (especially if using the PA+LNA long-range version).


📦 Libraries to Use

Install via Arduino IDE Library Manager:

  • RF24 by TMRh20 (most popular & well-documented)
  • Comes with examples like GettingStarted, pingpair, etc.

💬 Arduino Code Example (Transmitter)

#include <SPI.h>
#include <nRF24L01.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(); // Set as transmitter
}

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

👯 Use a second Arduino with the same code, but with radio.startListening() instead — and boom, wireless comms!


🧪 Use Cases

  • 🔧 Wireless remote control (joysticks, sliders)
  • 🤖 Robot-to-robot communication
  • 🌐 Sensor networks (e.g., temperature nodes)
  • 🧠 Swarm robotics
  • 📡 Home automation systems

⚠️ Tips & Gotchas

⚠️ 3.3V only — use AMS1117 regulator if needed
⚠️ Power-hungry on transmit — use capacitor
⚠️ Avoid long jumper wires (can cause instability)
⚠️ Use separate 3.3V LDO if your Arduino’s regulator is weak


🚀 Variants

VersionFeatures
NRF24L01Standard ~100m
NRF24L01+PA+LNALong-range, with antenna booster 📡
SMD versionsCompact & SMD-friendly
📡Broadcast the signal — amplify the connection.

Leave a Reply

Temu affiliate offers

Find your next electronics project

Explore these do-it-yourself project kits. Check the selected option, included parts and instructions on each offer.

Tricky Circuit may earn a commission if you buy through these Temu affiliate links. These are product ideas; they have not been bench-tested by Tricky Circuit and are not verified lesson parts lists.

Supplier photo of an assembled infinity mirror light cube illuminated on a dark background.

Supplier product photo

Build an infinity light cube

Listing specifies 5-volt direct current. Soldering required; battery and glue not included.

View kit on Temu

Supplier photo of a breadboard, jumper wires and assorted electronic components in a plastic storage case.

Supplier product photo

Try breadboard experiments

Breadboard, wires and assorted parts. Arduino controller board not included.

View kit on Temu

Supplier photo of an assembled blue surface-mount soldering practice board with a circular ring of small lights.

Supplier product photo

Solder a chasing-light board

Surface-mount soldering practice. Battery and battery holder not included.

View kit on Temu