It's not the cheapest option (once you get it to Australia, anyway), but I'm very familiar with the Flora platform by now, and this is a very self-contained solution. It's got built-in data logging capabilities, so basically you wire it to the microcontroller, load the logging program, and away you go. It's also got an internal antenna. To get a location fix, the antenna needs to have direct line-of-sight to the sky, which brings with it the unique and pleasant opportunity to do electronics work outside:
I found the online instructions quite easy to follow. There's a ready-made software library which includes programs for capturing and downloading GPS data from this module. Here it is in the Arduino IDE:
- Load leo_locus_status to the microcontroller to begin logging data.
- Once you've gone outside and logged some data, load leo_locus_dumpbasic to download the coordinates. More on what to do with this below.
- To erase the existing data on the GPS module, load leo_locus_erase.
It doesn't mention this in the Adafruit instructions, but if you forget to erase your last dataset before creating a new one, the next set of coordinates you download will also include your last trip.
The raw data looks pretty daunting, but with a few simple steps you can plug it into Google Maps, getting a user-friendly visualisation of your journey:
- Parse the data - Adafruit provides a simple online tool for this.
- Copy the data marked "KML Output," paste it into a text file and save it.
- Go to My Maps - a functionality of Google Maps - which gives you an option to import the KML file. Contrary to Adafruit's instructions, I found I had to re-save your text file with the .kml extension before you can import it.
Another really useful tool I found was this GPS coordinate converter. Coordinates can be formatted in several different ways, and if you directly paste a set of coordinates from you dataset into Google Maps, it won't recognise it. It also helps to jump onto Wikipedia and get a rundown of how coordinates are expressed and what they mean.
Back on the hardware side, this is my completed GPS logging set-up. The black battery pack fits inside this little pocket, and holds 3 AAA batteries, which can power the Flora microcontroller for hours at a time. The coin cell battery is to give the GPS module a boost as it powers up and gets a fix.
There's a brooch pin on the back, which I used to fasten this to the outside of my handbag as I took a train journey from West Footscray to Mount Waverley. Not suss at all...
Click here to see my path. Once I zoomed in on the route, I was impressed with the amount of detail that came out. This is me arriving at Flinders Street Station, walking around on the platform, getting food on the concourse and walking down to another platform to catch the connecting train:
Click here to see my path. Once I zoomed in on the route, I was impressed with the amount of detail that came out. This is me arriving at Flinders Street Station, walking around on the platform, getting food on the concourse and walking down to another platform to catch the connecting train:
Pretty awesome, in my opinion. On the other hand, I clearly did not fly over from Flinders Street and land on one of the platforms, as the path indicates. Still, I'm very happy with the story this visualisation tells.
But you're probably wondering, WHY? Well, there's not always a "why" to a maker project, but in this case there is, and it's this gorgeous creature:
Meet Georgie, my sister's cat (or as I prefer to call her, my fur-niece). She's mostly an outdoor cat, leaving the house when the humans get up, and returning whenever she damn well feels like it - sometimes quite late at night. I stayed with her and her humans for a while earlier this year, and couldn't help but wonder where she went while she was out. A couple of months later I watched the Cats Uncovered documentary on SBS, in which three groups of cats (city dwellers, village cats and farm cats) had GPS trackers and cameras attached to them, so that researchers could collect data on their movements and interactions. At that point, I knew I'd have to impose on Georgie at some point.
There will be two major challenges to getting this project ready for cat deployment. The first is form factor: My current arrangement is simply way too big for a cat. I have some tiny microcontroller boards which could work, although I think I'll have to use a voltage regulator (the component on the right) since they're both 5v boards, and the GPS module is made to work with a 3.3v board:
Ultimately though, the biggest component is the AAA battery pack, and I'm not sure there's much can do about that. Here's where I consult the wise denizens of my Hackerspace.
There will be two major challenges to getting this project ready for cat deployment. The first is form factor: My current arrangement is simply way too big for a cat. I have some tiny microcontroller boards which could work, although I think I'll have to use a voltage regulator (the component on the right) since they're both 5v boards, and the GPS module is made to work with a 3.3v board:
Ultimately though, the biggest component is the AAA battery pack, and I'm not sure there's much can do about that. Here's where I consult the wise denizens of my Hackerspace.
The second, and probably bigger, challenge is getting and keeping the device on the cat. Georgie is not a huge fan of collars anyway, and has found her way out of many of them. My sister suggested we get a harness rather than trying to attach the module to a collar, and keeping the whole device as small and light as possible can only help. There'll definitely be some fittings and testing around the house before I can start collecting the really interesting data.
Stay tuned for more - hopefully Georgie will still be talking to me when this is all over.