Funzione ITOA e problemi con concatenamento di stringhe.

La memoria RAM interna del microcontrollore è limitata. E quando vai ad usare diverse librerie pesanti come quelle che stai usando tu è facile consumarla. Io eviterei di creare buffer in memoria anche perché la lib SD già ne usa uno suo. Difatti i dati non sono materialmente scritti nel file finché non si riempie o lo si chiude esplicitamente con close() oppure non fai un flush(), che riversa il buffer sul file.