Month: February 2011

  • Garmin vs Arduino GPS dance-off

    So I built a GPS logger. It’s an Arduino Uno with the SparkFun microSD and GPS shields. No display, massively unwieldy, but it does spit out a track point every second and logs it fairly reliably to microSD. It works as well as my expensive old Garmin GPSMap 60Csx, as a walk around the block shows:

    Excuse the noise at the top of the trace; both units were brought inside. While they keep a tenuous lock, they certainly don’t give much accuracy. I think the Arduino did rather well; certainly better than my BlackBerry

    Now all I need is a case and a more useful power supply. I was disappointed that a USB MintyBoost charger didn’t seem to work for long, causing the GPS to lock up.

  • fixing garmin file dates

    While the Garmin GPSMap 60csx is a lovely unit, it saves its tracks on the card with a date just slightly younger than I am. The following Unix one-liner will correct the file dates to the actual dates the data were collected:

    for f in 20??????.gpx; do touch -t ${f%.gpx}2359.59 $f; done

    I remember having a really awesome reason for making the time for each file 23:59:59, but I’ve completely forgotten what it was. Since all I remember was the awesomeness, I see no reason to change it …

    Update 2013-09-25: changed the call to basename with a Bash internal string function.