NRF24L01 : Fixing Connection Issues

44K4745

Intro: NRF24L01 : Fixing Connection Issues

Some cheap NRF24L01 modules are affected by connection issues. This can be solved by following these simple steps.

STEP 1: The Error

Many of us have been in the following scenario: You are ready to implement wireless communication in a project, you have already connected the modules, loaded the corresponding sketch to your Arduino, and when you try to test everything... It doesn't work. Your modules can't receive and/or transmit data.

The error shown in the screenshot corresponds to the Getting Started sketch, one of the examples included in ManicBug's excellent RF24 library.

If you have already checked that the connections are in the right place and the problem still persists, then it's time to make a few adjustments to your NRF24L01 module.

STEP 2: Cleaning the Pins

Due to some manufacturers' poor soldering quality and improper storage, some modules might end up with a grey "crust" over the pins and the underside of the crystal oscillator, as seen in the above photos. This crust can affect the conductivity and/or create electrical noise.

Using a small flat screwdriver or a toothpick, carefully remove the crust. Then, wipe the remaining dust using a dry cloth.

STEP 3: Solder a Capacitor

Solder a 10 uF electrolytic capacitor to pins 1 (GND) and 2 (PWR) of the module. Take care to align the positive lead of the capacitor to pin 1 and the negative lead to pin 2.

After you have finished soldering it, trim away the excess leads.

STEP 4: Try Again!

Connect the module back to the Arduino and try to run your sketch again!

33 Comments

hello
i tried doing it i made connections correct and added 47uf capacitor aswell but it didnt work i am trying to send hello world but i am using arduino nano as transmitter and arduino uno as reciever please help me
Because there are so many fake NRF24L01 on the market, the module is often flawed with reliability issues. To make it worse, NRF uses SPI, which is very fast serial communication and demands a high level of reliability.
If all other solutions fail, I would recommend (as Plan Z) switching NRF24L01+ for a HC-05 Bluetooth module (which is really easy to use!!). HC-05 would save you a lot headache and time. Check out:
https://www.instructables.com/How-to-Connect-HC-05...
However, the UART on HC-05 transmits data a lot slower than the SPI on NRF24L01, but I did not need the speed for my projects, so the switch was a great decision for me. This slower speed also means HC-05 is less demanding of reliability and less sensitive to defect and interference.
I'm using nrf24l01 transceiver modules for my tx and rx pair, i ahve checked the connections and wiring many times. I uploaded a code to transmit a hello world message and it worked last week . After i dismantled the connections, and put the set together the following time, it stopped working. this has been the case ever since. I bought new modules thinking the first ones were damaged but the same problem arose again
pl guide me
hi bro, im also facing the same issue. have you sorted it out, pls help and guide me. looking for reply

Help. I tried doing the Hello World example & there is some issue I added the capacitors checked every connection but somehow it takes around an hour of restarting & checking the connections for the modules to connect to each other & once they are connected they it's not a problem I can disconnect them for some time & again they work but everytime I keep them disconnected for over night I have to spend an hour sometimes 2 for them to work again this has haulted all my efforts as I have classes & work during the day & every night I wana work on this my work is left incomplete as most of time is gone only to start the connections please help
When i run a simple "hello world" loop program it is not showing any response..after pressing reset button for several times sometimes it shows text in receiver and when i run a servo motor sometime it shows response why ??
Stucked to solve this for several days please help
How much volt capacitor???
Since it's a 3,3V power supply, anything above 6V. is fine ..
You said
"Take care to align the positive lead of the capacitor to pin 1 and the negative lead to pin 2."
But isn't the pin on the corner GND pin1 and pin2 the VCC?

Indeed .. I notices that error as well.
Capacitor's + goes to 2, its - post goes to 1.

Have a NRF24L01 socket adapter but it is still not working. Wh?y

when I touch the long end of the capacitor to the gnd of module and short end to vcc the arduino restarts. Why?

Because the short end is -usually- the negative pin of the capacitor. You're connecting the capacitor backwards. Positive should go to VCC, negative to GND.

Hey man, I tried to do all that you said but no success. I'm getting the same number being read and the only thing that's rising is the ping and I dunno why. It keeps getting bigger and starts from 7000. I'm getting readings even the pong node it's not connected.

If the ping keeps rising, that means that one of the modules is taking too long to reply. I'd suggest checking the wiring and the code... If all of that fails, then maybe your module is defective or damaged. Unfortunately, most of the modules available online have a very low quality standard.

Can I use a 4.7uF capacitors? I have a few so I can use them in parallel to get 9.4uF close to 10uF. Should I? Please reply as early as possible. Thanks.

It's possible, although it wouldn't be very practical. I decided to use a single capacitor because it's easier to solder it in this position.

will a 1000uf capcitor be safe for the module? I do not have a 10uf capacitor. If it is not I will have to buy. Thanks.

Yeah, it would be safe... But I wouldn't recommend it. Let me explain: The purpose of this capacitor is to keep a reservoir of energy, as this module is prone to sudden "spikes" in energy consumption. 10uF is a good value for a capacitor because it's small enough so that it would be charged almost instantly when the circuit first powers up, and big enough to provide energy to the module when it suddenly demands more power. However, using a bigger capacitor (1000 uF is a considerably big value) might mean that it'll take longer to charge.

More Comments