APM 2.6 v3.0.1: Refuses to ARM, won't say why

I've had to disable the Pre-ARM checks on my APM (Y6 f/w 3.0.1) because it will not arm.

The confusing part is that it won't say *why* it doesn't arm.

I have Mission Planner running, via 3DR telemetry, and the obvious causes do report on the screen on the first arm attempt.  (No GPS lock, etc).

With full GPS lock, all systems calibrated, and everything ready to go, it stays Disarmed.  The screen does not show a reason for the failure to ARM.

If I disable the pre-ARM checks, then it does ARM and fly correctly in Stable/AltHold/Loiter.

Is there any way to discern from the logs or other data why the Pre-ARM check is failing?


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

Join diydrones

Email me when people reply –


  • you are lucky , me, disabling the pre-arm check won't do anything left stick down - right , nothing happen...

  • I had a similar issue that said 'GPS offsets are too high."  I had offsets that were anywhere from x209.425  y:562.593  z:-269.064  to x:2184.240 y:2036.103 z:10084.349 and greater. Turns out I had my GPS mounted backwards on the craft.  (other things I read suggested that you might have it mounted upside down - for which you'd have to select the appropriate No Roll, or ROLL_180 type of setting.)  So for me I had to turn my GPS unit 180 and then my all my offsets dropped to below 100.

  • I have the same problem! but i try to arm in room without GPS unit!  Must connect a gps unit before arming?

  • Hi,

    I had a similar issue. I figured out the problem lies in both hardware not software.
    Looking at the schematic from 2.5 to 2.6 there is something missing ... The compass. Hence the reason it is not healthy.
    Looking at this: https://code.google.com/p/ardupilot-mega/wiki/MagAPM2 The jumper in 2.6 is cut already.
    Also if you look below, the compass chip isn't there in 2.6
    The reason for this is apparently too much 'Magnetic interference'
    I haven't been able to get the 3.01 v working ... i dont know why :/

    But i downloaded the 2.9 version from: https://github.com/diydrones/ardupilot

    Got that to work so long as MAG_ENABLE = 0 (i tried just doing this on 3.01 but no dice)

    I think there may be a bug in the code (which i haven't found yet) which assumes you are using the external gps/compass

    Or something in the pre-arm checks ... not sure, but the root of the problem is the compass isn't healthy cause it isn't there!!!


  • I took a look in the code, and found the following reasons why pre_arm_check could fail:

    RC not calibrated

    INS not calibrated

    PreArm: Compass not healthy

    Compass not calibrated

    Compass offsets too high

    Check mag field

    No GPS Lock (fence)

    Baro not healthy

    Check Board Voltage (PX4)

    Each failure has a text report, so all I can figure is that the pre-arm check is failing with display_failure false, perhaps before the serial link is up to display the text?

    The checks are called with no display in the super_slow_loop(), so it's not clear if the same arm failure reason would later display when I attempt to ARM.  Anyone know?

This reply was deleted.