Arduino Micro, periferica non riconosciuta.

Buongiorno a tutti,

Sono alle prese con un fenomeno strano. Stò costruendo una centralina con sensore di temperatura e di luminosità composta così: Un Arduino Micro riceve i segnali dai sensori e li trasmette via wifi (modulo Mirf) ad un Arduino Mega che stà dentro casa.

Ho scritto lo sketch di programmazione e l'ho raffinato man mano fino a fargli preparare una stringa di trasmissione wifi composta da diverse char sommate fra loro.
Il risultato è una cosa così: H,client1,24.02,1023.

Tutto sembra ok senonche quando vado a caricare lo sketch su Arduino Micro, il PC perde la porta seriale di Arduino Micro ed esce il messaggio "dispositivo non riconosciuto".
In pratica, BOOM! , Arduino si svuota completamente perdendo anche la bootloader.

Ho già fatto mille test e sostituzione con hardware nuovo ma nulla. Ho riprogrammato il bootloader di ben 5 Arduini Micro ma appena carico quel maledetto sketch si svuota tutto di nuovo.
Con le versioni precedenti del mio sketch, arduino Micro funziona ma non trasmette la stringa come vorrei.

Ho già trovato qualcosa di simile nel forum:
http://forum.arduino.cc/index.php?topic=176895.0
ma non mi è servito a risolvere.

Penso che il problema sia quì:

strcat(msg,msgA); //SOMMO LE CHAR IN UN UNICA STRINGA (msg);

Oppure un mal dimensionamento della stringa che crea una sorta di overload della memoria.

Vi è mai capitato qualcosa di simile?
Allego lo sketch incriminato.

Salutoni e "BUONE FERIE" !

CENTRALINA_LUX_TEMP_WIFI.ino (3.58 KB)

Nel setup dopo il Serial.begin(9600); prova a mettere l'istruzione while (!Serial);

hai l'overflow ovunque!
quando usi
dtostrf(...,5,2,....);
significa che il buffer che gli passi deve essere almeno di 8 elementi! e non 7 come fai tu.....
invece di usare tutti quegli altisonanti strcat non hai pensato ad un più semplice sprintf?

il codice postalo sul forum tramite gli appositi tag code....