Pre-Arm Checks
🔗 Pre-Arm Safety Checks – ArduPilot
List of possible messages.
| Message | Cause | Solution |
| 3D Accel calibration needed | Accelerometer calibration has not been done | Complete the accel calibration |
| Accels inconsistent | Two accelerometers are inconsistent by 0.75 m/s/s | Re-do the accel calibration. Allow autopilot to warm-up and reboot. If failure continues replace autopilot |
| ADSB out of memory | Autopilot has run out of memory | Disable features or replace with a higher powered autopilot |
| Accels not healthy | At least one accelerometer is not providing data | Reboot autopilot. If failure continues replace autopilot |
| AHRS: waiting for home | GPS has not gotten a fix | If indoors, go outside. Ensure compass and accelerometer calibrations have been completed. Eliminate radio-frequency sources that could interfere with the GPS |
| Battery below minimum arming capacity | Battery capacity is below BATT_ARM_MAH | Replace battery or adjust BATT_ARM_MAH |
| Battery below minimum arming voltage | Battery voltage is below BATT_ARM_VOLT | Replace battery or adjust BATT_ARM_VOLT |
| Battery capacity failsafe critical >= low | Battery failsafe misconfiguration | Check BATT_LOW_MAH is higher than BATT_CRT_MAH |
| Battery critical capacity failsafe | Battery capacity is below BATT_CRT_MAH | Replace battery or adjust BATT_CRT_MAH |
| Battery critical voltage failsafe | Battery voltage is below BATT_CRT_VOLT | Replace battery or adjust BATT_CRT_VOLT |
| Battery low capacity failsafe | Battery capacity is below BATT_LOW_MAH | Replace battery or adjust BATT_LOW_MAH |
| Battery low voltage failsafe | Battery voltage is below BATT_LOW_VOLT | Replace battery or adjust BATT_LOW_VOLT |
| Check mag field (xy diff:x>875) | Compass horiz field strength is too large or small | Relocate vehicle away from metal in the environment. Move compass away from metal in the frame. repeat compass calibration. Disable internal compass. |
| Check mag field (z diff:x>875) | Compass vert field strength is too large or small | Relocate vehicle away from metal in the environment. Move compass away from metal in the frame. repeat compass calibration. Disable internal compass. |
| Check mag field: x, max y, min z | Compass field strength is too large or small | Relocate vehicle away from metal in the environment. Move compass away from metal in the frame. repeat compass calibration. Disable internal compass. |
| Compass not healthy | At least one compass is not providing data | Check compass’s connection to autopilot and configuration |
| Compass offsets too high | Compass offset params are too large | Relocate compass away from metal in the frame and repeat compass calibration. Disable internal compass. Increase COMPASS_OFFS_MAX. |
| Compasses inconsistent | Two compasses angles or field strength disagree | Check compass orientations (e.g. COMPASS_ORIENT). Move compass away from metal in the frame. repeat compass calibration. Disable internal compass. |
| DroneCAN: Duplicate Node x../y! | DroneCAN sees same node ids used by two devices | Clear DroneCAN DNS server by setting CAN_D1_UC_OPTION = 1 and reboot |
| DroneCAN: Failed to access storage! | Possible hardware issue | Reboot autopilot |
| DroneCAN: Failed to add Node x! | DroneCAN could not init connection to a device | Check sensor’s physical connection and power supply |
| DroneCAN: Node x unhealthy! | A DroneCAN device is not providing data | Check sensor’s physical connection and power supply |
| Duplicate Aux Switch Options | Two auxiliary function switches for same feature | Check auxiliary function setup. Check for RCx_OPTION parameters with same values |
| EKF3 Roll/Pitch inconsistent by x degs | oll or Pitch lean angle estimates are inconsistent | Normally due to EKF3 not getting good enough GPS accuracy, but could be due to other sensors producing errors. Go outdoors, wait or reboot autopilot. |
| EKF3 waiting for GPS config data | automatic GPS configuration has not completed | Check GPS connection and configuration especially if using DroneCAN GPS |
| EKF3 Yaw inconsistent by x degs | Yaw angle estimates are inconsistent | Wait or reboot autopilot |
| Failed to open mission.stg | Failed to load mission from SD Card | Check SD card. Try to re-save mission to SD card |
| Failed to open mission.stg | Failed to load mission from SD Card | Check SD card. Try to re-save mission to SD card |
| Fence requires position | If fences are enabled, position estimate required | Wait or move vehicle to a location with a clear view of the sky. Reduce sources of radio-frequency interference |
| FENCE_ALT_MAX < FENCE_ALT_MIN | FENCE_ALT_MAX must be greater than FENCE_ALT_MIN | Increase FENCE_ALT_MAX or lower FENCE_ALT_MIN |
| FENCE_MARGIN is less than FENCE_RADIUS | FENCE_MARGIN must be larger than FENCE_RADIUS | Increase FENCE_RADIUS or reduce FENCE_MARGIN |
| FENCE_MARGIN too big | FENCE_ALT_MAX - FENCE_ALT_MIN < 2x FENCE_MARGIN | Decrease FENCE_MARGIN or increase difference between FENCE_ALT_MAX and FENCE_ALT_MIN |
| Fences enabled, but none selected | Fences are enabled but none are defined | Disable some or all fences using FENCE_ENABLE or FENCE_TYPE or define the missing fences |
| Fences invalid | Polygon fence is invalid | Check polygon fence does not have overlapping lines |
| GPS and AHRS differ by Xm | GPS and EKF positions differ by at least 10m | Wait until GPS quality improves. Move vehicle to a location with a clear view of the sky. Reduce sources of radio-frequency interference |
| GPS blending unhealthy | At least one GPS is not providing good data | Move vehicle to a location with a clear view of the sky. Reduce sources of radio-frequency interference. Check GPS blending configuration |
| GPS Node x not set as instance y | DroneCan GPS configuration error | Check GPS1_CAN_NODEID and GPS2_CAN_NODEID |
| GPS positions differ by Xm | Two GPSs reported positions differ by 50m or more | Wait until GPS quality improves. Move vehicle to a location with a clear view of the sky. Reduce sources of radio-frequency interference |
| GPS x still configuring this GPS | Automatic GPS configuration has not completed | Wait until configuration completes. Check GPS connection and configuration especially if using DroneCAN GPS |
| GPS x: Bad fix | GPS does not have a good lock | Move vehicle to a location with a clear view of the sky. Reduce sources of radio-frequency interference |
| GPS x: not healthy | GPS is not providing data | Check GPSs physical connection to autopilot and configuration |
| GPS x: primary but TYPE 0 | Primary GPS has not been configured | Check GPS_PRIMARY and confirm corresponding GPS1_TYPE or GPS2_TYPE matches type of GPS used |
| GPS x: was not found | GPS disconnected or incorrectly configured | Check GPSs physical connection to autopilot and configuration |
| GPSx yaw not available | GPS-for-yaw configured but not working | Move to location with better GPS reception. Check GPS-for-yaw configuration |
| Gyros inconsistent | Two gyros are inconsistent by at least 5 deg/sec | Reboot autopilot and hold vehicle still until gyro calibration completes. Allow autopilot to warm-up and reboot. If failure continues replace autopilot |
| Gyros not calibrated | Gyro calibration normally run at startup failed | Reboot autopilot and hold vehicle still until gyro calibration completes |
| Gyros not healthy | At least one gyro is not providing data | At least one gyro is not providing data |
| heater temp low | Board heater temp is below BRD_HEAT_TARG | Wait for board to heat up. Target temperature can be adjust using BRD_HEAT_TARG |
| Logging failed | Logs could not be written. Maybe hardware failure | Reboot autopilot. Replace autopilot |
| Mount: check TYPE | Mount (aka camera gimbal) misconfiguration | Check MNT1_TYPE is valid. Check Gimbal configuration |
| Mount: not healthy | Mount is not communicating with autopilot | Check physical connection between autopilot and gimbal and check Gimbal configuration |
| OpenDroneID: ARM_STATUS not available | OpenDroneID misconfiguration | see Remote ID configuration |
| OpenDroneID: operator location must be set | Operator location is not available | see Remote ID configuration |
| RC not calibrated | RC calibration has not been done | Complete the radio calibration. RC3_MIN and RC3_MAX must have been changed from their default values (1100 and 1900), and for channels 1 to 4, MIN value must be 1300 or less, and MAX value 1700 or more. |
| RC not found | RC failsafe enabled but no RC signal | Turn on RC transmitter or check RC transmitters connection to autopilot. If operating with only a GCS, see Operation Using Only a Ground Control Station (GCS) |
| AHRS not healthy | AHRS/EKF is not yet ready | Wait. Reboot autopilot |
| Altitude disparity | Barometer and EKF altitudes differ by at least 1m | Wait for EKF altitude to stabilise. Reboot autopilot |
| Auto mode not armable | Vehicle cannot be armed in Auto mode | Switch to another mode (like Loiter) or set RTL_OPTIONS = 3. See Auto mode |
| Battery failsafe | Battery failsafe has triggered | Plug in battery and check its voltage and capacity. See ref:battery failsafe configuration failsafe-battery |
| EKF attitude is bad | EKF does not have a good attitude estimate | Wait for EKF attitude to stabilize. Reboot autopilot. Replace autopilot |
| EKF compass variance | Compass direction appears incorrect | Relocate vehicle away from metal in the environment. Move compass away from metal in the frame. repeat compass calibration. Disable internal compass. |
| EKF height variance | Barometer values are unstable or high vibration | Wait. Measure vibration and add vibration isolation |
| EKF position variance | GPS position is unstable | Wait. If indoors, go outside. Eliminate radio-frequency sources that could interfere with the GPS |
| EKF velocity variance | GPS or optical flow velocities are unstable | Wait. If indoors, go outside. Eliminate radio-frequency sources that could interfere with the GPS. Check optical flow calibration |
| Fence enabled, need position estimate | Fence is enabled so need a position estimate | Wait. If indoors, go outside. Ensure compass and accelerometer calibrations have been completed. Eliminate radio-frequency sources that could interfere with the GPS. See Fence configuration |
| GCS failsafe on | GCS failsafe has triggered | Check telemetry connection. See ref:GCS Failsafe configuration gcs-failsafe |
| GPS glitching | GPS position is unstable | Wait. If indoors, go outside. Eliminate radio-frequency sources that could interfere with the GPS |
| High GPS HDOP | GPS horizontal quality too low | Wait or move to location with better GPS reception. You may raise GPS_HDOP_GOOD but this is rarely a good idea |
| Need Alt Estimate | EKF has not yet calculated the altitude | |
| Need Position Estimate | EKF does not have a position estimate | Wait. If indoors, go outside. Ensure compass and accelerometer calibrations have been completed. Eliminate radio-frequency sources that could interfere with the GPS |
| Throttle below failsafe | RC throttle input is below FS_THR_VALUE | Turn on RC transmitter or check FS_THR_VALUE. Check RC failsafe setup |
Pre-arm Safety Checks which will prevent the vehicle from arming its propulsion system if any of a fairly large number of issues are discovered before movement including missed calibration, configuration or bad sensor data.
⚠️
These checks help prevent crashes or fly-aways when attempting to arm the motors, the autopilot performs a series of sensor status verifications.
If any of these checks fail:
-
The autopilot will generate an error message.
-
The message can be read in the messages section of either the Radio Control or Ground Control Station.
-
The Drone will not arm the motors for safety reasons.
Operator Actions in Case of Error:
-
Read the error message carefully.
-
Identify the issue.
-
Correct the issue before attempting to arm the motors again.