NRF24L01 not receiving message

Hi, I am using NRF24L01 Module in my Arduino nano as the receiver and NRF24L01 PA+LNA Module in my other Arduino as the transmitter.
When I am sending hello world from transmitter to receiver it is not showing up in the serial monitor of the receiver when attached to the computer. However, I made my receiver as a transmitter by uploading the transmitter code and vice versa with the other, then the hello world was showing up in the transmitter(as according to the code it was the receiver).

Not sure why this behavior is showing up with my devices. Please Suggest to me what can be done to troubleshoot and fix it.

Below is the transmitter and receiver code.

Transmitter:

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

RF24 radio(9, 10); // CE, CSN

const byte address[6] = "00001";

void setup() {
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop() {
  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));
  delay(1000);
}

Receiver:

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

RF24 radio(9, 10); // CE, CSN

const byte address[6] = "00001";

void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
}

void loop() {
  if (radio.available()) {
    char text[32] = "";
    radio.read(&text, sizeof(text));
    Serial.println(text);
  }
}

Below is the same output of the serial monitor from the transmitter and receiver:

SPI Speedz	= 10 Mhz
STATUS		= 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	= 0x65646f4e31 0x65646f4e32
RX_ADDR_P2-5	= 0xc3 0xc4 0xc5 0xc6
TX_ADDR		= 0x65646f4e31
RX_PW_P0-6	= 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA		= 0x3f
EN_RXADDR	= 0x02
RF_CH		= 0x4c
RF_SETUP	= 0x03
CONFIG		= 0x0f
DYNPD/FEATURE	= 0x00 0x00
Data Rate	= 1 MBPS
Model		= nRF24L01+
CRC Length	= 16 bits
PA Power	= PA_LOW
ARC		= 15
  • I already have a capacitor between 3.3v and the ground of the NRF modules.
  • And, I have used a different power source than the Arduino 3.3v pin (used AMS1117 3.3v).

Without more information on your power source(s) I will take a SWAG and say it is a power problem. I like at least 500mA available for powering them.

Neither your transmitter code or receiver code you posted produce that output.

If you are going to show us the result of what looks like the output of the CheckConnection.ino sketch, then you need to show us all of it, not the first part.

This is the code I used to check connections. The complete output of this code is pasted in ticket description already.

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

RF24 radio(9, 10);

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

}

On both the receiver and transmitter, I am powering NRF24 devices with AMS1117 3.3v voltage regulator.
If we suspect power is the issue, then why the receiver is able to send hello world to the transmitter when I used them in the opposite way?

The NRF24L01 module consumes less power when receiving, and you said that the module on the transmitter is a PA+LNA module, wich consumes a lot more power than the normal one so your transmitter consumes a way more than the receiver. I would've told you to reduce the PA power on the transmitter but I saw that it was already set to MIN. Here is a video from Electronoobs that shows some causes of the NRF24L01 not working, and how to solve it that hope will help

That is a chip that will not provide power, post a schematic of the circuit that you have built using it.

My issue is fixed. The problem was with the AMS1117 module on the transmitter. I checked it was outputting around 4 volts. I replaced it with a new AMS1117 3.3v and both the transmitter and receiver worked perfectly.

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