Compass Problems on Pixhawk 2.4

I am using a Pixhawk on a 450 helicopter. programed with auducoptor V3.1.1 and using Mission Planner 2.95 Build 1.1.5150. 11972.
External compass CJMCU-GPS-HMC5883l. with U-BLOX Neo 6M
Compass mounted 400mm away from pixhawk on rear boom. GPS picks up to 9 sats. outside, and about 5 indoors. As I stated in my first post the compass was giving me varied readings. So I removed the cable from the Pixhawk and tried the internal compass, and that gives me varied readings.

I have tried turning the external compass (as above) by hand to see if it changes heading. It does not, so it must be using the internal one all the time. I’ve checked the cable, all is correct, I noticed that it is supplying 5volts. The external compass was removed from my 3DR APM 2.6 system, and that supplied 3.3volts. So has that fried my external compass. One would assume that if it worked on the APM board it would work on the Pixhawk.
On my last topic about ‘compassmot’ I got no help from the 3DR personnel on these forum

I think I am having a similar problem on my rover running 2.45. I just got a Pixhawk along with the UBlox GPS/Compass and got everything connected. GPS seems to get 5-8 sats even indoors. Compass cable is connected to I2C port on Pixhawk as indicated in the setup instructions. MP indicates that external compass is auto-detected on Pixhawk but even when I manually pick up the GPS module and turn it (separate from the Pixhawk) my heading doesn’t change. I’ve also tried setting the external compass param to 1 to see if that would force it and no change.

All of this is new out of the box yesterday never connected anywhere else. Is there possibly a hardware issue?

I assume that you conducted a successful compass calibration using Pixhawk/Px4 as the selected processor and that the compass offsets, after calibration, are reasonable?


Yes to all those, Using Pixhawk on compass setup. Readings vary every time but heading is OK for a short time. Auto update switched off. No motor running, heading changes.
Pixhawk I2C output is 5volts, External compass input 3.3volts. (OK on APM 2.6) so how is the voltage changed?


I think that I was moving to quickly during calibration and not stopping long enough with each axis pointed at north. Showing down and pausing a few seconds each time seems to have given me good calibration.

In addition some further forum reading it seems that Pixhawk uses both the internal and external compass in tandem and has some code to determine one not functioning properly, could this why rotating just the external compass caused no movement in the heading?

Did you ever figure this out? I am having the same problem. I am experiencing terrible magnetic interference and I think it is because the pixhawk is using the internal compass and ignoring the external one. When I turn the external compass mission planner shows no change. When I turn the pixhawk the compass readings change. How can I tell if the external compass is being used? WHen I set the configs to use external, mission planner just keeps changing the setting back to internal.

Having the same problem with my Pixhawk and external compass. Arduplane 3.1

Is there a way to determine which compass is being used via the tlogs?