Skip to main content

Arming Sequence & Safety

Switch arming

The AUX channel configured for arming will choose a default value that falls outside of the configured arm range (as configured in the "Modes" configurator tab), this value is either 1 "step" (25us) above or below the configured range. This is a safety feature to ensure the default value would not cause accidental arming.

Note that this default value is overwritten by the first values data from the receiver, therefore bad RX initial states or failsafe settings can still cause issues.

Arming Prevention

AlphaFly 3.2 (and above) includes more detailed troubleshooting information for the case when a craft will not arm.

This information is available via:

  • the CLI
  • AlphaFly OSD
  • beep patterns
  • AlphaFly App

Several of these conditions are to assist in preventing accidental arming via bad radio system configuration, unreliable/poor quality receivers and user mistakes.

These reasons for not arming are encoded as a set of flags (see runtime_config.h).

CLI

Flags can be viewed via the status command.

Some targets with limited flash space will only provide the hexadecimal representation of these flags, in which case the active flags must be derived from the armingDisableFlags_e enum in runtime_config.h (ensure the version of the file you are looking at matches that of your firmware).

Beeper

When arming is attempted and fails, if a beeper is connected to the flight controller it will emit a warning signal indicating the most important (lowest number) reason why disarming is disabled.

The signal is as follows:

  • five short 'attention' beeps;
  • a number of long beeps (may be 0);
  • a number of short beeps with long intervals (may be 0).

The arming prevention condition that is active can be calculated as (5 * <number of long beeps>) + <number of short beeps> . For example:

  • 1 long and 2 short beeps = 7
  • 2 long beeps = 10

Description of arming prevention flags

What each flag means and what you should do to (probably) fix the issue.

This list should be kept up to date with the code in master (armingDisableFlags_e in src/main/fc/runtime_config.h) so can be used to find what flag corresponds to a certain index, however if you run an older version you'd have to check this manually as mentioned above.

ИмяDescriptionBeep codeRequired Actions
3.23.33.4/3.54.04.14.2+
NOGYRO A gyro was not detected111111You may have a hardware failure, if a previous firmware version works then it may be a firmware issue. Or you might have flashed a wrong target.
FAILSAFE Failsafe is active222222Rectify the failure condition and try again.
RXLOSS (1) or RX_FAILSAFE No valid receiver signal is detected333333Your receiver is either faulty or has no link to the transmitter.
BADRX (1) Your receiver has just recovered from receiver failsafe but the arm switch is on444444Switch the arm switch off.
BOXFAILSAFE The 'FAILSAFE' switch was activated555555See FAILSAFE
RUNAWAY Runway Takeoff Prevention has been triggered 66666Disarm to clear this condition.
CRASH Crash Recovery has been triggered 77Disarm to clear this condition.
THROTTLE Throttle channel is too high677788Lower throttle below min_check.
ANGLE Craft is not level (enough)788899Level craft to within small_angle degrees (default 25).
BOOTGRACE Arming too soon after power on899101010Wait until pwr_on_arm_grace seconds (default 5) have elapsed.
NOPREARM Prearm switch is not activated or prearm has not been toggled after disarm91010101111Toggle the prearm switch.
LOAD System load is too high for safe flight101111111212Revisit configuration and disable features.
CALIB Sensor calibration is still ongoing111212121313Wait for sensor calibration to complete.
CLI CLI is active121313131414Exit the CLI.
CMS CMS (config menu) is Active - over OSD or other display131414141515Exit the CMS (or OSD menu).
OSD OSD menu is active141516 Exit OSD menu.
BST A Black Sheep Telemetry device (TBS Core Pro for example) disarmed and is preventing arming151616151616Refer to the manual for your hardware.
MSP MSP connection is active, probably via AlphaFly App161717161717Terminate the AlphaFly App connection (disconnect).
PARALYZE Paralyze mode has been activated 18171818Power cycle/reset FC board.
GPS GPS rescue mode is configured but required number of satellites has not been fixed 19181919Wait for GPS fix, enable arming without GPS fix, or disable GPS rescue mode.
RESCUE_SW GPS Rescue switch is in an unsafe position 192020Turn off the GPS Rescue switch to arm.
RPMFILTER (2) or DSHOT_TELEM Motor RPM-based filtering is not functioning 212121One or more ESC's are not supplying valid RPM telemetry.
REBOOT_REQD Reboot required 2222Reboot the flight controller for settings changes to take effect.
DSHOT_BBANG DSHOT Bitbang is not working 2323(3)
NO_ACC_CAL Accelerometer calibration required 24Calibrate the accelerometer or disable features that use it
MOTOR_PROTO ESC/Motor Protocol not configured 25Select the ESC/Motor protocol to use on the Конфигурация tab.
ARMSWITCH Arm switch is in an unsafe position171820212426Toggle the arm switch to arm.

(1) This may appear on the AlphaFly OSD during flight, take it as a sign that your radio system is either faulty or you are flying at the edge of your range. Treat it the same you would an "RSSI critically low" warning.

(2) RPM-based filtering is enabled but one or more ESC's are not supplying valid DSHOT telemetry. Check that the ESC's are capable of and have the required firmware installed to support bidirectional DSHOT telemetry.

(3) Bitbang DSHOT is not working properly and the motors can't be controlled. Likely caused by a timer conflict with other features enabled on the flight controller.