MAVLINKHUD

Overview

The ARMING parameter group configures the Pre-Arm Safety Checks. ArduPilot performs a comprehensive system health check before allowing the motors to spin (Arming). This prevents taking off with bad sensors, no GPS lock, or unsafe configurations.

Key Concepts

1. The Arming Check Bitmask (ARMING_CHECK)

This is the master configuration for what to check.

  • 1 (All): Performs all standard checks (Barometer, Compass, GPS, Battery, RC, Board Voltage, Safety Switch, Logging). Recommended.
  • 0 (None): Disables all checks. Dangerous.
  • Specific Bits: You can disable individual checks (e.g., disable GPS check for indoor flight) by summing the bitmask values.

2. Rudder Arming (ARMING_RUDDER)

Configures whether holding the rudder stick (Yaw) to the bottom-right corner arms the vehicle.

  • 1 (ArmOrDisarm): Standard for Copters.
  • 2 (ArmOnly): Cannot disarm via stick (requires GCS or Switch). Safer for flight.
  • 0 (Disabled): Must use GCS or Switch to arm.

3. Required Accuracy

Parameters like ARMING_ACCTHRESH (Accelerometer error) and ARMING_MAGTHRESH (Compass error) set the strictness of the sensor health checks.

Parameter Breakdown

  • ARMING_CHECK: Bitmask of enabled checks.
  • ARMING_RUDDER: Enable/Disable stick arming.
  • ARMING_ACCTHRESH: Max acccelometer inconsistency.
  • ARMING_MAGTHRESH: Max magnetic field inconsistency.

Integration Guide

Troubleshooting "Pre-Arm: Check ..."

  1. Read the Message: The HUD will tell you exactly what failed (e.g., "Pre-Arm: Compass not calibrated").
  2. Fix the Root Cause: Calibrate the sensor or move away from magnetic interference.
  3. Last Resort: Disable the specific check in ARMING_CHECK only if you understand the risk.

Developer Notes

  • Library: AP_Arming (Vehicle specific implementations in ArduCopter/AP_Arming.cpp, etc.).
  • Safety: These checks are the last line of defense against configuration errors.

ARMING_ACCTHRESH

$m/s^2$
Default 0.75
Range 0.25 3.0

Accelerometer error threshold (ARMING_ACCTHRESH)

Description

Defines the maximum allowable difference between multiple accelerometers. If the readings diverge by more than this value, the aircraft will refuse to arm, indicating a potential sensor failure or calibration mismatch.

Tuning & Behavior

  • Default Value: 0.75 $m/s^2$
  • Range: 0.25 to 3.0 $m/s^2$
  • A lower value makes the pre-arm check more strict.
  • A higher value allows for more sensor noise/inconsistency but increases risk.

ARMING_BBOX_SPD

m/s
Default 5
Range 1 20

Blackbox speed (ARMING_BBOX_SPD)

Description

GPS speed threshold for "Blackbox" mode, which automatically arms the flight controller to trigger data logging when a certain speed is reached.

Tuning & Behavior

  • Default Value: 5 m/s
  • Range: 1 to 20 m/s
  • Primarily used for high-speed logging on non-controlled platforms (e.g., as a dedicated logger).
  • WARNING: Do not use with propellers attached if the FC is not the primary controller.

ARMING_CHECK

Default 1

Arm Checks to Perform (ARMING_CHECK)

Description

Bitmask selecting which internal subsystems must pass their health checks before the vehicle is allowed to arm.

Tuning & Behavior

  • Default Value: 1 (All checks enabled)
  • Bitmask Examples:
    • 1: All
    • 2: Barometer
    • 4: Compass
    • 8: GPS lock
    • 16: INS (IMU)
    • 32: Parameters
    • 64: RC Channels
  • Setting to 0 disables all safety checks (NOT RECOMMENDED for flight).

ARMING_CRSDP_IGN

Default 0
Range 0 1

Disable CrashDump Arming check (ARMING_CRSDP_IGN)

Description

A safety "acknowledgment" required if the flight controller previously suffered a hard crash resulting in a crash dump. Arming is blocked until the user acknowledges the crash by setting this to 1.

Tuning & Behavior

  • Default Value: 0
  • Values: 0:Check Active, 1:Acknowledge/Ignore
  • Setting this to 1 allows arming even if crash data is present.

ARMING_MAGTHRESH

mGauss
Default 100
Range 0 500

Compass magnetic field strength error threshold (ARMING_MAGTHRESH)

Description

Maximum allowable deviation of the measured magnetic field from the expected Earth magnetic model (based on GPS location).

Tuning & Behavior

  • Default Value: 100 mGauss
  • Range: 0 to 500 mGauss
  • Ensures the compass is properly calibrated and not affected by local interference.

ARMING_MIS_ITEMS

Default 0

Required mission items (ARMING_MIS_ITEMS)

Description

Forces the pilot to include specific commands in their mission (e.g., Takeoff or Land) before the aircraft will arm.

Tuning & Behavior

  • Default Value: 0
  • Bitmask:
    • 0: Land
    • 1: VTOL Land
    • 2: DO_LAND_START
    • 3: Takeoff
    • 4: VTOL Takeoff
    • 5: Rallypoint
    • 6: RTL

ARMING_NEED_LOC

Default 0
Range 0 1

Require vehicle location (ARMING_NEED_LOC)

Description

Strict requirement for a valid 3D GPS fix (or other absolute position) before arming is permitted.

Tuning & Behavior

  • Default Value: 0 (Not required for most vehicles; Copter often defaults to 1 for safety)
  • Setting to 1 ensures the vehicle has a known "Home" position for failsafe RTL.

ARMING_OPTIONS

Default 0

Arming options (ARMING_OPTIONS)

Description

Bitmask for miscellaneous arming-related behaviors.

Tuning & Behavior

  • Default Value: 0
  • Bitmask:
    • 0: Disable prearm display
    • 1: Do not send status text on state change
    • 2: Skip IMU consistency checks when ICE motor running

ARMING_REQUIRE

Default 1
Range 0 2

Require Arming Motors (ARMING_REQUIRE)

Description

Determines if an explicit arming command (from GCS or RC sticks) is required to enable motor output.

Tuning & Behavior

  • Default Value: 1
  • Values:
    • 0: Disabled (Arm immediately on boot)
    • 1: Enabled (Minimum PWM when disarmed)
    • 2: Enabled (0 PWM when disarmed)
  • A value of 1 or 2 is strongly recommended for safety.

ARMING_RUDDER

Default 1
Range 0 2

Arming with Rudder enable/disable (ARMING_RUDDER)

Description

Enables or disables the ability to arm and disarm the vehicle using the rudder stick on the RC transmitter.

Tuning & Behavior

  • Default Value: 1 (Arming Only for Plane, Arm/Disarm for Copter)
  • Values: 0:Disabled, 1:ArmingOnly, 2:ArmOrDisarm
  • Rudder arming only works when the throttle is at its minimum position.