← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The external AHRS is switched on but not set up

Stops itPosition and attitude estimate (EKF, AHRS)

What ArduPilot says:

Also explained here: 6 more
  • no UART
  • VectorNav setup failed
  • SBG ExternalAHRS no UART
  • Unsupported ExternalAHRS type N
  • InertialLabs setup failed
  • InertialLabs ExternalAHRS no UART

An external AHRS is a separate navigation unit (VectorNav, MicroStrain, InertialLabs, SBG and others) that does the job of ArduPilot's own estimator, or feeds it IMU and GPS data. EAHRS_TYPE says one is fitted, but the driver could not start. “no UART” and “Serial Port Not Found”: no serial port is set to protocol 36 (AHRS). “Invalid backend” and “Unsupported type”: this firmware has no driver for that EAHRS_TYPE. “setup failed”: the unit did not accept its configuration. “Incorrect number of GPS sensors”: the unit supplies a GPS but no GPS in ArduPilot is set to take it.

What to do, most likely first

  1. No external AHRS is fitted; the parameter came from another aircraft's file.

    CheckEAHRS_TYPE is not 0, or AHRS_EKF_TYPE is 11.

    FixSet EAHRS_TYPE to 0 and AHRS_EKF_TYPE to 3, then reboot.

  2. The serial port the unit is wired to is not set for it.

    CheckThe SERIALn_PROTOCOL of that port is not 36, or its baud rate differs from the unit's.

    FixSet SERIALn_PROTOCOL to 36 and the port's baud rate to the unit's, and reboot.

  3. The unit's GPS is not routed into ArduPilot.

    CheckEAHRS_SENSORS has bit 0 (GPS) set and no GPS has its type set to 21.

    FixSet GPS1_TYPE to 21 (ExternalAHRS), or clear bit 0 of EAHRS_SENSORS if you use a separate GPS. Reboot.

Parameters to look at

ParameterWhat it is
EAHRS_TYPEAHRS type
EAHRS_SENSORSExternal AHRS sensors
EAHRS_RATEAHRS data rate
SERIAL2_PROTOCOLTelemetry 2 protocol selection
SERIAL4_PROTOCOLSerial4 protocol selection
GPS1_TYPEGPS type
AHRS_EKF_TYPEUse NavEKF Kalman filter for attitude and position estimation
The code that sends it

ExternalAHRS: Invalid backend

libraries/AP_ExternalAHRS/AP_ExternalAHRS.cpp AP_ExternalAHRS::pre_arm_check() · Open in ArduPilot Copter-4.7.1

MicroStrain5 ExternalAHRS no UART

libraries/AP_ExternalAHRS/AP_ExternalAHRS_MicroStrain5.cpp AP_ExternalAHRS_MicroStrain5::AP_ExternalAHRS_MicroStrain5() · Open in ArduPilot Copter-4.7.1

ExternalAHRS: Incorrect number of GPS sensors configured for EAHRS

libraries/AP_ExternalAHRS/AP_ExternalAHRS.cpp AP_ExternalAHRS::pre_arm_check() · Open in ArduPilot Copter-4.7.1

KEBNI: Serial Port Not Found!

libraries/AP_ExternalAHRS/AP_ExternalAHRS_SensAItion.cpp AP_ExternalAHRS_SensAItion::AP_ExternalAHRS_SensAItion() · Open in ArduPilot Copter-4.7.1

And 8 more messages, sent from the same places.

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