External compass recognised but won't calibrate

Hi all,

I am attempting to calibrate my internal and external compass. I have a Pixhawk 2.4.8 running Arducopter 4.0 with a Ublox M8N compass.

My issue is that the internal compass calibration percentage increases whilst the external compass remains at 0% and will not calibrate. It is recognised in the HW ID tab. I am able to calibrate the internal compass successfully by eiher disconnecting the GPS compass or by deselecting ‘Use this compass’ for Compass #1

Presumably it is much safer for autonomous flight to use an external compass, but does it make a huge difference? Currently I can only suspect a dodgy compass module but wanted to make sure I was doing everything correctly first! The GPS module also gets very hot, so much so that it the double sided tape holding it on begins to come loose.

Thank you in advance for any help!


Good day, just update your firmware to the last firmware release 4.0.3, just enable all the compasses on MP and perform a new calibration.
Just check also the wirings…

Hi David thank you for your reply.

I have used qGroundControl to update my firmware to fmuv3 (4.0.3).

I performed another calibration with all compasses enabled with the same results as before. I have wired the compass as shown:

ok… the compass is new? or you have already use it with previous firmwares?

The compass is new yes. Has not been used before now which is what made me suspect it may be damaged. My old compass stopped working (no LEDs / connection) after a Pixhawk frying incident.

or the your module have a different pinout…, what’s happened to your fc?

I attempted swithcing the RX and TX cables for the compass round with no luck. My previous flight controller had a short of some sort that caused it to fry and somehow broke the gps module in the process. This is a new Pixhawk and gps module however so that should not matter.

Jake, the compass doesn’t use Tx/Rx, since it’s on an I2C bus, so it’s Clock/Data. If it’s recognized by the FC, then wiring is OK.
Problem is, HMC5883 production ended a couple years ago. What you find on shelf these days are probably QMC5883 chinese clones of shoddy quality.

if you’re fc is still under warranty just ask for a new one… but my advice is look for something more update

Do you try live calibration?

Yes I suspect it might be a dodgy GPS module. I have contacts the eBay seller to see if I can get a replacement. Do you think it would be safe to fly using just the internal compass on the Pixhawk?

I do not believe I could ask for a new Pixhawk if it was my fault that it got damaged. I am hoping to one day attempt to repair it however.

I do not have live calibration as an option on my Mission Planner. The software is up to date, however it just does not show itself as an option so I assumed this was removed in a previous version.

Ups, I never can calibrate with the new system.

I also have the same issue, I think the problem is in the pixhawk board itself. I have tried using different external compass and it never worked, I’ve also tried updating firmware, installed new and old firmwares, still getting the same result. To confirm that the external compass is not the problem, I’ve tried using those external compass on other pixhawk board and it work just fine. Try replacing the pixhawk board.

Yeah just for the record I have the same issue. The first time I calibrate after I install the firmware the Ublox compass went through the calibration okay, but every time I try to calibrate compasses after that the calibration never completes until I disable this external compass. I tried manually resetting all of the calibration parameters to 0 before recalibrating but this didn’t help.

The same problem yesterday made me work hard. The GPS was hit. I changed the GPS + Compass module. Problem solved.