That's some crafty workmanship there.
I had to break out the kids optic / survival toy again so I could double up the lenses and see what I was doing. I love that thing. I swear one of these days I'm getting something just like it for myself, except with a light and a way to strap it on my head.
Yeah, I know. Who needs a GPS when you got one of these beauties.
Surprisingly, the GPS actually worked right away. Well sorta. Apparently you have to flip the thing so the antenna side faces up. That took me much, much longer than you might imagine to figure out. And it still bites me about every other time I try to use it. What are the odds of that? Anyhow, I spent some time off and on over the next few weeks tinkering with the software and made my NMEA parsing code in pspmaps somewhat more robust before taking it out in the car for a road trip to Boston. I had a brief moment of panic when I laid the GPS on the dash, antenna side down, and the map refused to move. Darn it.
Antenna side up works better.
Here it is tracking one of those seemingly endless miles we covered on the highway. You probably can't see it too well due to my shoddy camera work, but the route is mapped out in a blue overlay.
Beware. Shaky-cam gives me a headache.
Sadly, this is the wife's car so the background music is provided by "Boston's favorite radio station", and not my awesome collection on the zipit.
This GPS runs off the +3.3V line exposed by the zipit expansion connector, so it works just fine on battery power only. That's a distinct advantage over the USB GPS. And now that the weather's cooled off a bit, my wife has started agitating to do some local hiking. So I'm planning to take the zipit along to see how far its ancient battery will go with the GPS active. Hopefully we won't get lost.
Another advantage over the USB GPS is this new setup works on an IZ2S SD card with the stock zipit kernel and bootloader, so no flashing is required. Just pop in a mini SD card loaded up with IZ2S and boot. No hardware mods are needed either, other than slicing up the Axim cable. So I left the scary soldering gun in the closet. You could conceivably do this with an off the shelf zipit, if you could find such a thing, and a mini SD card loaded up with IS2S. I've got the new pspmaps installed now on the old rockbox zipit that I keep in the car at all times for music that's not on a ClearChannel playlist.
For the code I reworked the built-in NMEA serial polling bits in pspmaps, so now it's configurable by editing a very simple gps.dat file in the pspmaps/data directory. And it's robust enough to handle multiple GPS disconnect / reconnect events. It'll also try to use gpsd if it finds the gpsdclient shared library, but I wouldn't recommend that unless you really need to multiplex the GPS data to more than one client program for some reason. The pspmaps sources are updated on github. And it's also bundled up in a package for the bleeding edge openwrt zipit linux distribution.
Last but not least, I wrangled some example code from the internet into a script so I can quickly set the system clock on the zipit from the GPS. That might be handy if I were to go on an evening hike away from the wifi and just happened to lose my watch and phone, but not the zipit and GPS dongle. :-)
Here's the script. It also saves the fix location to a file in /tmp. Maybe someday I'll add an option to the nightsky program to look for that file.
Here's a new IZ2S pspmaps executable.
This is the new "bleeding edge openwrt" pspmaps package
I also have an executable for the older openwrt distribution (built on uclibc instead of musl) but I have to track it down and maybe make a package. I'm pretty sure I posted a link to it, so you can search for it in the zipit IRC logs. Or just make the move to the bleeding edge openwrt like everyone else...