← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

A plane's EKF will not start without a GPS fix

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

What ArduPilot says:

On a plane the EKF, ArduPilot's position and attitude estimator, refuses to start until the GPS has a 3D fix: it relies on GPS speed from its first second. Until then the plane runs on DCM, the simpler back-up estimator. This exact text is rare; the same situation is usually reported as “AHRS: not using configured AHRS type”.

What to do, most likely first

  1. The GPS has no 3D fix yet: indoors, or less than a minute after power-on.

    CheckThe ground station shows the GPS status as No Fix or 2D, with few satellites.

    FixTake the plane outside under open sky and wait for a 3D fix; a cold start can take a few minutes.

  2. No GPS is detected at all.

    CheckThe GPS status reads No GPS. GPS1_TYPE and the SERIALn_PROTOCOL of its port (5 for a GPS) say what the flight controller expects and where.

    FixWire the GPS (its TX to the port's RX, its RX to TX), set the port and the type, and reboot.

Parameters to look at

ParameterWhat it is
GPS1_TYPEGPS type
AHRS_EKF_TYPEUse NavEKF Kalman filter for attitude and position estimation
SERIAL3_PROTOCOLSerial 3 (GPS) protocol selection
SERIAL4_PROTOCOLSerial4 protocol selection
The code that sends it

EKF3 init failure: No GPS lock

libraries/AP_NavEKF3/AP_NavEKF3_core.cpp NavEKF3_core::InitialiseFilterBootstrap() · Open in ArduPilot Copter-4.7.1

EKF2 init failure: No GPS lock

libraries/AP_NavEKF2/AP_NavEKF2_core.cpp NavEKF2_core::InitialiseFilterBootstrap() · Open in ArduPilot Copter-4.7.1

Written here for Plane 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