avete ragione ci sono degli errori:
String testo;
String t;
void loop(){
int value=analogRead(A0);
t=String(value,DEC);
testo.concat(t);
testo.concat(" ");
char t1[testo.length()];
testo.toCharArray(t1,testo.length());
Serial.print(t1); //testo stampato correttamente
Serial.print(testo); //testo stampato in maniera errata
/**
*Altro codice in cui, quando si verifica la condizione, invio un sms con testo 't1' e dopo resetto testo=String("");*/
}
In definitiva se uso una variabile T_string Serial.print interpreta i numeri come codice ASCII se invece uso una variabile T_char Serial.print stampa i numeri come correttamente come testo.