We have been using 3.3 in our copters for a while now and we see a lot of issues with compass variance.
We are quite sure there some be something in the code that is triggering these errors as it happens with a bare pixhawk on the table.
In our particular case we sit a standalone pixhawk in a table and connect with usb. We connect thru mission planner and elf is OK. We take it and give 180deg yaw turn and elf is red.
Why?
Same happens in flight with external compasses etc. I have even seen a small toilet bowl one of the times .
We know it is not interference as it happens with no motors running and as mentioned with a standalone pixhawk.
Check your compass offsets. There is a bug in 3.3 that will change the offsets on the fly for you. I would write them down and see if they are changing.
On 3.3.3 is it then recommended to turn of the automatic learning of compass offsets?
Will that sort the mentioned problem with the offsets changing to bad values?
Not sure this is a related issue but I’ve had compass issues in flight. The copter’s responds at a 45 degree offset to the manual commands I give it through my transmitter. This state seems to be invoked after swtiching back out of a compass contolled flight mode into Stabilse.