I have been flying my quad with APM2.5.2 (internal compass cut) and Arducopter 3.1.5 for many years without any problems all over the world
For some months, I often get a “bad compass health” message and cannot arm. Not always but almost always. So I bought a new compass and GPS combo (M8N+compass)
First thing I noticed that orientation with is incorrect. At roll 180°, all directions seem to be correct. So I did two flights. They worked but in LOITER it was flying in a cicle even at 13 sats and HDop of 2 . At the third flight I got “bad compass health” again and I could not arm.
So I flashed the newest firmware possible (v3.2.1) but still “bad compass health”. I attached some screenshots from the last flight with new GPS and compass without “bad compass health”.
What could be the problem? Compass is calibrated and orientation seem to be correct.
I know there are already some threads about this topic and APM hardware is no longer supported but maybe there is an easy way to fix it.
Edit: Today I tried another flight and there was no Bad Compass Health. Also Loiter worked fine! Is it possible that it is dependent on the temperature?
And it goes on…
Last week I did a perfect flight without any problems after I added mu-metal just below the compass/GPS-unit.
Today I tried another flight but Loiter was not working. The copter always started to drift away by accelerating its speed in Loiter mode. During decend, first time I got an OSD message “DCM Bad heading”.
I did compass calibration for a dozen of times and the distance compass-ardupilot is already 7cm (was just 2cm with old compass) and the compass is shilded by mu-metal.
After I did compassmot I did not get the bad compass health warning anymore. But GPS modes still do not work correctly. The copter still flies spirals with increasing speed as shown before.
Which different GPS/Mag combo could I test? I am using the cheap M8N combo from banggood which works well in my other models but here it seems not. Distance between FC and GPS is already 15cm and shielded with mu-metal on the bottom.