Radiocomando RF2401 Problema

Buonasera, ho un problema che mi si è verificato. Ho creato un radiocomando utilizzando due RF2401, dove TX trasmette un valore(A0) a RX. Tutto funziona perfettamente, fino a quando dopo un pò di volte che lo utilizzo smette di ricevere il valore di TX stampando "Valore 0" come se non fossero più in collegamento tra di loro. La prima volta avevo risolto passando da un arduino nano cinese a UNO ma adesso anche UNO mi dà lo stesso problema.

premetto che ho provato con molti trasmettitori RF2401 e non funzionano, il led Tx su Nano rimane fisso, ho provato a caricare un semplice Blink e funziona correttamente. Lo sketch occupa solo il 14% della memoria. La cosa assurda è che ha funzionato correttamente per più volte fino a quando non ha smesso del tutto e dopo avere cambiato scheda stessa cosa.

Posto gli sketch TX e RX per capire se puo essere un problema software o no.

Spero che qualcuno possa aiutarmi perchè ci sto diventando matto.

TX:

#include <SPI.h>                      //the communication interface with the modem
#include "RF24.h"                     //the library which helps us to control the radio modem

int msg;

RF24 radio(9,10);                     //9 and 10 are a digital pin numbers to which signals CE and CSN are connected.
                                      
const uint64_t pipe = 0xE8E8F0F0E1LL; //the address of the modem, that will receive data from Arduino.


void setup(void){
  radio.begin();                      //it activates the modem.
  radio.openWritingPipe(pipe);  //sets the address of the receiver to which the program will send data.
Serial.begin(9600);

}

void loop(void){

  msg =  map (analogRead(A0), 478,1023,1500,2300);
  Serial.print(msg);
  Serial.print("\n");;
  delay(1);
  
  //radio.write(&msg, );
  radio.write(&msg, sizeof(msg));
}

RX:

#include <Servo.h>    //the library which helps us to control the servo motor
#include <SPI.h>      //the communication interface with the modem
#include "RF24.h"     //the library which helps us to control the radio modem

Servo ESC;        //define the servo name

RF24 radio(9, 10);     /*This object represents a modem connected to the Arduino.
                      Arguments 9 and 10 are a digital pin numbers to which signals
                      CE and CSN are connected.*/

const uint64_t pipe = 0xE8E8F0F0E1LL; //the address of the modem,that will receive data from the Arduino.

int msgRX;
//int avvio = 1500;

void setup() {
  ESC.attach(3);//3 is a digital pin to which servo signal connected.
  //ESC.write(avvio);
  //delay(7000);
  radio.begin();                    //it activates the modem.
  radio.openReadingPipe(1, pipe);   //determines the address of our modem which receive data.
  radio.startListening();//enable receiving data via modem
 
  Serial.begin(9600);
}


void loop() {

  ESC.write(msgRX);
  radio.read(&msgRX, sizeof(msgRX));

  Serial.print("Mapped Input Value:");
  Serial.print(msgRX);                      //Serial print the mapped input value
  Serial.print("\n");;
  delay(1);

}

Nessuno che puo aiutarmi a capire :sob: