Possible to disable internal compass?

We have some onboard electronics which switch on/off during flight. We know when these systems are activated they cause MAJOR issues with magnetic interference with the onboard (Pixhawk) compass. It is enough to cause a flyaway/crash when in an autonomous/loiter mode. The external compass is far enough away that it is almost entirely immune to this.

Is it possible to disable the internal pixhawk compass?  Basically we would never want to fly unless the external one was operational and if the system fell back to the internal compass it would certainly cause a crash.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


    • I had similar things happen to my setup.  While it is not possible to disable the internal compass yet, I had to relocate the autopilot to a place less susceptible to EMI.  I noticed that with the autopilot too close to the engine on my helicopter it caused the internal compass to drift which then caused compass errors even though the external compass was working properly.  I made various attempts to shield the autopilot from the EMI generated by the engine but nothing worked, I just had to relocate it to a better place.


      • I wish I could just shield it or relocate it, but there's apparently a problem with the actual internal compass on my PX4. I took the entire PX4 off of the hexacopter, set it on my wooden dining room table, and plugged it into my computer with a USB cable. Mission planner showed the heading continuously changing even though the PX4 was motionless on the table.

        With no way to disable the internal compass, this PX4 is going to be useless in a multirotor. If it was in an airplane I could just set the "compass_use" parameter to 0 to force the PX4 to use the GPS heading rather than the compass heading. But that won't work on a multirotor because when it's hovering the GPS heading will drift all over the place. 

  • AFAIK the autopilot mainly relies on external compass. Most people (and me) fly with such setup but it doesn't cause crashes. The autopilot considers compass errors level (and maybe compass location (internal or external)) to avoid usage of wrong data.
    You can use PX4 flight stack to be sure that only external compass is used. I'm sure that current code works in such way.
  • Yes, Randy explain that in one of the latest beta 3.3 there is a param to disable, I don't have Pixhawk to check but if you have the latest beta you can find on params list, if I find the post I share.

    • Did anyone find the setting? I am running APM 3.3RC5 but haven't found the param to disable the internal compass.

      I am getting different compass error messages. I have a bunch of wires running near the Pixhawk and I am pretty sure there are interferences. Setup worked fine with APM 2.6 and external compass.

      • Do you have the EXF enable? a friend solve enabling it

  • Have you found anything out about this?  I am having a similar issue. 

    • No, but we are not running the latest firmware.

      We added a preflight procedure to ensure that the compass readings are normal before flight. In our case, we activate our payload and watch the raw compass readings to ensure they are not affected.

      As long as the external compass is indeed connected and working we've had no issues.

This reply was deleted.