arduino si riavvia da solo ... poca ram?

Inoltre ti avevano già suggerito, mi pare, di usare la funzione F() per memorizzare le stringhe di testo dei commenti fatti con Serial.println() direttamente nella Flash per evitare che occupassero la RAM.
Esempio:

Serial.println("error opening test.txt");

diventa

Serial.println(F("error opening test.txt"));