IMU Motion Sensor

Nito

In 2015, while working at the University of Central Florida Institute for Simulation and Training, I was tasked to design and build a generic and inexpensive orientation sensor that could be used to give orientation sensing capabilities to the many prototype HMDs we had in the lab so that they could be used in research experiments. After a few hours of research I decided to use the Bosch BNO055 9-DOF Fusion Sensor, which combines a 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer, and 32-bit micro-controller with an advanced sensor fusion library, all in a tiny silicon package of less than 22 mm³. Conveniently, this chip was available with a minimal breakout board from Adafruit for less than USD 35. To get it working I hooked it up via I2C to a Teensy Arduino USB development board. I have used the Teensy many times before in other projects, and thus it only took me a couple of days to do the hardware integration and write some test code. The resulting product was very stable and extremely responsive with minimal latency and drift. For less than USD 100 in hardware, and a couple days of effort I was able to create an IMU with excellent performance in a reasonable package size for most applications; and since most of the functionality is in the Bosch chip, the size can be dramatically reduced if needed.