NRF24L01 works on nano but not on uno

Hello! I'm currently working on a project that uses 3 nrf modules. I was testing a simple send and print code for single fixed role nrf but noticed that it wasn't working. Searching through yt, i found a tutorial on how to check the nrf status:

/*
  If your serial output has these values same then Your nrf24l01 module is in working condition :
  
  EN_AA          = 0x3f
  EN_RXADDR      = 0x02
  RF_CH          = 0x4c
  RF_SETUP       = 0x03
  CONFIG         = 0x0f
  
  This code is under public domain
  
  Last updated on 21/08/28 
  https://dhirajkushwaha.com/elekkrypt
 */

#include <SPI.h>
#include <RF24.h>
#include <printf.h>

RF24 radio(7, 8);

byte addresses[][6] = {"1Node", "2Node"};


void setup() {
  radio.begin();
  radio.setPALevel(RF24_PA_LOW);
  
  radio.openWritingPipe(addresses[0]);
  radio.openReadingPipe(1, addresses[1]); 
  radio.startListening();
  
  Serial.begin(9600);
  printf_begin();

  radio.printDetails();
  
}

void loop() {
//  empty

}

every nrf module connected to the uno produces this output (not working according to the tutorial):
........
SPI Speedz = 10 Mhz
STATUS = 0x00 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=0 TX_FULL=0
RX_ADDR_P0-1 = 0x0000000000 0x0000000000
RX_ADDR_P2-5 = 0x00 0x00 0x00 0x00
TX_ADDR = 0x0000000000
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x00
RF_CH = 0x00
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
........
while the nano produces the same output with the working one.

what should i do to fix this?

notes:
-both uno and nano are clones
-i've connected everything accord to the yt instructions.
-both nano and uno are generally working

seen other cases similar to might but there seems to be no resolution.

so if the output is the same on both UNO and Nano and that the module works on the Nano and not on the UNO, then the issue is somewhere else

1 Like

Why are you screaming? Posting an annotated schematic would help me solve your problem. I think I know what it is, it is the power source.

1 Like

Hi, @joyjoyjoy
Welcome to the forum.

Thanks... Tom... :grinning: :+1: :coffee: :australia:

1 Like

we'll be using 2 unos and 1 nano for this project but the other uno is with my groupmate so i plan to test it with the other uno when we meet up. If it doesn't work, where seems to be the problem?

sorry i didn't noticed it was in bold...

Connected everything according to the vid's instruction (see image above). How do i check if it's the power source? I've read that clones sometimes produce less than 3.3v. Is the 3.3v minimum required for the rf to work? I thought it tolerates lesser voltage?

You may need a 10uF capacitor across the Vcc and GND pins of the nRF24L01 module to smooth out any variations on the 3.3V supply.

1 Like

When you said it works with a Nano, how did you test it? By a successful transmission between the Nano and another device? If so, what device? Another Nano?

1 Like

That is a troubling configuration that is not reliable from user to user. Use an external power supply. Sometimes people get away with this by adding a capacitor many do not. Here is a simple guideline:
Gil's Crispy Critter Rules, they apply to processor hardware:
Rule #1. A Power Supply the Arduino is NOT!
Rule #2. Never Connect Anything Inductive to an Arduino!
Rule #3 Don't connecting or disconnecting wires with power on.
Rule #4 Do not apply power to any pin unless you know what you are doing.
LaryD's Corollary's
Coro #1 when first starting out, add a 220R resistor in series with both Input and Output pins.
Coro #2 buy a DMM (Digital Multi-meter) to measure voltages, currents and resistance.
Violating these rules tends to make crispy critters out of Arduinos.
Hint: It is best to keep the wires under 25cm/10" for good performance.

1 Like

A couple of suggestions:

  1. The following tutorial is excellent. I had een wrestling with exactly the same problems as you for weeks until I found the following post. I studied it carefully and after understanding it, it took me less than an hour and about 6 lines of new or altered code and the 3 nRF's I'm using started communication:
    Simple nRF24L01+ 2.4GHz transceiver demo

  2. In my experience, the 10 microfarad capacitor is essential. Simply solder it across the power and gnd pins on the nRF board.

  3. Again, my experiece is that the modules work best when connected through the pinout socket board that can be purchased of AliExpress or similar for less than a dollar. If you use one of those you can then apply 5v to the pinout socket board because it has its own power regulator to pass on 3.3v to the module. That eliminated all of the issues that I was having with the Arduino 3v3 pin. The nRFL modules draw a lot of power at the start of each transmiossion and I suspect that it is really too much for the 3v3 pin?

  4. Very difficult to get an nRF to work if you are using a breadboard and jumper wires. All of the connections need to be robust - so I moved to experienting using made up (soldered connections) circuit boards.

  5. The default channel on the nRF is channel 76. My modules will not work at all on channel 76 - too much competing interference. In my environment I found that channel 120 works best but you need to play around with this to find out what works best in your situation.
    radio.setChannel(120); //select a channel (in which there is no noise!) 0 ... 125

  6. Most of the things I has to change to get mine working related to addresses and understanding how the ack protocol is works. The tutorial I have provided a link to explains this stuff very well.

  7. I also had to play around with the data rate and PAL level to refine things once the modules were talking . Initially the packet loss rate was very high but trying different data rates and PAL levels got me to the point where I am loosing perhaps 6 packets in two weeks - and my setup is writing about every 30 seconds.

Hope that helps

2 Likes

so i recently tested the rf with another uno (clone as well but bought from another store) and it worked. Communication is successful from nano to uno. We still wanted to find out about the problem this particular uno has but for the project's sake, we'll probably buy another board.

thank you so much for this! Now that i can test data transfer of nrf, this would be helpful.

For the uno that we're having trouble with, we might buy a new one since it worked with another or buy an adapter so that we could connect it to 5v. All these will be decided after i try adding a capacitor (i'm still waiting for it to arrive)

Capacitor
Adapter

I've not posted pictures before so I don't know if you will see these?
Picture of capacitor soldered directly to the board (be carefult to solder the capacitor positive to the VCC pin) and the adapter that I thing would help you a lot

Cheers

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.