Bluetooth: quale grandezza massima dato da inviare?

Acquisisco dati da un accelerometro, li salvo sulla SD nella forma
324 456 322
....
nel frattempo attraverso il bluetooth invio il valore di uno switch
0: arduino in lettura
1: errore in lettura
2: rimozione file
....
il problema è separare i valori del menu da quelli della lettura del file. Ho utilizzato caratteri di riconoscimento per attivare/disattivare scrittura file su cellulare ma i file ricevuti risultano "corrotti", sballati nelle posizioni, in quanto a volte due caratteri in una stessa riga ma il più delle volte uno (ovviamente, essendo byte to byte) a volte salta la riga, e sono generati dal seguente codice:

...
if (dataFile) {// apertura file ok
                    Serial.println("\nReading datalog.log...");
                    bluetooth.flush();
                    bluetooth.println("#");
                    while (dataFile.available()) {
                        bluetooth.println(char(dataFile.read())); // trasmetto le righe del file tramite bluetooth
                    }
                    bluetooth.flush();
                    bluetooth.println("|");
                    //delay(1000);
                    Serial.println("End reading datalog.log.");
                    sw = 5;

                    dataFile.close();
                }
...

Ho provato a creare un'unica stringa con tutte le righe del file ma dal cellulare vengono ricevuti i primi tot caratteri ed il resto tutto perso.
Se invece invio esclusivamente i dati del file, row to row, non ho alcun problema.