Pixhawk 4 wont calibrate external compass with arducopter

Hello everyone.

I’m trying to configure my Pixhawk 4 with arducopter (latest version) but I’m unable to calibrate the external compass. In mission planner the green bar during calibration will just go to the end and begin again making a sad noise and will never calibrate. The internal compass will calibrate with no problem. I know this isn’t a hardware problem as with Px4 both compasses will calibrate, the issue is when I upload arducopter. Also when I use arducopter I have a red B/E FMU light flashing and no blue ACT FMU light. I have already tried several things to try and fix it but with no luck.

I already tried uploading ardurover and then arducopter a couple of times, I already flashed the SD card, tried with an older firmware, tried uploading the firmware with QGC changing the name of the file to arducopter.px4, tried resetting all of the parameters, tried relaxing the compass fitness, changing the COMPASS_OFFS_MAX, tried uploading the firmware through Firmware legacy and the red B/E FMU light stopped blinking but no luck with external compass calibration.

What else should I try to calibrate my external compass?


Here’s what I would try. First of all, set compass learn to 3, put the aircraft in alt hold, fly around a bit and watch the message screen to see when the calibration is complete. When It’s finished, reboot and see if the calibration stuck. Cheers!

Hello, thanks for answering.

The compass learn is a parameter in the parameter list?
Should I tick the “Automatically learn offsets” box?


This will appear when I do compass calibration in QGC with arducopter firmware.

Capture 6

This is the same as Mission Planner not completing. Your previous assessment that there is not a hardware problem because QGC completes the calibration is not necessarily true. Do you have another GPS/compass module to try?

Yes is the same but in here I have the 1:COMPASS_PRIMARY error. What I meant previously was that with Px4 firmware the calibration will complete with no issue, but with Arducopter it will not. I tried doing the calibration with arducopter firmware both in Mission Planner and QGC but they have different errors, at least for the “1:COMPASS_PRIMARY”

This is just the difference between how the Ground Stations handle a problem calibration. My guess is:
QGC-Red indicates a compass which should not be used = MP-Not completing the calibration.

Yes sir for sure. What confuses me is that the board will detect the compass but it seems that it doesn’t read the information off it, just with arducopter, or any other ardupilot frimware and the external compass. I don’t know if its a firmware problem, or a parameter problem. With Px4 it will have perfect calibration with both compasses. Also I don’t know if it has anything to do with it but there is a B/E FMU red light with ardupilot, which wont happen with Px4.


I just noticed these two messages “Firmwware file missing parameter_xml_size.key” and “Firmwware file missing airframe_xml_size.key” when uploading the firmware through QGC. I don’t know if it has something to do with my problem.