Detecting bad compass health issues

On ArduPlane, what is the best way to diagnose the cause of bad compass health errors?

I have a new plane I am setting up and have properly done all the compass calibrations and orientation and compass is perfect on the ground. However, in the air we get bad compass health readings and it’s clear in the logs clearly show the plane thinks it is pointing in a different direction than its moving.

I am almost positive it is due to interference with either the wiring for the ESCs/motor.

I was looking at the logs and saw there is a “noise” and “Mavnoise” status parameter. Are there any indication of interference?

Is there anything like Compassmot for ArduPlane to detect if it truely is an interference issue?

The GPS/compass is mounted on the back of the tail. The only thing close (about 6 inches away) is the elevator and rudder servos. But, it is a twin as well with 2 motors and ESCS that could cause problems too,

What’s the best way to diagnose this?


if no power wires are near the magnetometer(s) - try enabling Autolearn, or learn manually until better.
Fortunatly, there are no serious consequences of bad compass calibration in a plane.

The worry some part was in RTL the plane was flying very far away and not doing a nice circle like it should be. We had to take it over manually to make sure it didn’t go out of sight.

While we have just started tuning, even with the default values, I don’t think that should be happening.

I don’t think I’ve ever flew with a never-calibrated compass. - but I think the problem you’ve experienced (bad circle) may be a combination of bad compass & bad PID’s - given the early/unfinished tuning stage you seem to have been at.

yea, all tuning is basically stock as we only ran he auto tune a few times before landing because of the compass health issues. There’s a few things were going to try to solve the compass health issues and then continue tuning, however, many of the tuning steps requires automated flight so hopefully it’s not a catch 22.

calibrate compass on ground, set all control surfaces and trim values so if flies fline and level in Manual, then autotune (or tune) - and expect it to fly fine in FBWA when done, then test airspeed limits in FBWA/stabilize and set up/tune autothrottle in FBWB

That’s where we’re at currently. Did manual trims and auto trim, then did one interation (30 times each) of auto tune at level 6. Next is to tune the airspeed sensor and then start the TECS and Nav controller tuning. The concern was the compass issues and the RTL circling was horribly off.

I’ll update again once we change a few things and get back out to the field. Hopefully with a few changes it will be all good.