← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The attitude estimate is not ready at the moment of arming

Stops itPosition and attitude estimate (EKF, AHRS)Copter only

What ArduPilot says:

When you asked it to arm, the EKF (ArduPilot's position and attitude estimator) did not report itself healthy: it has not started, has run for less than a second, reports an internal fault, or on the ground its position or height estimate is more than 1 m away from what the sensors say. Without it the copter does not know which way is up. This test cannot be switched off.

What to do, most likely first

  1. You tried to arm too soon after power-on: the EKF was still starting.

    FixKeep the copter still until “EKF3 IMU0 tilt alignment complete” has appeared, then arm.

  2. The copter was moved, carried or bumped while the EKF was starting.

    FixPut it down, reboot and leave it still for the first 20 to 30 seconds.

  3. A sensor the EKF depends on is faulty: the other pre-arm messages name it.

    CheckAsk the ground station to run the pre-arm checks, or wait 30 seconds, and read every “PreArm: …” line.

    FixFix what those messages name (gyros, accelerometers, barometer, compass); this one then clears.

Parameters to look at

ParameterWhat it is
AHRS_EKF_TYPEUse NavEKF Kalman filter for attitude and position estimation
EK3_ENABLEEnable EKF3
The code that sends it

PreArm: AHRS not healthy

ArduCopter/AP_Arming.cpp AP_Arming_Copter::arm_checks() · Open in ArduPilot Copter-4.6.3

ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::arm_checks() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer