Back in October of 2012 I won a Nike FuelBand during a fundraiser at my CrossFit gym*. I'm really into data collection, so I was excited to have a 24-hour activity logger. I had no idea how the FuelBand worked. I didn't see any galvanometer probes (perspriation), IR LEDs (heart rate), or any kind of restrictive elastic (blood pressure), so clearly it wasn't taking biometric readings. Since I'm fairly up to date on common sensor technology, that left only accelerometers and gyroscopes. If I'm missing anything, please email!

I immediately noticed the first thing most everyone notices: the more you shake the fuel band, the more the metric of NikeFuel increases. Obviously this isn't a sophisticated measurement, and their use of the arbitrary NikeFuel metric seems to be an indication of this. I realize the limits of wearable telemetry, so I view this product not as a scientific device designed to measure caloric expenditure or VO2max to five decimals, but rather a way to make exercise quantifiable, and providing a mechanism to develop a routine for folks who need that extra nudge.

This led me to think: how could I capture more detailed metrics about my workout. I came up with about seven different sensors I could build that would be non intrusive and build on just motion data alone. But first I had to actually make my own wearable platform with a very basic motion detector.

This instructable uses a 3D accelerometer mounted to an Arduino Uno, flash memory for data recording, and a fairly rough user interface to control calibration, logging, and file management. All on a small wrist-mounted package. (I like the Uno because of its size, the prototype shields give way more space than the smaller devices.)

Bill of materials:

Arduino Uno
SparkFun 3D Acceleromtoer (and some pin standoffs to solder it)
DFRobot LCD Keypad Shield
DFRobot Uno Prototype Board
5x 3.3V Zener Diodes
SPST Slide Switch
8mbit W2Q80 WinBond Flash Chip
Four 1/2" standoffs & 8 screws that fit an Uno footprint
A small quantity of 20ga solid strand wire
4xAAA Battery Holder
4xAAA Batteries
Duct Tape

* Sadly, my fuel band was consumed by a friend's dog a few weeks later. Unfortunately it did not survive the journey through the canine's gastrointestinal tract, not that if it had survived I would still want to use it.

Step 1: Wire the Accelerometer

Pick a spot on the shield and solder an 8 pin header down. Place the 3D sensor on the header and solder it down too. Make sure you leave enough room to solder down the flash chip in the next step.

The sensor has eight pins. Two are for power and ground. One puts the device to sleep. Three are the X, Y and Z analog outputs, and the last two are mode configuration.

The mode selector allows you to tune the sensitivity of the device to 1.5g (00), 2g (01), 4g (10) or 6g (11). I opted for 1.5g, and only exceed that rating on a few movements. The tradeoff here is fine-grained fidelity versus dynamic range.

Wire VCC to 5V, ground to ground, sleep to ground (so the device is always on), and both config pins to ground. Wire the X, Y, and Z pins to the shield's analog 1, 2 and 3 pins, respectively.

About This Instructable



Bio: I'm a 20-year Intel vet with all sorts of design experience, both hardware and software. I enjoy making electronic gadgets, and I'm really ... More »
More by ptorelli:How to String Your Bass Like a Cello Arduinolyzer.js: Turn your Arduino into a Logic Analyzer Designing with Discrete SPI Flash Memory 
Add instructable to: