NRF24L01 COM problems

Now i have actually made som progress!! :slight_smile:

The RF Nano and Arduino 33IOT dident work with the code and latest RF24 lib.

The setup i´m trying now is:

Arduino UNO with 5-3V NRF adapter and NRF24LO1

Arduino Nano Mega328P ( OLD bootloader ) with 5-3V NRF adapter and NRF24LO1.

I have tried supplying power from external 5V to the 5-3V Nrf Adapter.

The comunicating dosent look so stable.
When i hold both NRF at the same time the communication is stable!!
I have tried putting an GND wire between the NRF and arduinos with no luck.

The RX code:

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

// UNO 

#define CE_PIN   9
#define CSN_PIN 10

const byte thisSlaveAddress[5] = {'R','x','A','A','A'};

RF24 radio(CE_PIN, CSN_PIN);

char dataReceived[10]; // this must match dataToSend in the TX
bool newData = false;

//===========

void setup() {

    Serial.begin(9600);

    Serial.println("SimpleRx Starting");
    
    radio.begin();
    radio.setDataRate( RF24_250KBPS );
    radio.openReadingPipe(1, thisSlaveAddress);
    radio.startListening();
}

//=============

void loop() {
    getData();
    showData();
}

//==============

void getData() {
    if ( radio.available() ) {
        radio.read( &dataReceived, sizeof(dataReceived) );
        newData = true;
    }
}

void showData() {
    if (newData == true) {
        Serial.print("Data received ");
        Serial.println(dataReceived);
        newData = false;
    }
}

TX Code:

// SimpleTx - the master or the transmitter

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

// Nano oldbootloader
#define CE_PIN   9
#define CSN_PIN 10

const byte slaveAddress[5] = {'R','x','A','A','A'};


RF24 radio(CE_PIN, CSN_PIN); // Create a Radio

char dataToSend[10] = "Message 0";
char txNum = '0';


unsigned long currentMillis;
unsigned long prevMillis;
unsigned long txIntervalMillis = 1000; // send once per second


void setup() {

    Serial.begin(9600);

    Serial.println("SimpleTx Starting");
    
    radio.begin();
    radio.setDataRate( RF24_250KBPS );
    radio.setRetries(3,5); // delay, count
    radio.openWritingPipe(slaveAddress);
}

//====================

void loop() {
    currentMillis = millis();
    if (currentMillis - prevMillis >= txIntervalMillis) {
        send();
        prevMillis = millis();
    }
}

//====================

void send() {

    bool rslt;
    rslt = radio.write( &dataToSend, sizeof(dataToSend) );
        // Always use sizeof() as it gives the size as the number of bytes.
        // For example if dataToSend was an int sizeof() would correctly return 2

    Serial.print("Data Sent ");
    Serial.print(dataToSend);
    if (rslt) {
        Serial.println("  Acknowledge received");
        updateMessage();
    }
    else {
        Serial.println("  Tx failed");
    }
}

//================

void updateMessage() {
        // so you can see that new data is being sent
    txNum += 1;
    if (txNum > '9') {
        txNum = '0';
    }
    dataToSend[8] = txNum;
}

Serial Monitor:

15:36:40.495 -> Data Sent Message 4  Tx failed
15:36:41.532 -> Data Sent Message 4  Tx failed
15:36:42.520 -> Data Sent Message 4  Tx failed
15:36:43.553 -> Data Sent Message 4  Tx failed
15:36:44.588 -> Data Sent Message 4  Tx failed
15:36:45.579 -> Data Sent Message 4  Tx failed
15:36:46.568 -> Data Sent Message 4  Tx failed
15:36:47.604 -> Data Sent Message 4  Tx failed
15:36:48.592 -> Data Sent Message 4  Tx failed
15:36:49.625 -> Data Sent Message 4  Acknowledge received
15:36:50.614 -> Data Sent Message 5  Acknowledge received
15:36:51.646 -> Data Sent Message 6  Tx failed
15:36:52.636 -> Data Sent Message 6  Tx failed
15:36:53.670 -> Data Sent Message 6  Tx failed
15:36:54.704 -> Data Sent Message 6  Tx failed
15:36:55.693 -> Data Sent Message 6  Tx failed
15:36:56.687 -> Data Sent Message 6  Acknowledge received
15:36:57.724 -> Data Sent Message 7  Tx failed
15:36:58.714 -> Data Sent Message 7  Acknowledge received
15:36:59.749 -> Data Sent Message 8  Tx failed
15:37:00.781 -> Data Sent Message 8  Tx failed
15:37:01.773 -> Data Sent Message 8  Tx failed
15:37:02.806 -> Data Sent Message 8  Tx failed
15:37:03.795 -> Data Sent Message 8  Tx failed
15:37:04.827 -> Data Sent Message 8  Tx failed
15:37:05.815 -> Data Sent Message 8  Tx failed
15:37:06.849 -> Data Sent Message 8  Tx failed
15:37:07.837 -> Data Sent Message 8  Tx failed
15:37:08.873 -> Data Sent Message 8  Tx failed
15:37:09.906 -> Data Sent Message 8  Tx failed
15:37:10.898 -> Data Sent Message 8  Tx failed
15:37:11.931 -> Data Sent Message 8  Tx failed
15:37:12.921 -> Data Sent Message 8  Tx failed
15:37:13.954 -> Data Sent Message 8  Tx failed
15:37:14.987 -> Data Sent Message 8  Tx failed
15:37:15.977 -> Data Sent Message 8  Tx failed
15:37:17.009 -> Data Sent Message 8  Tx failed
15:37:18.002 -> Data Sent Message 8  Tx failed
15:37:18.989 -> Data Sent Message 8  Acknowledge received
15:37:20.023 -> Data Sent Message 9  Tx failed
15:37:21.057 -> Data Sent Message 9  Tx failed
15:37:22.045 -> Data Sent Message 9  Tx failed
15:37:23.083 -> Data Sent Message 9  Tx failed
15:37:24.073 -> Data Sent Message 9  Tx failed
15:37:25.106 -> Data Sent Message 9  Tx failed
15:37:26.094 -> Data Sent Message 9  Acknowledge received
15:37:27.132 -> Data Sent Message 0  Tx failed
15:37:28.123 -> Data Sent Message 0  Acknowledge received
15:37:29.156 -> Data Sent Message 1  Tx failed
15:37:30.146 -> Data Sent Message 1  Tx failed
15:37:31.178 -> Data Sent Message 1  Tx failed
15:37:32.217 -> Data Sent Message 1  Tx failed
15:37:33.205 -> Data Sent Message 1  Tx failed
15:37:34.239 -> Data Sent Message 1  Tx failed
15:37:35.227 -> Data Sent Message 1  Tx failed
15:37:36.260 -> Data Sent Message 1  Tx failed
15:37:37.250 -> Data Sent Message 1  Tx failed
15:37:38.285 -> Data Sent Message 1  Tx failed
15:37:39.275 -> Data Sent Message 1  Tx failed
15:37:40.308 -> Data Sent Message 1  Tx failed
15:37:41.343 -> Data Sent Message 1  Tx failed
15:37:42.331 -> Data Sent Message 1  Tx failed
15:37:43.319 -> Data Sent Message 1  Acknowledge received
15:37:44.351 -> Data Sent Message 2  Tx failed

Serial Monitor:

16:16:16.972 -> Data received Message 8
16:16:18.009 -> Data received Message 8
16:16:27.144 -> Data received Message 8
16:16:28.132 -> Data received Message 9
16:16:29.127 -> Data received Message 0
16:16:30.161 -> Data received Message 1
16:16:31.152 -> Data received Message 2
16:16:32.140 -> Data received Message 3
16:16:33.127 -> Data received Message 4
16:16:34.165 -> Data received Message 5
16:16:35.154 -> Data received Message 6
16:16:36.142 -> Data received Message 7
16:16:43.244 -> Data received Message 8

Best Regards
Andreas