Compass variance known problem?

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.

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.

If we install 3.2.1. everything goes smooth.

So any ideas?

Thanks !!

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.


I did not know of such a critical bug! Lol

Does it overwrite with some predefined values or just random ones?

Is there an issue raised in GitHub ?

Yes, it was corrected in 3.4 dev but not sure of 3.3. EKF tracks the compass offset of the current compass and tries to learn it and once disarmed it updates the offsets for the current compass. The code was updated to be properly handled:

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?

I see from the 3.4 thread that it does not help to turn off the automatic learning on 3.3.3. it stil can store the new values.

If the problem is related to compass offsets changing randomly , wouldn’t it be adequate to publish a patched 3.3.4 version?

Compass is the main source of flyway and a very critical sensor for navigation.

I will try to upload some logs but it seem a critical bug to me

1 Like

Back to 3.2.1 then.:disappointed:

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.