
Resolving ArduPilot Pre-Arm Check Failures: A Complete Guide
Key Takeaway
To resolve ArduPilot pre-arm check failures, ensure all safety checks are met before arming.
TL;DR: If you encounter ArduPilot pre-arm check failures, look for ERR Subsys=11 indicating a CPU error or ERR Subsys=19 for IMU errors. The canonical fix typically involves resolving GPS lock or ensuring battery voltage is above BATT_LOW_VOLT, which is usually set at 10.5 V.
What Are Pre-Arm Checks in ArduPilot Logs?
Pre-arm checks are safety verifications performed by ArduPilot to ensure all systems are operational before flight. These checks validate parameters like GPS status, battery voltage, and sensor health. Any failure will prevent the drone from arming.
MSG_PRE_ARM_CHECK TimeUS GPS_STATUS BATTERY_VOLTAGE ERR_SUBSYS
TimeUS: Timestamp of the log entry.GPS_STATUS: Indicates the status of the GPS lock (e.g., 0 for no lock, 3 for 3D fix).BATTERY_VOLTAGE: Current voltage level of the battery.ERR_SUBSYS: Subsystem error codes indicating which checks failed.
Confirming Pre-Arm Check Status in Mission Planner
To confirm the pre-arm check status in Mission Planner, follow these steps:
- Connect your drone to Mission Planner.
- Navigate to Flight Data.
- Click on DataFlash Logs and select Review a Log.
- Open the latest log file and review the
MSG_PRE_ARM_CHECKentries.
Look for fields like GPS_STATUS, BATTERY_VOLTAGE, and ERR_SUBSYS to diagnose issues.
Confirming Pre-Arm Check Status in MAVExplorer
In MAVExplorer, you can visualize pre-arm check statuses with the following command:
MAV> graph MSG_PRE_ARM_CHECK.GPS_STATUS MSG_PRE_ARM_CHECK.BATTERY_VOLTAGE
This command will plot the GPS status against the battery voltage, allowing you to see if GPS lock issues coincide with low battery voltage warnings.
Why Pre-Arm Check Failures Happen — Ranked by What We See Most Often
- GPS Lock Issues: A lack of sufficient GPS satellites can prevent arming. The log may show
GPS_STATUS = 0indicating no lock. - Battery Voltage Warnings: If the voltage is below the
BATT_LOW_VOLTthreshold (typically 10.5 V), the system will flag a warning and prevent arming. - Barometer Errors: A failure in the barometer can log as
ERR Subsys=18. Ensure that the barometer is functioning correctly and that there are no mechanical obstructions. - IMU Health Issues: If the Inertial Measurement Unit (IMU) fails its self-check, it can lead to a pre-arm failure. Look for
ERR Subsys=19indicating IMU errors. - Firmware Mismatches: Incompatible firmware versions may cause unexpected pre-arm failures. Always ensure that your firmware is up to date.
Fixing Pre-Arm Check Failures
- Ensure a minimum of 6 satellites for
GPS_STATUSto showFIX_3D. - Check and charge the battery to ensure voltage remains above
BATT_LOW_VOLT. - Inspect the barometer for physical damage or obstructions. Replace if necessary.
- Validate the IMU's calibration and perform recalibration if needed.
- Update firmware to the latest stable version from the ArduPilot documentation.
When This Isn't Actually a Pre-Arm Check Failure
- A successful GPS lock with
GPS_STATUS = 3but poor battery health could still prevent arming. - The system may show false positives due to temporary sensor errors that resolve on reboot.
- Hardware issues, such as damaged wiring or connectors, can mimic pre-arm check failures.
When LogHat Helps — and When It Doesn't
LogHat excels at analyzing flight logs to highlight pre-arm check issues, providing detailed insights into the causes of failures. However, it cannot directly resolve hardware or firmware issues; those require physical inspections or updates.
What should I do if my drone won't arm?
Check pre-arm check status in your ground control software. Ensure all checks report as OK.Can I disable pre-arm checks?
Yes, but it's not recommended unless you're certain it's safe. Consider the risks involved.How can I confirm GPS lock before arming?
MonitorGPS_STATUS in your flight logs or ground control software. Aim for at least FIX_3D.
What battery voltage should I monitor for safe operation?
Ensure your battery voltage stays aboveBATT_LOW_VOLT, which is typically set at 10.5 V.
What are common causes of a barometer failure?
Environmental factors, physical damage, or calibration issues can lead to barometer failures.How often should I update my firmware?
Regularly check for updates, particularly before major flights or after significant changes to your setup.If you're experiencing pre-arm check failures, consider using LogHat for in-depth log analysis and troubleshooting support. By integrating our insights, you can enhance your drone's operational reliability.
About the author
LogHat Engineering Team
The LogHat engineering team — drone-systems engineers who build and operate the LogHat flight analytics platform. Posts in this byline are written and reviewed by team members working on the parsers, analysis engine, and Vector AI that the post describes.
Tagged
Try LogHat
Analyze your flight logs in seconds
Upload a .bin, .tlog, .log, or .ulg file. Get AI crash analysis, 3D replay, and forensic PDF reports instantly.
Try LogHat Free