Electronic – IMU (gyro + accelerometer) breakout board with integrated Kalman filtering

accelerometergyroimu

I am in need of a reliable gyro/accelerometer combo, that already has built-in motion processing (don't want to deal with Kalman filters in software). It seems that there are breakout boards out there (like IMU Fusion Board – ADXL345 & IMU3000), offering built-in motion processing, but the online comments sections reveal that that is not the case, or that it is rather hard to achieve. The MPU-6050 sounds more reliable, yet there is no official breakout board available yet.

The whole project will consist of ~25 sensors, that will all be connected to a desktop computer. I want to avoid having to do the heavy Kalman filtering for all sensors in software on the computer. Therefore i am looking for a sensor-board that already integrates the filtering.

  • DOF: I actually only need 1 DOF as the project has just one rotation point (think of a swing). But all available boards seem to have the maximum DOF.

  • Range: >= 150 degree/second

  • Frequency Response: >= 100 Hz

  • Noise: I am really hoping for a quite noise-free signal, to avoid heavy interpolation-filters later on (on the desktop computer)

  • A plus would be if i could daisy-chain those boards together. If not i'll have to add another hardware piece that chains them together.

Any recommendations or comments would be appreciated!
Thanks!

EDIT:
I found this MPU-6050 breakout board at drotek.fr, looking for some experience reports now.

EDIT2:
I opted for the Razor IMU in the end, even though it was a bit pricey. There is pretty good firmware around.

Best Answer

I've worked on a project to implement the Kalman filter on an embedded system that was similar in hardware to the iNemo unit from STMicroelectronics.

Even if you can find these IMU (Inertial Measuring Unit) with 90% chance you will have to implement your algorithm by yourself; or if you're lucky, you can find someone that has the code. The problem is that this filter requires a lot of computation, and in our best experiment (using fixed point variables and trying to optimize the code) we were able to run it 45 times per second, in a STM32 at 72 MHz.

So maybe there is one, but as far as I know requires a good microcontroller or maybe a FPGA\ASIC.