» next  » last 

Jump to:


The Klog: Walk Logging, Linux Style

1. If a Blog is a "Web Log" then a "Walk Log" must be a Klog...



The Long Walk this year will run from Bude to Lands End. A distance of around 130 miles up and down one of the most rugged coastlines in Britain. Ten of us, assisted by our trusty support team, hope to walk it in only eight days.

That's no mean feat, and I want conclusive evidence that we did it: Every mile we walk, our route, the photos we take and the videos we make along the way, I want all these details available to the world on Logical Genetics. Forever. I want to bore my Grandkids with tedious Google Earth slideshows of my epic journey every Christmas afternoon.

Anyway, this was clearly a job for a GPS module and the trusty Gumstix embedded Linux platform I ordered way back in 2005. Development wise, the project has tested my knowledge of every level of software (and hardware) development: Soldering parts together, debugging them with Richard's oscilloscope, writing Linux device drivers, writing C++ applications to read GPS data and log it to an Sqlite relational database on the Gumstix, writing code to transform the logged data to KML (Google Earth's XML map format), writing Javascript applications to display the data in Google Maps and a whole load more.

This article gives a brief introduction to the project. I hope you like it. If you have any comments or questions then feel free to mail me: dan@logicalgenetics.com.

2. Components of a Klog



The basic components of the Klog are the Gumstix, GPS Module and a flashy customer reassurance LED which lets the user know everything's working as it should. I've played around with a tiny mobile phone screen and jogwheel/pushbutton interface too, but since they don't work at the moment I'm not going to talk any more about them.

Klog hardware
Figure 1: Klog hardware


The Gumstix is a Linux computer the size of a stick of chewing gum (see photo). The development environment is 100% free and support is readily available on the website and via an extremely active mailing list. I have a Gumstix Basix 400MHz with a 128Mb MMC card and a Waysmall breakout board. Pretty basic hardware which costs less than £100 to buy.

The Gumstix
Figure 2: The Gumstix


A Lassen IQ GPS module from Sparkfun Electronics is linked to the gumstix via a two wire (i.e. no handshaking) serial port. It uses the same Vcc voltage as the Gumstix, so integration is as simple as soldering 4 wires (Vcc, GND, RX and TX). The only hard part was mounting the tiny surface mount connector on a suitable PCB. I press ganged my good friend Richard into soldering the connector to a scrap board from work (he's better at it than me) and ran wires off that to the Gumstix.

Note that a 10p coin is roughly the size of a US quarter.  The Lassen IQ is small!
Figure 3: Note that a 10p coin is roughly the size of a US quarter. The Lassen IQ is small!


Once I was happy that all the hardware worked I shoved everything into a project box I found in the cupboard. Things to note in the picture include: Larger voltage regulator and heatsink installed (the backlight in the little screen I've been playing with made the old regulator far too hot), rechargeable AA batteries (last about 12 hours), GPS unit, Gumstix, miles of annoying ribbon cable and tonnes of wasted space.

If I could have made a PCB for the project it'd have fit in a much smaller box but time and money constraints prevented anything that professional.

The Klog laid out on the bench during development
Figure 4: The Klog laid out on the bench during development


In a box, screen and jogwheel removed for the long walk
Figure 5: In a box, screen and jogwheel removed for the long walk


Closeup of the three colour LED, for which I wrote a very noddy driver
Figure 6: Closeup of the three colour LED, for which I wrote a very noddy driver


An external GPS antenna is plugged into the Klog so it can be used in a car, on my bike or in my backpack when I go walking. Holes are drilled in the box for the USB connector and external power supply. I generally cover the holes with tape when out-and-about in case it rains.

I've given enough detail of the hardware on this page, so on the next page I'll give some details of how all the software works and show some screenshots of the various interfaces.

» next  » last 

Jump to: