Arduino NRF24L01 Wireless Tutorial with Arduino Uno, basic setup

Home/Arduino Projects/Arduino NRF24L01 Wireless Tutorial with Arduino Uno, basic setup

Arduino NRF24L01 Wireless Tutorial with Arduino Uno, basic setup

NRF24L01 Wireless Tranceiver Tutorial

Do you want to add wireless capability to your Arduino Projects? Using the NRF24L01 module is a very easy and reliable way to do so. This tranceiver module works at the 2.4GHz band and it is extremely easy to use with any Arduino board, like the Arduino Uno, the Arduino Mega or the Arduino Nano. The cost of module is less than 3$ which makes this module irresistible!


1. NRF24L01:

2. Cheap Arduino Uno:

3. Powerbank:

4. Wires:

In this video we are going to build a simple project just to demonstrate how easy it is to add wireless capability to our Arduino Projects. I have two Arduinos here. This one is sending some data every second, and the other one is receiving the data and displaying it at the serial monitor. As you can see this one way communication is working fine and the range is very good, I can easily get more than 10 meters! The theoretical range that we can achieve is about 100 meters.

The NRF24L01 module is a low cost bi-directional transceiver module. The cost of it is less than 3$! You can find a link for it in the description of the video. It operates at the 2.4GHz band and it can achieve at a data rate of 2Mbits! Impressive isn’t it? It uses the SPI interface in order to communicate with Arduino, so it is very easy to use with it. We have to connect 7 of the 8 pins of the module in order to make it work with Arduino.

Unfortunately we can’t plug the module in the breadboard so we are going to use male to female wires in order to connect the module to Arduino. Pin number 1 of the module is GND. You have to connect it to Arduino Ground. The next pin is Vcc. You have to connect it to the 3.3V output of the Arduino Uno. Be careful! Do not connect it to 5V or you will destroy your module! The third pin is named CE and you can connect it to any digital pin you like. In this example I am going to connect it to digital pin 7. Pin 4 is CS and you can connect to any digital pin as well. I am going to connect to digital pin 8. The next pin is SCK which goes to digital pin 13 of the Arduino Uno. The next pin is MOSI which goes to digital pin 11 and the last pin in MISO which goes to digital pin 12. That’s it!











Never miss a video: Subscribe to



  1. HDBro March 6, 2016 at 3:33 pm - Reply

    Does the part that gets transmitted have to be in the “struct package” loop

  2. Mark March 20, 2016 at 1:03 am - Reply

    Code will not compile.
    Gives :
    invalid conversion from ‘byte* {aka unsigned char*}’ to ‘uint64_t {aka long long unsigned int}’ [-fpermissive]

    Any clues?

    • shati November 22, 2016 at 10:02 pm - Reply

      i have the the same issue while compiling… if u have some solution for it plz share it

    • bangladeshi September 15, 2017 at 5:25 pm - Reply

      change data type of address , make it unsigned long long int and don’t make a array..

  3. steve October 23, 2016 at 6:01 pm - Reply

    steve ,Thank you for the tutorial,but unfortunately I can not get it working despite trying it with nano’s and uno’s. in receive window it says twice empty packages. In the transmit window it says text to be transmitted and a scrolling number.Can you help?

    • Pedro Ayala December 10, 2016 at 7:56 am - Reply

      Check very carful the connections and make it like explained in the video. Pause the video at any pin connecting explanation. There is no reason to fail in making the modules works if you fallows the step using the arduino uno. “Text to be transmitting” must be echoed in the receiving window together with the packed number and the pseudo temperature number. Make sure you first download the code for the sender into an arduino and then open a secon instance of arduino to download the code of the receiver in the second arduino but be sure it is conecte to a differen usb port.

  4. Pedro Ayala December 10, 2016 at 7:41 am - Reply

    I was having trouble making the rnf24l01 module works. There are some tutorial on the web that recommend the use of some capacitor to make the modules works with Arduino . However I was confident that there was somewhere a good tutorial which taught how to make these modules work. And finally I found here. May be I am wrong and simply I did not understood the others tutorial, but anyway the explanation in here in educ8c is very clear and understandable.
    You must pay attention to where you connect the ce and cs pins from the rnf24 to the Arduino pins and be sure you use them as parameters for the RF24 radio(7,8) function. In the example here they use pin 7 and 8.

  5. Joshua January 25, 2017 at 3:49 am - Reply

    My wiring is correct but it displays these “2¹òüFÿ–‚ªý—–uþ“†uþ¹°4ÿäú–€ªýÆ,” what seems to be the problem.. please help

    • Irvan May 6, 2017 at 1:02 pm - Reply

      got same problem

      • Ahmed Y. May 17, 2017 at 9:22 pm - Reply

        Change your serial ports baud rate recording to the code

Leave A Comment