Learn how to make a wireless communication between two Arduino boards using the NRF24L01+ transceiver module

The nRF24L01+ module is based on the NRF24L01 transceiver IC from Nordic Semiconductor which operates in the 2.4GHz band with baud rates from 250Kbps up to 2Mbps. It operates with a nominal Vcc of 3.3V and has 5V tolerant inputs. It draws very little current (around 12 mA in transmission mode) and each module can use 125 different channels and each channel can have 6 addresses. This means that each unit can communicate with 6 other units at the same time. 


The module uses the SPI communication protocol and it needs to be connected to the SPI pins of the ARDUINO boards. The pins CE and CSN can be connected to any digital pin and are used to set the boards to active or standby modes, and to switch between transmit and command modes. 


This project uses an Arduino UNO and an Arduino Mega working as the transmitter and the receiver and two nRF24L01+ modules. It is a simple application which has the purpose of showing the feasibility of radio communication between two boards.


Sometimes, the 3.3V supplied from the Arduinos can be unstable and cause trouble. If so, put a 10 uF capacitor across the supply wires.