NRF24 fails to send data

do you mean ESP01?? or really an nRF24L01?

nRF24L01 + PA + LNA (Geekcreit® 1100 meter långdistans NRF24L01+PA+LNA trådlös modul med antenn Försäljning - Banggood Sverige) and one nRF24L01 without antenna

Does stopListening make sense in the receive code? In the receive code don't you want to startListening?

This receive code (using the posted transmit code) works fine on my setup of 2 Unos with rf234 modules powered by homemade rf24 adapters.

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

#define CE_PIN   9
#define CSN_PIN 10


// Create Radio and define pins
RF24 radio(CE_PIN, CSN_PIN);

// Create Radio channels
const uint64_t pAddress = 0xB00B1E5000LL;

//Radio recived array
int recivedDataArray[4];

void setup()
{
   Serial.begin(115200);

   radio.begin();
   radio.setPALevel(RF24_PA_MIN);
   radio.openReadingPipe(1, pAddress);
   radio.startListening();  // **********  changed from stopListening.
}

void loop()
{
   if (radio.available())
   {      
      radio.read( &recivedDataArray, sizeof(recivedDataArray) );
      Serial.print("Recieved array:");
      Serial.println();
      for (byte i = 0; i < 4; i++)
      {
         Serial.println(recivedDataArray[i]);
      }
      Serial.println();
   }
}

I changed it to startListening, I will update my current code in the main post.

Ok, I will go through my scimatics and physical wiring. And also check my modules. Thank you for testing!

This module needs a separate power supply.
Sometimes it also needs some distance between transmitter and receiver.

The NRF24L01+ is a 3.3V device which is fully 5V compatible.

Reply #30 of Robin2's simple rf24 tutorial has a sketch for testing the physical wiring between the rf24 module and is connected processor. That tutorial has a lot of good info as well. It is what I used to get my radios to work.

Those module need quite some current. Depending on the arduino Your 3.3V pin might not be capable of providing enough.

@groundFungus I tested the CheckConnection code and got this result:

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

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	= 0xb00b1e5000 0x4141417852
RX_ADDR_P2-5	= 0xc3 0xc4 0xc5 0xc6
TX_ADDR		= 0xb00b1e5000
RX_PW_P0-6	= 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA		= 0x3f
EN_RXADDR	= 0x03
RF_CH		= 0x4c
RF_SETUP	= 0x01
CONFIG		= 0x0e
DYNPD/FEATURE	= 0x00 0x00
Data Rate	= 1 MBPS
Model		= nRF24L01+
CRC Length	= 16 bits
PA Power	= PA_MIN
ARC		= 15


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

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	= 0xb00b1e5000 0x4141417852
RX_ADDR_P2-5	= 0xc3 0xc4 0xc5 0xc6
TX_ADDR		= 0xb00b1e5000
RX_PW_P0-6	= 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA		= 0x3f
EN_RXADDR	= 0x03
RF_CH		= 0x4c
RF_SETUP	= 0x21
CONFIG		= 0x0e
DYNPD/FEATURE	= 0x00 0x00
Data Rate	= 250 KBPS
Model		= nRF24L01+
CRC Length	= 16 bits
PA Power	= PA_MIN
ARC		= 15

Can you troubleshoot via radio.printdetails()? I am going to check my soldering tomorrow to see if thata the problem.

Looks, to me, like the connection is good. I would examine the power to the rf24 modules. That is the number one problem users have to get them going. As mentioned previously, the adapters with the 3.3V regulator will help and, with the modules with the external antenna, some distance needs to be between the radios. A couple of meters at least.

I have only used the default 3.3v output from the arduino, I tested with one of my old 3.3v regulator but I think it is broken sins it only outputs 0.6v... I have ordered some new regulators that should come shortly. And that should "hopefully" get them to work. Thanks for the help!

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