PixHawk Cannot ARM - compass is not calibrated


Having a little problem arming the Pixhawk. I get two flashing yellow lights which indicates refusal to arm. When I plug the USB in, it informs me that the compass is not calibrated.

I am using the 3DR external compass. This has a solid red light on it, which I assume is normal.

I set the compass mode so that it knows its using the external compass, rather than the inbuilt one. I run the compass calibrator and it says settings were taken.

I do live in a narrowboat, so 20 tonnes of steel might be adding to problems, therefore I did the calibration outside.

I notice on the flight information, that when I move the external compass, it moves on the screen, but when I move the Pixhawk it also moves. Not sure if that is expected behaviour.

I also occasionally get a message that says something like altitude inconsistency. Nothing is fixed to the frame yet, could this be my problem?

Also, I have options to set roll and yawn on the compass. What should that be set to?

Much Appreciated



I definitely think that your longboat :boat: will cause some compass calibration issues. But as for the compass pre arm checks, here is a list of possible errors, do you know which one you are receiving on the HUD when you try to arm your pixhawk?

  • Compass not healthy : the compass sensor is reporting that it is unhealthy which is a sign of a hardware failure.

  • Compass not calibrated : the compass(es) has not been calibrated. the COMPASS_OFS_X, Y, Z parameters are zero or the number or type of compasses connected has been changed since the last compass calibration was performed.

  • Compass offsets too high : the primary compass’s offsets length (i.e. sqrt(x^2+y^2+z^2)) are larger than 500. This can be caused by metal objects being placed too close to the compass. If only an internal compass is being used (not recommended), it may simply be the metal in the board that is causing the large offsets and this may not actually be a problem in which case you may wish to disable the compass check.

  • Check mag field : the sensed magnetic field in the area is 35% higher or lower than the expected value. The expected length is 530 so it’s > 874 or < 185. Magnetic field strength varies around the world but these wide limits mean it’s more likely the compass calibration has not calculated good offsets and should be repeated.

  • Compasses inconsistent : the internal and external compasses are pointing in different directions (off by >45 degrees). This is normally caused by the external compasses orientation (i.e. COMPASS_ORIENT parameter) being set incorrectly.

Hope you have a great Christmas :christmas_tree: :santa: :snowman:

Thanks very much for taking the time to write all that. Well I just went outside and did a compass calibration again. The messge I got before was Compass inconsistent. I did have COMPASS_ORIENT set correctly (180 / 8) but now Ive done it again. Seems to work.

It’s now arming :slight_smile:

Happy (belated) Christmas to you too

Hi… can you plz email me your compass setups with some pics at zakir.haji@Gmail.com appreciated

@Zakir if you are having any issues just post some pics of your setup and give us some more details and I am sure we can help you get it all working :slight_smile:

Hi Guys, bought this compass / GPS module last year. Still not managed to get it working. Admitedly Id totally given up the past 6 months. I want to try again, but how can I tell if the compass / GPS module is just faulty?


First thing to check would be to see if there are any lights visible or flashing on the GPS module when it is connected. As that is an indication that it has power.

If that works let me know and we can try the next step to check if the connectors are correct for Pixhawk. A photo of the module and connector would help too.


I made a short vid:


Hello again,

I have since managed to get the drone in the air. Very pleasing. I re-ran the compass calibration, think I was doing that wrong, and I made sure I was 50 meters away from any metal objects.

Few errors that I have taken screenshots of during the flight. I replayed the logs and took some screenshots:

FAILSAFE (not sure why)
DCM Bad Headings

I read something about DCM being about the compass heading not matching the actual heading. The pole is quite far away from the drone, so interference should be ok?

Also I got the message ‘low battery’ You can see from the screenshot that the battery is at 10.32v. Where can I configure what the lowest voltage should be? Its a 3S lipo 3300 MaH. I was under the impression it would be ok to run the battery to 3.2 or 3.4 volts per cell. 9.6 or 10.2 volts equiv. I guess that is about right, 3.4v is the safest per cell for a discharge voltage.

Took it out for another flight. Looks like GPS is working nicely. No fail safe message this time as voltages stayed higher.

Only question remains about DCM bad heading message really.


1 Like

Happy to hear you had a flight, and I think the compass/GPS issues where doe to calibration close to a metal object, in your video it would look like it was taken on a canal boat which could explain the issue.

Can you possibly download the .log from the pixhawk (not the telemetry log) and attach it here and I can have a quick look to see if there is any obvious issue for the failsafe.

Otherwise it could be due to the battery failsafe, in which case you can set the voltage in the failsafe options screen:

Hope that helps!

This is something that I think you should definitely fix before having another flight as that check is there to prevent flyaways. Since you completed a compass calibration my other suggestion would be to check the orientation of the module in the settings as this error generally occurs when the heading from GPS is different by over 60 degrees to what the pixhawk calculates.