← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The log shows the compass dropping out (ERR COMPASS)

WarningCompass

What ArduPilot says:

ERR with subsystem 3 (COMPASS) is written to the log when the first compass in use changes state: code 4 when it has sent no reading for 500 ms, code 0 when readings are back. The time between the two is how long ArduPilot had no fresh heading from it.

What to do, most likely first

  1. The compass cable or connector loses contact under vibration.

    CheckThe drop-outs come in flight or when the airframe is tapped, not on a still bench; in the log the MAG values stop changing for the same moments.

    FixReseat or replace the cable, secure it against pulling, and keep the I2C wires short and away from power leads.

  2. The supply to the GPS/compass module dips, and the module restarts.

    CheckThe GPS drops out at the same moments: lines such as “GPS 1: detected …” appear again in the middle of the log.

    FixFeed the module from a clean 5 V supply that does not sag when servos or the video transmitter draw current, and check its power connector.

  3. The first compass is a poor choice: the one on the board, sharing a bus with other devices, while a better external compass is second.

    CheckCOMPASS_PRIO1_ID is the compass ArduPilot treats as first; the ground station's compass screen shows which one that is.

    FixMove the external compass to the top of the list, reboot and calibrate.

Parameters to look at

ParameterWhat it is
COMPASS_USEUse compass for yaw
COMPASS_USE2Compass2 used for yaw
COMPASS_USE3Compass3 used for yaw
COMPASS_PRIO1_IDCompass device id with 1st order priority

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