Pre-Arm Safety Checks

ArduPilot includes a suite of 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 but some can also be disabled if necessary.

Warning

Never disable the arming checks (ie ARMING_CHECK not = “1”, except for bench testing. Always resolve any prearm or arming failures BEFORE attempting to fly. Doing otherwise may result in the loss of the vehicle.

Recognising which Pre-Arm Check has failed using the GCS

The pilot will notice a pre-arm check failure because he/she will be unable to arm the vehicle and the notification LED, if available, will be flashing yellow. To determine exactly which check has failed:

  1. Connect the Autopilot to the ground station using a USB cable or Telemetry.

  2. Ensure the GCS is connected to the vehicle (i.e. on Mission Planner and push the “Connect” button on the upper right).

  3. Turn on your radio transmitter and attempt to arm the vehicle (regular procedure is using throttle down, yaw right or via an RCx_OPTION switch)

  4. The first cause of the Pre-Arm Check failure will be displayed in red on the HUD window

Pre-arm checks that are failing will also be sent as messages to the GCS while disarmed, about every 30 seconds. If you wish to disable this and have them sent only when an attempt arm fails, then set the ARMING_OPTIONS bit 1 (value 1).

Pre-Arm Failure Messages (All vehicle types)

Message

Cause

Solution

3D Accel calibration needed

Accelerometer calibration has not been done

Complete the accel calibration

Accels calibrated requires reboot

Autopilot must be rebooted after accel calibration

Reboot autopilot

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: not using configured AHRS type

EKF3 is not ready yet and vehicle is using DCM

If indoors, go outside. Ensure good GPS lock. Check for misconfiguration of EKF (see AHRS_EKF_TYPE)

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

Airspeed 1 not healthy

Autopilot is unable to retrieve data from sensor

Check the physical connection and configuration

AP_Relay not available

Parachute misconfigured

Parachute is controlled via Relay but the relay feature is missing. Custom build server was probably used, rebuild with relay enabled

Auxiliary authorisation refused

External system has disallowed authorisation

Check external authorisation system

Batch sampling requires reboot

Batch sampling feature requires Autopilot reboot

Reboot autopilot or check Batch sampling configuration

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

Battery unhealthy

Battery is not providing data

Check battery monitors physical connect and configuration

Battery voltage failsafe critical >= low

Battery failsafe misconfiguration

Check BATT_LOW_VOLT is higher than BATT_CRT_VOLT

BendyRuler OA requires reboot

Object avoidance config change requires reboot

Reboot autopilot. See Object Avoidance configuration

Board (Xv) out of range 4.3-5.8v

Board voltage below BRD_VBUS_MIN or too high

Check power supply. If powering via USB plug in a battery or replace USB cable

BTN_PINx=y invalid

Button misconfigured

BTNx_PIN is set to an invalid value. Check Button setup instructions

BTN_PINx=y, set SERVOz_FUNCTION=-1

Button misconfigured

Set SERVOz_FUNCTION to -1

Can’t check rally without position

EKF does not have a position estimate yet

Wait or move to location with better GPS reception

Check fence

Fence feature has failed to be initialised

Reboot autopilot

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.

Chute has no channel

Parachute misconfigured

Parachute is controlled using PWM but no servo output function has been configured (e.g. need SERVOx_FUNCTION = 27). see Parachute setup instructions

Chute has no relay

Parachute misconfigured

Parachute is controlled via Relay but no relay output has been configured. see Parachute setup instructions

Chute is released

Parachute has been released

Reboot autopilot

Compass calibrated requires reboot

Autopilot must be rebooted after compass cal

Reboot autopilot

Compass calibration running

Compass calibration is running

Complete or cancel the compass calibration

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.

Dijkstra OA requires reboot

Object avoidance config change requires reboot

Reboot autopilot. See Object Avoidance configuration

Disarm Switch on

Disarm auxiliary switch is in the high position

Move Disarm switch to the low position or check auxiliary functions setup

Downloading logs

Vehicle cannot be armed while logs are downloading

Wait until logs are downloaded, cancel download or reboot autopilot

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

Roll 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

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

FETtec: Invalid motor mask

FETtec misconfiguration

See FETtec configuration

FETtec: Invalid pole count x

FETtec misconfiguration

See FETtec configuration

FETtec: No uart

FETtec misconfiguration

See FETtec configuration

FETtec: Not initialised

FETtec ESCs are not communicating with autopilot

See FETtec configuration

FETtec: x of y ESCs are not running

FETtec ESCs are not spinning

See FETtec configuration

FETtec: x of y ESCs are not sending telem

FETtec ESCs are not communicating with autopilot

See FETtec configuration

FFT calibrating noise

FFT Harmonic Notch analysis has not completed

Wait until In-Flight FFT analysis completes

FFT config MAXHZ xHz > yHz

FFT Harmonic Notch misconfiguration

See In-Flight FFT Harmonic Notch Setup completes

FFT self-test failed, max error Hz

FFT Harmonic Notch failed

See In-Flight FFT Harmonic Notch Setup completes

FFT still analyzing

FFT Harmonic Notch analysis has not completed

Wait until In-Flight FFT analysis completes

FFT: calibrated xHz/xHz/xHz

FFT Harmonic Notch issue

See In-Flight FFT Harmonic Notch Setup completes

FFT: resolution is xHz, increase length

FFT Harmonic Notch misconfiguration

See In-Flight FFT Harmonic Notch Setup completes

Generator: Not healthy

Generator is not communicating with autopilot

Check generator configuration

Generator: No backend driver

Firmware does not include seelected generator

Build version of firmware with desired generator using custom.ardupilot.org

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

Reboot autopilot. If failure continues replace autopilot

Hardware safety switch

Hardware safety switch has not been pushed

Push safety switch (normally on top of GPS) or disable by setting BRD_SAFETY_DEFLT to zero and reboot autopilot

heater temp low (x < 45)

Board heater temp is below BRD_HEAT_TARG

Wait for board to heat up. Target temperature can be adjust using BRD_HEAT_TARG

In OSD menu

OSD is being configured

Complete OSD configuration. Check OSD configuration

Internal errors 0x%x l:%u %s

An internal error has occurred

Reboot the autopilot. Report error to the development team

Invalid FENCE_ALT_MAX value

FENCE_ALT_MAX must be positive

Increase FENCE_ALT_MAX

Invalid FENCE_ALT_MIN value

FENCE_ALT_MIN must be higher than -100

Increase FENCE_ALT_MIN

Invalid FENCE_MARGIN value

FENCE_MARGIN must be positive

Increase FENCE_MARGIN

Invalid FENCE_RADIUS value

FENCE_RADIUS must be positive

Increase FENCE_RADIUS

Logging failed

Logs could not be written. Maybe hardware failure

Reboot autopilot. Replace autopilot

Logging not started

Logs could not be written. Maybe hardware failure

Reboot autopilot. Replace autopilot

Main loop slow (xHz < 400Hz)

Autopilot’s CPU is overloaded

Wait to see if the error is temporary. Disable features or replace with a higher powered autopilot. Reduce SCHED_LOOP_RATE

Margin is less than inclusion circle radius

A circular fence has radius below FENCE_MARGIN

Increase the size of the circular fence involved or decrease FENCE_MARGIN

memory low for auxiliary authorisation

Autopilot has run out of memory

Disable features or replace with a higher powered autopilot

Missing mission item: do land start

Auto mission needs a DO_LAND_START command

Add a DO_LAND_START command to the mission or adjust the ARMING_MIS_ITEMS parameter

Missing mission item: land

Auto mission needs a LAND command

Add a LAND command to the mission or adjust the ARMING_MIS_ITEMS parameter

Missing mission item: RTL

Auto mission needs an RTL command

Add an RTL command to the mission or adjust the ARMING_MIS_ITEMS parameter

Missing mission item: takeoff

Auto mission needs a TAKEOFF command

Add a TAKEOFF command to the mission or adjust the ARMING_MIS_ITEMS parameter

Missing mission item: vtol land

Auto mission needs a VTOL_LAND command

Add a VTOL_LAND command to the mission or adjust the ARMING_MIS_ITEMS parameter

Missing mission item: vtol takeoff

Auto mission needs a VTOL_TAKEOFF command

Add a VTOL_TAKEOFF command to the mission or adjust the ARMING_MIS_ITEMS parameter

Mode channel and RCx_OPTION conflict

RC flight mode switch also used for an aux function

Change FLTMODE_CH (or MODE_CH for Rover) or RCx_OPTION to remove conflict

Mode requires mission

Attempting to arm in Auto mode but no mission

Arm in an other mode or create and upload an Auto mission

Motors Emergency Stopped

Motors emergency stopped

Release emergency stop. See auxiliary functions

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

Multiple SERIAL ports configured for RC input

RC misconfiguration

see Multiple Radio Control Receivers

No mission library present

Auto mission feature has been disabled

Custom build server was probably used to produce the firmware without auto missions. Rebuild with auto missions enabled

No rally library present

Rally point feature has been disabled

Custom build server was probably used to produce the firmware without rally point. Rebuild with Rally points included

No SD card

SD card is corrupted or missing

Format or replace SD card

No sufficiently close rally point located

Rally points are further than RALLY_LIMIT_KM

Move rally points closer to vehicle’s current location or increase RALLY_LIMIT_KM

OA requires reboot

Object avoidance config change requires reboot

Reboot autopilot. See Object Avoidance 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

OpenDroneID: SYSTEM not available

OpenDroneID misconfiguration

see Remote ID configuration

OpenDroneID: UA_TYPE required in BasicID

OpenDroneID misconfiguration

see Remote ID configuration

OSD_TYPE2 not compatible with first OSD

OSD1 and OSD2 configurations are incompatible

Disable 2nd OSD (set OSD_TYPE2 to zero) or check OSD configuration

Param storage failed

Eeprom hardware failure

Check power supply or replace autopilot

PiccoloCAN: Servo x not detected

PiccoloCAN misconfiguration or servo issue

Check Currawong Velocity ESC setup instructions

Pin x disabled (ISR flood)

Sensor connected to GPIO pin is rapidly changing

Check sensor attached to specified pin

Pitch (RCx) is not neutral

RC transmitter’s pitch stick is not centered

Move RC pitch stick to center or repeat radio calibration

Pitch radio max too low

RC pitch channel max below 1700

Repeat the radio calibration procedure or increase RC2_MAX above 1700

Pitch radio min too high

RC pitch channel min above 1300

Repeat the radio calibration procedure or reduce RC2_MIN below 1300

PRXx: No Data

Proximity sensor is not providing data

Check proximity sensor physical connection and configuration

PRXx: Not Connected

Proximity sensor is not providing data

Check proximity sensor physical connection and configuration

Radio failsafe on

RC failsafe has triggered

Turn on RC transmitter or check RC failsafe configuration

Rangefinder x: Not Connected

Rangefinder is not providing data

Check rangefinder’s physical connection to autopilot and configuration

Rangefinder x: Not Detected

Rangefinder is not providing data

Check rangefinder’s physical connection to autopilot and configuration

RC calibrating

RC calibration is in progress

Complete the radio calibration procedure

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)

RCx_MAX is less than RCx_TRIM

RC misconfiguration

Adjust RCx_TRIM to be lower than RCx_MAX or repeat radio calibration

RCx_MIN is greater than RCx_TRIM

RC misconfiguration

Adjust RCx_TRIM to be higher than RCx_MIN or repeat radio calibration

RELAYx_PIN=y invalid

Relay misconfigured

RELAYx_PIN is set to an invalid value. Check Relay setup instructions

RELAYx_PIN=y, set SERVx_FUNCTION=-1

Relay misconfigured

Set SERVOx_FUNCTION to -1

RNGFNDx_PIN not set

Rangefinder misconfigured

Set RNGFNDx_PIN to a non-zero value. See rangefinder configuration

RNGFNDx_PIN=y invalid

Rangefinder misconfigured

RNGFNDx_PIN is set to an invalid value. Check rangefinder configuration

RNGFNDx_PIN=y, set SERVOx_FUNCTION=-1

Rangefinder misconfigured

Set SERVOx_FUNCTION to -1

Roll (RCx) is not neutral

RC transmitter’s roll stick is not centered

Move RC roll stick to center or repeat radio calibration

Roll radio max too low

RC roll channel max below 1700

Repeat the radio calibration procedure or increase RC1_MAX above 1700

Roll radio min too high

RC roll channel min above 1300

Repeat the radio calibration procedure or reduce RC1_MIN below 1300

RPMx_PIN not set

RPM sensor misconfigured

Check RPMx_PIN value. Check RPM setup instructions

RPMx_PIN=y invalid

RPM sensor misconfigured

RPMx_PIN is set to an invalid value. Check RPM setup instructions

RPMx_PIN=y, set SERVOx_FUNCTION=-1

RPM sensor misconfigured

Set SERVOz_FUNCTION to -1

Same Node Id x set for multiple GPS

DroneCan GPS configuration error

Check GPS1_CAN_NODEID and GPS2_CAN_NODEID are different. Set one to zero and reboot autopilot

Same rfnd on different CAN ports

Two rangefinders appearing on different CAN ports

Check USD1, TOFSensP, NanoRadar or Benewake setup instructions

Scripting: loaded CRC incorrect want: x

Script has incorrect CRC

Replace Lua script with expected version

Scripting: running CRC incorrect want: x

Script has incorrect CRC

Replace Lua script with expected version

Scripting: xxx failed to start

A Lua script failed to start

Autopilot out of memory or Lua script misconfiguration. See Lua scripts

Scripting: xxx out of memory

A Lua script ran out of memory

Increase SCR_HEAP_SIZE or check Lua script configuration

Servo voltage to low (Xv < 4.3v)

Servo rail voltage below 4.3V

Check power supply to rear servo rail

SERVOx_FUNCTION=y on disabled channel

PWM output misconfigured

SERVOx_FUNCTION is set for a servo output that has been disabled. See BLHeli setup

SERVOx_MAX is less than SERVOx_TRIM

PWM output misconfigured

Set SERVOx_TRIM to be lower than SERVOx_MAX

SERVOx_MIN is greater than SERVOx_TRIM

PWM output misconfigured

Set SERVOx_TRIM to be higher than SERVOx_MIN

temperature cal running

Temperature calibration is running

Wait until temp calibration completes or reboot autopilot

terrain disabled

Auto mission uses terrain but terrain disabled

Enable the terrain database (set TERRAIN_ENABLE = 1) or remove auto mission items that use terrain altitudes. For Copters also check RTL_ALT_TYPE.

Terrain out of memory

Autopilot has run out of memory

Disable features or replace with a higher powered autopilot

Throttle (RCx) is not neutral

RC transmitter’s throttle stick is too high

Lower throttle stick or repeat radio calibration

Throttle radio max too low

RC throttle channel max below 1700

Repeat the radio calibration procedure or increase RC2_MAX above 1700

Throttle radio min too high

RC throttle channel min above 1300

Repeat the radio calibration procedure or reduce RC1_MIN below 1300

Too many auxiliary authorisers

More than 3 external systems controlling arming

Check external authorisation system

vehicle outside fence

Vehicle is outside the fence

Move vehicle within the fence

VisOdom: not healthy

VisualOdometry sensor is not providing data

Check visual odometry physical connection and configuration

VisOdom: out of memory

Autopilot has run out of memory

Disable features or replace with a higher powered autopilot

VTOL Fwd Throttle iz not zero

RC transmitter’s VTOL Fwd throttle stick is high

Lower VTOL Fwd throttle stick or repeat radio calibration

waiting for terrain data

Waiting for GCS to provide required terrain data

Wait or move to location with better GPS reception

Yaw (RCx) is not neutral

RC transmitter’s yaw stick is not centered

Move RC yaw stick to center or repeat radio calibration

Yaw radio max too low

RC yaw channel max below 1700

Repeat the radio calibration procedure or increase RC2_MAX above 1700

Yaw radio min too high

RC yaw channel min above 1300

Repeat the radio calibration procedure or reduce RC1_MIN below 1300

Other Failure messages

Failsafes:

Any failsafe (RC, Battery, GCS,etc.) will display a message and prevent arming.

Barometer failures:

Baro not healthy : the barometer sensor is reporting that it is unhealthy which is normally a sign of a hardware failure.

Alt disparity : the barometer altitude disagrees with the inertial navigation (i.e. Baro + Accelerometer) altitude estimate by more than 1 meters. This message is normally short-lived and can occur when the autopilot is first plugged in or if it receives a hard jolt (i.e. dropped suddenly). If it does not clear the accelerometers may need to be calibrated or there may be a barometer hardware issue.

Compass failures:

Compass not healthy : the compass sensor is reporting that it is unhealthy which is a sign of a hardware failure.

Compass not calibrated : the compass(es) has not been calibrated. the COMPASS_OFS_X, _Y, _Z parameters are zero or the number or type of compasses connected has been changed since the last compass calibration was performed.

Compass offsets too high : the primary compass’s offsets length (i.e. sqrt(x^2+y^2+z^2)) are larger than 500. This can be caused by metal objects being placed too close to the compass. If only an internal compass is being used (not recommended), it may simply be the metal in the board that is causing the large offsets and this may not actually be a problem in which case you may wish to disable the compass check.

Check mag field : This can result from failing two different checks. First, the sensed magnetic field in the area is 35% higher or lower than the expected value. The expected length is 530 so it’s > 874 or < 185. Also, besides this rough check, when the vehicle’s position has been obtained (GPS lock), another check against the field strength predicted using the internal World Magnetic Field database is done with much tighter limits. If you are failing this, either the compass calibration has not calculated good offsets and calibration should be repeated, or your vehicle is near a large metallic or magnetic disturbance and will need to be relocated.

Compasses inconsistent : the internal and external compasses are pointing in different directions (off by >45 degrees). This is normally caused by the external compasses orientation (i.e. COMPASS_ORIENT parameter) being set incorrectly.

INS checks (i.e. Acclerometer and Gyro checks):

INS not calibrated: some or all of the accelerometer’s offsets are zero. The accelerometers need to be calibrated.

Accels not healthy: one of the accelerometers is reporting it is not healthy which could be a hardware issue. This can also occur immediately after a firmware update before the board has been restarted.

Accels inconsistent: the accelerometers are reporting accelerations which are different by at least 1m/s/s. The accelerometers need to be re-calibrated or there is a hardware issue.

Gyros not healthy: one of the gyroscopes is reporting it is unhealthy which is likely a hardware issue. This can also occur immediately after a firmware update before the board has been restarted.

Gyro cal failed: the gyro calibration failed to capture offsets. This is most often caused by the vehicle being moved during the gyro calibration (when red and blue lights are flashing) in which case unplugging the battery and plugging it in again while being careful not to jostle the vehicle will likely resolve the issue. Sensors hardware failures (i.e. spikes) can also cause this failure.

Gyros inconsistent: two gyroscopes are reporting vehicle rotation rates that differ by more than 20deg/sec. This is likely a hardware failure or caused by a bad gyro calibration.

Board Voltage checks:

Check Board Voltage: the board’s internal voltage is below 4.3 Volts or above 5.8 Volts.

If powered through a USB cable (i.e. while on the bench) this can be caused by the desktop computer being unable to provide sufficient current to the autopilot - try replacing the USB cable.

If powered from a battery this is a serious problem and the power system (i.e. Power Module, battery, etc) should be carefully checked before flying.

Parameter checks:

Ch7&Ch8 Opt cannot be same: Auxiliary Function Switches are set to the same option which is not permitted because it could lead to confusion.

Check FS_THR_VALUE: the radio failsafe pwm value has been set too close to the throttle channels (i.e. ch3) minimum.

Check ANGLE_MAX: the ANGLE_MAX parameter which controls the vehicle’s maximum lean angle has been set below 10 degrees (i.e. 1000) or above 80 degrees (i.e. 8000).

ACRO_BAL_ROLL/PITCH: the ACRO_BAL_ROLL parameter is higher than the Stabilize Roll P and/or ACRO_BAL_PITCH parameter is higher than the Stabilize Pitch P value. This could lead to the pilot being unable to control the lean angle in ACRO mode because the Acro Trainer stabilization would overpower the pilot’s input.

Battery/Power Monitor:

If a power monitor voltage is below its failsafe low or critical voltages or failsafe remaining capacity low or critical set points, this check will fail and indicate which set point it is below. It will also fail if these set points are inverted, ie critical point is higher than low point. See Battery Failsafe for Copter, Plane Failsafe Function for Plane, or Failsafes for Rover for more information on these.

In addition, minimum arming voltage and remaining capacity parameters for each battery/power monitor can be set, for example BATT_ARM_VOLT and BATT_ARM_MAH for the first battery, to provide a check that the battery is not only above failsafe levels, but also has enough capacity for operation.

Airspeed:

If an airspeed sensor is configured, and it is not providing a reading or failed to calibrate, this check will fail.

Airspeed not healthy

Logging:

Logging failed: Logging pre-armed was enabled but failed to write to the log.

No SD Card: Logging is enabled, but no SD card is detected.

Safety Switch:

Hardware safety switch: Hardware safety switch has not been pushed.

System:

Param storage failed: A check of reading the parameter storage area failed.

Internal errors (0xx): An internal error has occurred. Report to ArduPilot development team here

KDECAN Failed: KDECAN system failure.

DroneCAN Failed: DroneCAN system failure.

Mission:

See ARMING_MIS_ITEMS

No mission library present: Mission checking is enabled, but no mission is loaded.

No rally library present: Rally point checking is enabled, but no rally points loaded.

Missing mission item: xxxx: A required mission items is missing.

Rangefinder:

IF a rangefinder has been configured, a reporting error has occurred.

Disabling the Pre-arm Safety Check

Warning

Disabling pre-arm safety checks is not recommended. The cause of the pre-arm failure should be corrected before operation of the vehicle if at all possible. If you are confident that the pre-arm check failure is not a real problem, it is possible to disable a failing check.

Arming checks can be individually disabled by setting the ARMING_CHECK parameter to something other than 1. Setting to 0 completely removes all pre-arm checks. For example, setting to 4 only checks that the GPS has lock.

This can also be configured using Mission Planner:

../_images/MP_PreArmCheckDisable.png
  • Connecting your Autopilot to the Mission Planner

  • Go to Mission Planner’s Config/Tuning >> Standard Params screen

  • set the Arming Check drop-down to “Disabled” or one of the “Skip” options which more effectively skips the item causing the failure.

  • Push the “Write Params” button