so i was trying to calibrate my internal Navio+ compass today, but i ran into same issues. First off, the calibration procedure in Mission Planner is really hard to pull off, because most of the time the calibration stops at 3 Samples, even when there is no “Bad Compass Health” warning in MP. But i finally got it working and was going out to fly it. But at the field, the “Bad Compass Health” Error popped up again. I already used the C++ script and always saw MAG Data when the Error was showing.
So i connected an external compass to the I2C Port (HMC5883L) and it worked. The calibration also went by with low offsets in the 100~ range. But it does not point in the right direction. I tried everything i could in MP but it is always off by some 20 Degrees. I then used a Python script to see the Heading, and it was better than in MP.
Maybe some of u used the Adafruit HMC5883L before and know what the right direction is?
Or even better maybe someone knows how to get the internal Compass to work right.
I hope you can help me