Compass variance on Copter 3.4-rc1 on Navio 2

I tried both the latest emlid package of 3.4rc1 and a build from git hub ardupilot master. I am not sure if there is any difference but here is what I notice

3.4rc1 from emlid (compass 1 and 2 enabled. neither set to external) Compass 1 offsets in the green and 2 in the yellow.

3.4rc1 from ardupilot master/git hub (compass 1 and 2 enabled. neither set to external) Compass 1 offsets in the green and 2 in the yellow.

I notice that all axis seem to follow each other (mx and mx1 show same movements etc.) although the X and Z axis readings are fairly the same, the Y axis has a large separation. I do no know enough about the EKF filter but I am thinking this difference in the Y axis is what may be giving the compass variance error?

Last shot with 3.4dev (compass 1 and 2 offsets all green)

1 Like

Hey guys,

We are just back from the weekend (had a public holiday on monday), thank you for reporting the issues.

ArduCopter is moving towards 3.4 release and the first release candidate RC1 appeared a few days ago. For us it is very important to make sure that there is proper support for Navio2 in the 3.4 so this is why we are promoting release candidates here.

We will be looking into the issues that you are experiencing and will update the thread once we find the cause.

Thank you for the reports and positive attitude :slight_smile:


Guys, thanks a lot for your patience. We’re working hard on working out every problem we can. It’s a beta release, so it’ll take some time, though.

I’ll answer as much questions as I can and as soon as I get the answers.

The first bug we’ve been able to crack with your support is a Compass Variance error. Thanks to @Nikker we’ve got the data and I was able to reproduce the issue with Mission Planner, Navio2 and Raspberry Pi 2. The problem as it turns out wasn’t the ArduPilot but Mission Planner! So in order to overcome this very strange “gap” in my and my2 one MUST perform Onboard Mag Calibration rather than Live Calibration. Take a look at these two consequent calibration endeavours:

  1. Live Calibration

  1. Onboard Calibration

As you can see the problem is gone in the second case. The most confusing part about onboard calibration in Mission Planner is that offset don’t get updated instantly. One needs to switch tabs in order to see the effect:

So I guess a lot of your problems will disappear once you recalibrate your compasses with this newer technique.

We’ll add a docs entry about it and file a bug report for MP’s team.

1 Like

George, two things

  1. Does this affect the Navio+ as well?
  2. APM Planner only has the “Live Calibration” option will it suffer from the same problem?
1 Like
  1. Navio+ has only one onboard compass, so it should not be a problem.
  2. I guess it’s a MP bug, but I’ll check Navio+ and an external compass tomorrow with APM Planner.
1 Like


Thanks for the info, glad I could help a little! I am out of town this week but still brought the laptop and navio with me. Will give it a try!

Quick question, is anyone familiar with onboard calibration? I’ve never seen any documentation on it…?

I’m not familiar with it however, last time I tried it… because I did the first time I updated to 3.4 rc1 mp shows a percentage as it counts up to finish and mine always bounced fromy 10% to 0 and so forth and so on and never would finsh

This is all I’ve been able to find. Going to give it a shot this afternoon.

I’m about to give it a whirl… Fingers crossed

I can confirm that on board compass cal did remove the inconsistent compass alarm

I too can confirm the onboard cal. The copter behaves beautifully now in Poshold! Thank you Team Emlid and fellow Navio users!

Could somebody describe the onboard calibration process? I see the percentage rising as I turn the copter but I dont know when it ends or if it ends when I hit Accept.

It’s done exactly the same as the live cal except you use the onboard cal and it doesn’t auto finish. Just hit start, do the compass dance in every orientation you can think of, then hit accept. Reboot to use the new offsets.

So I tried it all today. There was no way I could get rid of the compass variance, manual declination, on board calib, etc. I now use my external compass only (primary) and disabled the Navio2 compasses. That works.


I noticed that the “use external compass” is now unchecked and the orientation is not 180. Is this the case for the 3.4 rc1. I know in the beta version that was released awhile back we had to select external compass and on compass #2 we had to select ROLL 180.


I’m glad you got it to work. I don’t quite understand how one works but not the other. And I’m not sure this matters but my primary compass is set to compass 1. Other than that, I left the compass settings just as they were in the upgrade.

Yes, you don’t need to check it anymore. Sorry for the confusion. The docs have been updated to reflect this change.

I’d be eternally grateful if you could provide a log. So we could look into compass problems once more.

I’ll get you one this afternoon but I think my compass issues are squared away. Maybe you could look the rest of it over too and double check :smiley: thanks!

I just tried using the onboard calibration. It seems better but if I keep spinning the navio2 on the Z axis (rotating it flat on table) the error compass variance still rises and occasionally hits 0.5 and EKF lights up orange. I also get bad AHRS warning. I tried calibrating accelerometers and compasses a few times and restarting but does not seem to help