This originally was a project to create a GPS speedometer for my bike. One day before I left home for the wilderness in hopes of summiting mt. Ritter (in the Sierra, east of Yosemite), I realized I could simply modify my code and enclosure and I would have a datalogger usable for hiking. This setup is powered by a 2600mAh li-po battery and a 500ma boost converter from Adafruit. The processing is done with a microduino GPS, SD, and Core module, attached to a 3.3v LDO regulator that supplies power to the GPS. The code is a modified example sketch from the TinyGPS library.
This is the modified example sketch from the TinyGPS library. It samples the serial data from the GPS once a minute and if that data is valid it writes it to the SD card.