This tutorial shows you how to troubleshoot and fix a quadcopter that doesn’t arm. I will also explain the common problems that prevent a mini quad from arming with Betaflight.
If you are completely new to Betaflight, check out my tutorials on how to setup it up for the first time.
The first things to check
Here are the first things you want to check when you are having trouble arming your quad:
- Radio receiver is bound and working correctly in Betaflight. Check in the receiver tab if the channels are responding to sticks movement in the correct order and direction (download the latest betaflight configurator)
- Check if you have assigned a switch on your radio for ARM mode, and if it can be activated by that switch. The arm mode should turn yellow when activated, indicating that the switch is working
- As a safety feature in Betaflight, the motors won’t spin up even when you arm it if the flight controller is connected to the configurator. Remove USB connection and try again
If everything is good but you still can’t arm the quad, then we will have to look a bit deeper.
How to check for arming issue in Betaflight?
If you have Betaflight OSD, make sure you display “Warnings” on your screen, and that “Arming Disabled” is selected. This will let you know what is stopping arming.
If you don’t have Betaflight OSD, you can also check for the “Arming Disable Flag” in Betaflight. This will indicate the issues that are preventing you from arming.
There are multiple ways of checking for “Arming Disable Flag”:
- Betaflight Configurator
- Buzzer Beeping
If you have access to a computer, you can easily check the Arming Disable Flag in the Setup Tab in the Betaflight configurator.
Alternatively, you can check in the CLI by entering the command “status”. The last line of the status info is arming prevention flags list. This feature was made available after Betaflight 3.2.
Further Reading: How to use CLI in Betaflight?
If you don’t have access to a computer, but you do have a buzzer in your quad, the beeping should also indicate the reasons for the disabled arming. The beeping pattern can be broken down into:
- five short beeps for attention, which can be ignored
- a number of long beeps
- a number of short beeps with long intervals
Each long beep represents 5, while each short beep represents 1. The final flag number can be calculated as 5 x <the number of long beeps> + <the number of short beeps>.
- 0 long beep and 2 short beeps = 2
- 1 long beep and 3 short beeps = 8
- 2 long beeps + 0 short beeps = 10
Arming prevention flags lookup table
Once you have found the arming disable flag numbers or names, you can look it up in the table below to see what they actually mean. The table was taken from the Betaflight wiki page for our readers’ convenience.
|Name||Description||Beep code||Required Actions|
| ||A gyro was not detected||1||1||1||1||1||1||You may have a hardware failure, if a previous firmware version works then it may be a firmware issue.|
| ||Failsafe is active||2||2||2||2||2||2||Rectify the failure condition and try again.|
| ||No valid receiver signal is detected||3||3||3||3||3||3||Your receiver is either faulty or has no link to the transmitter.|
| ||Your receiver has just recovered from receiver failsafe but the arm switch is on||4||4||4||4||4||4||Switch the arm switch off.|
| ||The ‘FAILSAFE’ switch was activated||5||5||5||5||5||5||See |
| ||Runway Takeoff Prevention has been triggered||6||6||6||6||6||Disarm to clear this condition.|
| ||Crash Recovery has been triggered||7||7||Disarm to clear this condition.|
| ||Throttle channel is too high||6||7||7||7||8||8||Lower throttle below |
| ||Craft is not level (enough)||7||8||8||8||9||9||Level craft to within |
| ||Arming too soon after power on||8||9||9||10||10||10||Wait until |
| ||Prearm switch is not activated or prearm has not been toggled after disarm||9||10||10||10||11||11||Toggle the prearm switch.|
| ||System load is too high for safe flight||10||11||11||11||12||12||Revisit configuration and disable features.|
| ||Sensor calibration is still ongoing||11||12||12||12||13||13||Wait for sensor calibration to complete.|
| ||CLI is active||12||13||13||13||14||14||Exit the CLI.|
| ||CMS (config menu) is Active – over OSD or other display||13||14||14||14||15||15||Exit the CMS (or OSD menu).|
| ||OSD menu is active||14||15||16||Exit OSD menu.|
| ||A Black Sheep Telemetry device (TBS Core Pro for example) disarmed and is preventing arming||15||16||16||15||16||16||Refer to the manual for your hardware.|
| ||MSP connection is active, probably via Betaflight Configurator||16||17||17||16||17||17||Terminate the Betaflight Configurator connection (disconnect).|
| ||Paralyze mode has been activated||18||17||18||18||Power cycle/reset FC board.|
| ||GPS rescue mode is configured but required number of satellites has not been fixed||19||18||19||19||Wait for GPS fix or disable GPS rescue mode.|
| ||GPS Rescue switch is in an unsafe position||19||20||20||Turn off the GPS Rescue switch to arm.|
| ||Motor RPM-based filtering is not functioning||21||21||21||One or more ESC’s are not supplying valid RPM telemetry.|
| ||Reboot required||22||22||Reboot the flight controller for settings changes to take effect.|
| ||DSHOT Bitbang is not working||23||23||(3)|
| ||Accelerometer calibration required||24||Calibrate the accelerometer or disable features that use it|
| ||Arm switch is in an unsafe position||17||18||20||21||24||25||Toggle the arm switch to arm.|
Other common issues that stop the quad from arming
If you don’t get any arming disabled flag in Betaflight, then the problem might be something else. Try to go through the following check list.
Maybe your mini quad is not on a level enough surface, or the ACC (accelerometer) is not calibrated. Calibrate ACC on a level surface first, if still no luck, try increasing “small_angle degrees” in CLI (default is 25).
Or simply disable ACC if you don’t fly Angle mode.
CPU Usage Too High?
When CPU load is too high, the flight controller will simply refuse to arm. Try to stay below 50% by lowering looptime, and disabling unnecessary features.
Check if the lowest value in your throttle channel is too high, make sure the throttle stick is at its lowest position when attempting to arm. Ideally every channel including throttle should have endpoints of 1000 and 2000. If they are not then you might want to calibrate your radio endpoints first.
Betaflight doesn’t arm if your minimum throttle is too high (higher than the setting “Min_Check”). This is a safety feature so that the quad doesn’t suddenly spin up the motors and hurt you when it’s armed. You must ensure that your throttle is lower than min_check when it’s in the lowest stick position. Min_check is set to 1050 by default, double check if it’s not been changed by mistake.
Some FC might have more sensitive gyro’s and the quad would refuse to initialize after power up, and therefore you can’t arm it. By increase Moron Threshold in CLI can reduce gyro sensitivity during initialization. Try setting it to 100 or even 120.
I hope that was helpful! Let me know in the comment if you had problem with arming that was caused by something else that wasn’t covered in this tutorial. If you are still having problems arming your quad after following this guide, please post your question on our forum, I am more than happy to help.