Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Highest accuracy minIMU-9 settings for heading detection


Hi everyone,

I’m now a happy owner of two MinIMU-9 boards - v3 and v5. I’m using them with a Raspberry Pi via i2c interface to estimate heading of the robot (I need relative heading to turn for a specific angle).
The boards are working fine; I just want to make sure I’m getting as much precision as I can from these. Do you know which parameters are best to tune?

So far, I’ve learned about full-scale and frequency; I understand that the “full-scale” is, roughly, what’s mapped on the signed int16 value range (i.e. ±8 full scale means 32767 is 8 and -32768 is -8).
The frequencies I can read with Raspberry Pi via i2c are ~800 Hz with my library, which is one of the highest settings for the sensors. My question 1 is, what is the benefit of setting a lower frequency in the sensor? Is it going to save a bit of power (probably very insignificant - in my project the robotic arm and wheels are consuming most of the power anyway)?

Question 2 is what other parameters, like a high-pass filter, I can tune to achieve highest accuracy?

My final question is do I have to calibrate the compass if I only need a relative angle? My guess is yes, but I’m not yet good enough in the heading computation math; I’m still trying to set up all the sensors.

Thank you!



Hello, Artem.

Our understanding is that saving power is the main benefit to a lower output rate; you are probably right that this will be an insignificant effect in your system.

We have not done a lot of work to try optimizing the accuracy, so you will probably get a better idea of how to do that by reading the datasheets and other documentation and experimenting with the sensors yourself.

Yes, you should calibrate your compass to get a more accurate heading estimation from the MinIMU-9, regardless of whether it’s for an absolute or relative angle. If you are running Raspbian, you might be interested in this MinIMU program for the Raspberry Pi, which includes a method for calibrating the MinIMU.