We have lately been working on some projects that involves measuring and interpreting motion with inertial sensors. We have done experiments with iPods, iPhones and other dedicated motion trackers.
We also tried to create a tracker on our own using the Invensense MEMS mpu-6050 chip. It’s a 6 dof inertial motion sensor with an embedded tri-axis gyro and tri-axis accelerometer and some kind of motion processing unit on it as well. Getting the data from this sensor on our iPhone took al little more than just ordering this chip so we decided to use the Sparkfun break out board version, together with the WiFly shield featuring a Roving Networks wifi unit and put them both on an Arduino Uno. It took some fiddling to get the wiflly board into adhoc udp mode, but now we were able to connect an iOS device on the adhoc wifly network and transmit UDP messages containing sample data from the mpu-6050. Using a tweaked GLGravity example xcode project as a data visualization tool we had a nice prototype of this little system. Right now we are able to get 20 captured samples per second over the air to the iPhone but it appears that by forcing the UART of the wifi unit into an higher baud rate (and also the UART baudrate on the shield itself) could easily increase the framerate. We haven’t tested this yet though.
As you can see in this photo I’ve soldered the mpu-6050 breakout board just beneath the wifly shield onto the prototyping section on this shield. To keep things nice and compact. In a practical situation it might be not ideal to have the chip upside down. Beneath you can see the board in action