If you are into hardware hacks and you don't live in a cave you know about Arduino's - small little micro controllers that can run code and interact with hardware. I had already been playing with Arduino's. I got my feet wet with a temperature sensor and a set of 8 segment displays for a readout. Anyway, I digress. So I figured whatever I ended up making, an Arduino would be the micro. Since I didn't really have a finished end product in mind I thought the shield route would be the most flexible on my route to a working prototype. Shields are collections of prefabbed electronics ready to dropped on top of an Arduino board. They make battery shields, GPS shields, Wifi shields, Bluetooth shields. You get the idea.
My two main supply sources for hardware hacks are Sparkfun and Adafruit. Sparkfun has some interesting stuff but I get a rougher around the edges vibe from them. Adafruit is very polished. Also they have excellent supporting documentation for their products - clear manuals and lots of good example code. For my first cut at a fitness tracker I decided to go with a GPS logger. One of my main forms of exercising is jogging so this seemed like a logical fit for me. I went with the following parts list:
- Arduino Uno R3 (www.adafruit.com/products/50)
- Adafruit PowerBoost Shield (www.adafruit.com/products/2078)
- Lithium Ion Battery (www.adafruit.com/products/2011)
- Adafruit Ultimate GPS Logger Shield (www.adafruit.com/products/1272)
- GPS Antenna (optional) (www.adafruit.com/products/960)
- Adapter cable (www.adafruit.com/products/851)
- micro SD Card
- Electrical Wall Box
- Thanks sonicase on Instructables!
Again I went for the shield style for easy plug and playishness. I only had to solder the headers on and I was good to go. The battery (a 2000mAh) is way overkill. But I didn't have a good feel for what kind of load all the hardware was going to draw. Full disclosure, I'm a mechanical engineer by training (although I do mostly software work now, weird huh?!?). So my EE skills are a little seat of the pants. Anecdotally, my tracker can run many hours without needing a charge. I've not run out of juice yet and I've started taking this thing with me everywhere I drive. More on that later. I typically charge it once a week.
Another hardware decision note: the built in ceramic antenna on the GPS logger shield works great on its own especially if it is pointing up. Since I was a little uncertain how I was going to mount this thing on me when I went jogging, I thought the most reliable thing to do would be to just go ahead and buy the add on Antenna. The cable is quite long but I just shove the whole thing in a fanny pack and sling it over my shoulder bandolier style.
As it turns out the Arduino fits quite nicely in a standard 1 gang electrical box. I saw mention of this in an Instructable (very neat site if you haven't checked it out. Although their incessant registration requests are super annoying).
The shield version is much bigger then it needs to be. I was just looking at a new Adafruit product, the feather. It could make the whole thing not much bigger than a pack of gum. Something to consider for Version 2.0.
Next time I will talk software!