Arduino nano not communicating with NRF24L01

Hello All,
I am working with nRF24L01 radio module to transmit data using Arduino UNO and it Works perfectly. Now I wanted to extend to multiple transmitter and one Master, which most of time receives the sensor data from the transmitters and sends control byte to transmitters to start the data transfer. For this purpose, I want to use NANO instead of UNO, but it does not work. I have read all of the forum post related to nano and nRF24L01 but no luck.

I had read about @Robin2 post very extensively and use his code for testing. I have used his CheckConnection and found that the Nano is not communicating with the nRF24L01 itself. What could be the problem ?
here is the output of CheckConnection .ino

CheckConnection Starting

FIRST WITH THE DEFAULT ADDRESSES after power on
Note that RF24 does NOT reset when Arduino resets - only when power is removed
If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
communicating with the nRF24

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
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN

AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
and 250KBPS data rate

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
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = Disabled
PA Power = PA_MIN

I have used separate RPS (Lab power supply) to power the nRF24L01 with 3.3V
Below are the ccode
: Transmitter

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
/RF24 radio(9, 10); // CE, CSN for ARD Nano
// RF24 radio(10, 9); as suggested by arduino forum post for RF- Nano module to use 10,9 for CE,CSN instead of 9,10
const byte address[6] = {'R','x','A','A','A'};

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(address);
  //radio.openReadingPipe(1, address);
  radio.setPALevel(RF24_PA_MAX);
  radio.stopListening();
}

uint16_t data[16];
ilong startMicros, endMicros;

void loop() {
  // Serial.println("Sending to nrf24_server");

  startMicros = micros();
 
    for (int j = 0; j < 16; j++) {
      data[j] =  (j);
   }
    /* nrf24.send(data[i], 2);
      nrf24.waitPacketSent(); */
    //radio.write(data, sizeof(data));
     radio.write(data, 32);
  
// transmission ends
  endMicros = micros()-startMicros;
  Serial.println("Time spend for transmitting 32 bytes ");
  Serial.println(endMicros);
  delay(2000);
}

Receiver:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(8, 10); // CE, CSN
const byte address[6] = {'R','x','A','A','A'};


void setup() {
  Serial.begin(9600);
  radio.begin();
   
  radio.openReadingPipe(1,address); // for Ard. NANO
  radio.setPALevel(RF24_PA_MAX);
  radio.startListening();
}

uint16_t data[16];
void loop() {
  if (radio.available()) {
    
    radio.read(data, sizeof(data));
    //Serial.println((int ) data);
    for (int i=0; i< 16;i++){
      Serial.println(data[i]);
      
    }
    
  }
}

The above codes are perfectly working with Ard. UNO
Thanks in advance
Muthu.

Bad wiring/wires or a dead chip

Does the NRF24 module you are using on the Nano, produce the same connection error when used on the UNO ?

Since you have a setup that works 'perfectly' it ought to be quick to replace the perfectly working module with the one that fails the connection test .....................

I have checked the wirings and the pins (as per below table) and the Nano itself is working fine, I had flashed LED sketch and it is fine.
|nRF24L01|Nano|
|CSN |D10|
|CE |D9|
|MOSI |D11|
|SCK |D13|
|MISO |D12|

No with the UNO (unlike Nano), i do not have any connection error. below is the output of UNO for the CheckConnection .ino

CheckConnection Starting

FIRST WITH THE DEFAULT ADDRESSES after power on
Note that RF24 does NOT reset when Arduino resets - only when power is removed
If the numbers are mostly 0x00 or 0xff it means that the Arduino is not
communicating with the nRF24

STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0x4141417852 0x4141417852
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0x4141417852
RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX

AND NOW WITH ADDRESS AAAxR 0x41 41 41 78 52 ON P1
and 250KBPS data rate

STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0x4141417852 0x4141417852
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0x4141417852
RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x27
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 250KBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX

Note: even if I change the CE_PIN (configuration) number (eg., 9 instead of 8), I get the same exact output (as shown above) . Also note that I am using Processor: "Atmega328P (old Bootloader)" for flashing

If one NRF module works on the UNO, but the exact same module does not work on the Nano then either;

You have a wiring problem on your Nano setup.
Your Nano is faulty.

If everything is connected to the same pins in both setups,
a short to GND on MISO of the Nano setup would explain the output.

@bma1cob, your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with (nor for advise on) your project :wink: See About the Installation & Troubleshooting category.

Can you please edit your post, select all code and click the </> button to apply so-called code tags and next save your post. It makes it easier to read, easier to copy and prevents the forum software from incorrect interpretation of the code.

Yes, I have done and was not aware of it.

Maybe the Nano SPI communication is not getting set in the right waay! and i see that the nano is updating thru' serial comunication

Time spend for transmitting 4kB 
220
Time spend for transmitting 4kB 
196
Time spend for transmitting 4kB 
264
Time spend for transmitting 4kB 
244
Time spend for transmitting 4kB 
400
Time spend for transmitting 4kB 
240
Time spend for transmitting 4kB 
264
Time spend for transmitting 4kB 
240
Time spend for transmitting 4kB 
408
Time spend for transmitting 4kB 
336

I will buy an another Nano and will test the same code and connection and let you guys know about it. I bought this nano board from Aliexpress and could have some problem.

My Nanos are all cheap knockoffs from AliExpress and work flawlessly.

I like to test Nanos and NRFs on those:

Since the Nano and the UNO are (or should be) the same processor, ATmega328P, would you not expect the the software and thus the setup to be the same ?

Meanwhile, this was the exact connection I used in my setup. image

Until you are not able to get a connection test running, that has normal results,
there is no benefit in trying any other software on the not working SPI channel.