The log shows the compass dropping out (ERR COMPASS)
What ArduPilot says:
- ERR COMPASS (Subsys 3)
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
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.
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.
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.
Check
COMPASS_PRIO1_IDis 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
| Parameter | What it is |
|---|---|
COMPASS_USE | Use compass for yaw |
COMPASS_USE2 | Compass2 used for yaw |
COMPASS_USE3 | Compass3 used for yaw |
COMPASS_PRIO1_ID | Compass device id with 1st order priority |
Where to do it:Board & Wiring PlannerSetup & Tuning Guide