Chiarimenti su memoria

Risposta piú semplice: Nella RAM vanno le variabili dello Sketch e le variabili del sistema (per esempio lo Stack). Lo stak é una parte di memoria dove per esempio vengono memorizzate dati come indirizzi di ritorno da subrotine) Non c'é controllo se si cerca di usare piú RAM di quella disponibile. Quando si usano tanti variabili (per esempio array) oppure si stampa sulla seriale tante stringhe vengono sovrascrite dalle variabili del Sketch l' aria riservata per le variabili di sistema e l' Arduino si blocca misteriosamente.

Arduino non usa normalmente la memoria EEPROM. Puoi usara Tu nel Tuo sketch con la libreria EEPROM
Nel ATmega328 non é possiblie espandere la memoria (RAM, o FLASH) esternamente per avere piú memoria interna per le variabili.
È possibile sulla ATmega1280 e 2560 di aggiungere una RAM esterna per avere 64kByte di RAm interna. Si perdono ca 20 piedini per questo. http://ruggedcircuits.com/html/megaram.html

Ciao Uwe