NRF240L1 one Transmitter, Multiple Receiver

Good evening, i’ve been trying to make wireless communication between ESP32 and Arduino Nano, it works fine with one node, but when I use the same node address the second Nano didn’t receive anything, so I change the address still no luck, I already solder a 10uF to each NRF module but still the same. can someone help me?

Here’s the code for ESP32/Trasmitter/Master

//=== Blynk Config ===//

#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <BlynkSimpleEsp32_SSL.h>

BlynkTimer timer;

//=== NRF24L01 Config ===//

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

RF24 radio(17, 5);

RF24Network network(radio);
const uint16_t this_node = 00;
const uint16_t node01 = 01;


//=====================//
#define DEBUG_SW 0 
int MODE = 0;

// ================= CONNECT TO WIFI ================ //
char auth[] = "*******";
char ssid[] = "*******";
char pass[] = "*******";

int switch_ON_Flag1_previous_I = 0;

#define LED1 2  //ONLINE 
#define LED2 4  //OFFLINE
#define LED3 12
#define S1 13

//MISO  19  // VSPI MISO 
//MOSI  23  // VSPI MOSI 
//SCK   18  // VSPI CLK 
//CE    17  // GPIO17 
//CSN   5   // VSPI SS

void setup() {
 pinMode(S1, INPUT);
 pinMode(LED1, OUTPUT);
 pinMode(LED2, OUTPUT);
 pinMode(LED3, OUTPUT);

 SPI.begin();
 radio.begin();
 network.begin(90, this_node);
 radio.setDataRate(RF24_2MBPS);
 
 WiFi.begin(ssid, pass);
 timer.setInterval(2000L, checkBlynk); // check if connected to Blynk server every 3 seconds
 Blynk.config(auth);//ssid, pass);
}


BLYNK_WRITE(V0)
{
 int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
 digitalWrite(LED3, pinValue);
}

void with_internet()
{
 if (digitalRead(S1) == LOW)
 {
   if (switch_ON_Flag1_previous_I == 0 )
   {
     digitalWrite(LED3, LOW);
     if (DEBUG_SW) Serial.println("Relay1- ON");
     Blynk.virtualWrite(V0, 0);
     switch_ON_Flag1_previous_I = 1; 
   }
   if (DEBUG_SW) Serial.println("Switch1 -ON");
 }

 
 if (digitalRead(S1) == HIGH )
 {
   if (switch_ON_Flag1_previous_I == 1)
   {
     digitalWrite(LED3, HIGH);
     if (DEBUG_SW) Serial.println("Relay1 OFF");
     Blynk.virtualWrite(V0, 1);
     switch_ON_Flag1_previous_I = 0;
   } 
   if (DEBUG_SW)Serial.println("Switch1 OFF");
 }
}

void without_internet()
{
 digitalWrite(S1, digitalRead(LED3));
}

void checkBlynk() { // called every 2 seconds by SimpleTimer

 bool isconnected = Blynk.connected();
 if (isconnected == false) {
   MODE = 1;
   digitalWrite(LED1, LOW);
   digitalWrite(LED2, LOW);
    Blynk.connect();
 }
 
 if (isconnected == true) {
   MODE = 0;
   digitalWrite(LED1, HIGH);
   digitalWrite(LED2, HIGH);
       Blynk.run();
 }
}

void loop()
{
  network.update();{
   unsigned long buttonState = digitalRead(LED3);
   RF24NetworkHeader header(node01);
   bool ok = network.write(header, &buttonState, sizeof(buttonState));   
   }
 
 if (WiFi.status() != WL_CONNECTED)
 {
   if (DEBUG_SW) 
   Serial.println("Not Connected");
   WiFi.reconnect();
 }
 else
 {
   if (DEBUG_SW) 
   Serial.println(" Connected");
 }

 timer.run(); // Initiates SimpleTimer
 if (MODE == 0)
   with_internet();
 else
   without_internet();
 }

and here’s fore the slaves/other nodes

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

#define led_pin 3

// MISO  12  // 
// MOSI  11  // 
// SCK   13  //
// CE    9   //
// CSN   10  //

RF24 radio(9, 10);

RF24Network network(radio);
const uint16_t this_node = 01;

void setup() {
 Serial.begin(9600);
 pinMode(led_pin, OUTPUT);

 SPI.begin();
 radio.begin();
 network.begin(90, this_node);
 radio.setDataRate(RF24_2MBPS);
}

void loop(void)
{
 network.update();
 while (network.available() ){
   RF24NetworkHeader header;
   unsigned long buttonState;
   network.read(header, &buttonState, sizeof(buttonState));
   if (buttonState == HIGH)
   {
   digitalWrite(led_pin, HIGH);
 }
 else

  if (buttonState == LOW)
  {
  digitalWrite(led_pin, LOW);
     }
   }
 }

Do you really nee to use the Network feature? If all the nRF24's are within range of the Master the extra complexities of the Network won't be necessary.

Have a look at this Simple nRF24L01+ Tutorial.

The Tutorial includes an example for a master and 2 slaves that can easily be extended to a larger number of slaves.

Wireless problems can be very difficult to debug so get the wireless part working on its own before you start adding any other features.

The examples are as simple as I could make them and they have worked for other Forum members. If you get stuck it will be easier to help with code that I am familiar with. Start by getting the first example to work

There is also a connection test program to check that the Arduino can talk to the nRF24 it is connected to.

A common problem with nRF24 modules is insufficient 3.3v current from the Arduino 3.3v pin. This seems to be a particular problem with the nano. The high-power nRF24s (with the external antenna) will definitely need an external power supply. At least for testing try powering the nRF24 with a pair of AA alkaline cells (3v) with the battery GND connected to the Arduino GND.

...R