Testing NRF24L01 Radio Module Communications
TAGS: electronics; software; Arduino nano; NRF24L01 radio module
Why I Did This
I love the ‘magic’ of remote communications (i.e. being able to control items from long wireless distances). I wanted to test out some widely popular radio communication modules known as the NRF24L01 (I specifically have the longer-range PA/LNA ones, but the wiring and coding techniques are the same as the original). NRF24L01 modules operate under the widely popular 2.4GHz unlicensed radio band.
![](articleAssets\NRF-Arduino-Testing\NRF-Arduino-Testing_1.jpg)
Sender and receiver nanos with NRF radios;
The sender included a potentiometer for
manual
mode
change, but it was reprogrammed to do mode chnages automatically after 1 second;
The
receiver included an LCD display, a Red-Green-Blue led, and a 9V battery for
portability.
Design Walkthrough
Parts: 2x Arduino microcontrollers (nano); 2x NRF24L01 (PA/LNA) modules; 1602 LCD display; RGB led; 2x 9V batteries; potentiometer
Following the directions of some Arduino script examples I found on Instructables.com, I
setup a code
script to allow a
potentiometer to change the colour of an RGB led and display the state on a 1602 LCD
display. The idea was that I could put the potentiometer on one setup of nano and radio,
then put a
RBG led and display on the other setup of nano and radio, then tune the led colour from a
distance.
It worked well enough; I was able to control the color easily from 60 feet (18 meters) away,
but I wanted to see how far I could get before losing control. I changed the programming of
the sender setup to be from using a manual potentiometer to instead having an automatic
incrementor that will change the led state every second, that way I can walk with the
reciever away
from my place and see how far I can go before noticing the led won't change.
![](articleAssets\NRF-Arduino-Testing\NRF-Arduino-Testing_0.jpg)
I tried setting up the sender nano to a high point, near a window, to reasonably maximize the sending signal.
Well-functioning NRF receiver; it cycles lights (and mode numbers) without skipping because it is within range of transmitter.
Poor-functioning NRF receiver; it skips mode lights/numbers because it is just on the edge of the transmitter's range.
Lessons Learned and Future Changes
But what’s its real potential? I was able to stay connected up to about 250 feet (76 meters) away in a congested neighbour of houses and garages, but I read that it could potentially stay connected at about 3600 feet (1100 meters), so I would love to take it to a long open field or mountain and test the range; maybe use it on drone/plane project.References
NRF24L01 tutorial: https://www.instructables.com/NRF24L01-Tutorial-Arduino-Wireless-Communication/