The hardware involved in this project was actually suprisingly easy to put together. Everything is available as modules and you only need half a dozen bits of wire to string them together.
We’re going to use wifi to transmit the data we measure to our iPad/iPhone/display: we do that with an RN-XV WiFly module. I got mine from Sparkfun, amongst other places.
For a power source I suggest a Lithium Polymer (LiPo) cell, also available from Sparkfun. In another post I’ll try to write up some suggestions of how you can include a charging circuit for the LiPo, but that’s icing on the cake. Or you can use AA or AAA dry cells, according to taste.
The interesting component is the microcontroller board and its associated sensors. I chose to use a Mongoose board from CK Devices, a company in Edmonton, Alberta. There are several similar boards available; Sparkfun make one they call the Razor, and I’ve also got one called ardIMU. All have the same basic idea: a microcontroller (from Atmel) connected to some gyroscopic sensors, some accelerometers, and some magnetometers. The sensors let you measure, in order, how fast you’re turning, how fast you’re accelerating, and which way the earth’s magnetic field goes. The processor will run software to combine the measurements into an indication about which direction is “up”, and which way is North.
Although all these boards fulfil the basic criteria, there are differences: the Mongoose includes a barometric pressure sensor so you can measure your altitude while the ardIMU has a built-in connector for a GPS device. The Mongoose runs at 3.3V and will run directly from a 3.6V LiPo cell, but the ardIMU runs at 5V so would need a step-up convertor. The mongoose also has a tiny power on-off switch. If you want to use the software I’ve written (rewritten) then you can use either the Mongoose or the ardIMU; I’ve made sure it works on both. But if you’re minded you can adapt it to run on anything similar.
At this point I need to say something about the Arduino project: one of the difficulties of starting a project that uses tiny “embedded” microcontrollers is the steep learning curve at the start. You need to install a lot of software on your computer, learn a lot of new programming skills, design a lot of hardware etc. before you get to do anything interesting. The Arduino project changes all that: by using their (free to download) software along with an Arduino-compatible circuit board you be doing interesting things with microcontrollers within a few minutes of starting out. The Mongoose, the ardIMU and the other similar platforms that I’ve seen are all Arduino-compatible.
The last thing that you’ll need is a small circuit-board to connect your computer to the microcontroller, via a USB port. It’s called an FTDI board and you can get a good one from CK devices again, or Sparkfun as well as lots of other places. Here’s a photograph:
To summarize, the parts required are:
- Inertial plaform, Arduino Compatible (Mongoose, ardIMU or similar)
- RN-XV WiFly module
- Power source like a LiPo cell
- An FTDI board to connect to your laptop
I also recommend using a “breakout board” for the WiFly module, to make it easier to configure and connect. Something like this one from Adafruit, or this from Sparkfun. The WiFly unit must run on a 3.3V supply. The Adafruit breakout board has a power regulator and level translation so you can run it from 5V, which would be useful if you use the 5V ardIMU. If you’re using a Mongoose board at 3.3V then you can skip the components on the Adafruit board, but you’ll have to jumper a couple of connections with a wire link.