Cannot calibrate compass

  • Latest Emlid Buster image
  • Ardurover 4.0.0
  • Mission Planner 1.3.70
  • Raspberry Pi 3
  • HMC5983 External Compass Module plugged in the I2C port

I cannot get the system to complete a compass calibration and save the values. Most of the time it moves along very slowly then gets stuck, progressing no further (please see photo below). If I make it to the end, it does not record any offset values, it instead just goes back to zero and starts again.

I’ve tried unsuccessfully with compass 1, compass 2, compasses 1 & 2, and then the external HMC5983 module shown set as external compass 3. Results the same for all three.

Tried outside away from metal too.

Can someone offer any advice?




I ran into the same problem. Navio2 on a rover with an aluminium body. I connected an external GPS/compass module from a Pixfalcon and all compasses failed to complete the calibration process. Even with “relaxed” accuracy. I tried to do the compass learning while driving around, but that also failed. Disconnecting the external compass only meant one less compass failing.
I thought the big metal body might be the problem, but after swapping out the Navio2 for a Pixfalcon, the compass calibration went through without a problem on “default” accuracy for all compasses.
I am sorry that I can not offer more of a solution, but my arms got tired from juggling the 5kg rover.

Thanks Sebastian, same situation for me - Mission Planner can successfully calibrate compasses with my Pixracer.


Hi @flyingw,

May I ask you to share the hardware setup photos?

The behavior is weird, I’d like to check if there is something that can affect the compass.

Hi Svetlana,

Here is a photo of the setup on the bench. I use the wifi dongle instead of the internal wlan0, but whether I used wlan0 or wlan1 it made no difference in compass performance.

Another thing is that the heading is never correct or consistent. RIght now it is showing about 75 degrees west of the actual heading. Bu that will change with the next boot-up.

What are the exact compass settings I should use? I tried:

Compasses 1 and 2, 1 as primary
Compasses 1 and 2, 2 as primary
Compass 1 with 1 as primary
Compass 2 with 2 as primary

Neither are checked as external.

All results similar.




I just discovered that when I move the Navio2 to a different location in the room, that I am able to get good compass readings and also calibrations.

So it must be the electromagnetic environment at my desk that have caused the problems.

Thanks for your consideration.


Hi @flyingw,

Thank you for sharing the solution!

Did you calibrate using the external compass as a primary?

Yes, compass #3, external, as primary.

Hi Paul,

Thanks for the clarification. It might be useful for other users who face the same issue :slightly_smiling_face:

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.