Presentación y ayuda con código GPS+SD

muchas gracias compañero, no conocía esta función para gestionar la RAM, haz arrojado bastante luz :), al ejecutarla sin descomentar nada ya dice que sólo me quedan 250 bytes de RAM así que... voy a intentar cambiar lo que me comentaste y adelgazar el código en la medida de lo posible y os digo algo. muchas gracias de nuevo.

Edito para comentar que aunque tengo que pulir el código ya funciona, cosa que agradezco :wink: además he leído por ahí acerca de aumentar las capacidades de memoria de nuestro arduino, comparto a continuación para el que quiera seguir investigando:

Parece ser que podemos usar una EEPROM externa, serie 24LC256 que tiene una capacidad de 256 Kbit (32K x 8 bytes).
La comunicación entre Arduino y la EEPROM se realiza mediante el bus I2C , que se trata de un bus de comunicaciones serie formado por dos lineas: una para los datos y otra para el reloj.
La librería Wire permite manejar un bus I2C desde nuestro Arduino, y en este artículo del wiki encontramos 4 funciones que usando la librería anterior implementan la lectura/escritura en la EEPROM.

Por otro lado si necesitas más espacio de almacenamiento y sólo tendrás que conservar los datos, mientras que el Arduino se alimenta, solo faltaría añadir memoria RAM. El 23K256 es un chip de SRAM de 32K, que utiliza una interfaz SPI. XD