nRF24L01+ Wireless Link

Send packets between two Arduinos over a 2.4 GHz GFSK radio with auto-ACK and CRC handled by the chip.

Difficulty: Breadboard. Estimated build time: about 40 minutes. Estimated parts cost: about US$10.00. 4-line bill of materials. Compare supplier offers when available. A bidirectional point-to-point wireless link built from two Nordic nRF24L01+ modules and two Arduinos.

Build identical TX and RX nodes

Each node: one Arduino, one nRF24L01+, and a big electrolytic across the module’s V_CC (10 µF minimum, 100 µF preferred). The radio pulls short bursts of current that crash a thin breadboard rail otherwise. Connect SPI — SCK to D13, MISO to D12, MOSI to D11, CSN to D10, CE to D9. The module is 3.3 V only — do not feed it 5 V or you’ll destroy it.

Install the RF24 library

Library Manager, search “RF24 by TMRh20”. Open Examples > RF24 > GettingStarted. Set radioNumber = 0 on one Arduino, 1 on the other (this picks which pipe is TX and which is RX). Compile and upload to both.

Open both serial monitors

Hit the button when prompted on the TX side. The TX prints “Sending: 1…”, the RX prints “Received: 1”. Round-trip latency is shown in microseconds — typically 250–500 µs with the default 250 kbps rate. If you see “Failed”, check the V_CC decoupling cap and the 3.3 V rail.

Pick a quiet channel

The library defaults to channel 76 (2.476 GHz), which can clash with WiFi. Call radio.setChannel(108); on both ends to move to a quieter spot near the top of the band. There are 125 channels (0–124) at 1 MHz spacing.