Why won't my quad arm?

Betaflight already knows why, and it will tell you in one word. Here is how to ask it, and what every answer means.

Diagnostics 7 min read Updated 2026-07-13

The symptom

You flip the arm switch. Nothing happens. Maybe the ESCs beep at you, maybe there is a tone, maybe there is silence and a blinking light.

The good news: this is the one fault where the aircraft tells you the answer outright. Betaflight, iNAV and ArduPilot all refuse to arm for a stated reason, and they will all print that reason. Almost everyone skips reading it and starts guessing instead.

Check this in 60 seconds

Plug in USB, open the Betaflight Configurator, go to the CLI tab and type:

status

Look for this line:

Arming disable flags: ANGLE THROTTLE

That is your answer. Every flag on that line is a separate reason the FC is refusing, and all of them must clear before it will arm. The Configurator shows the same thing graphically as the red flag pills next to the arming indicator on the Setup tab.

On iNAV, the same information appears on the Configurator's status bar and in status. On ArduPilot, the pre-arm failure prints as a message in Mission Planner's HUD and in the messages tab — plain English sentences, not flags.

If you take one thing from this article: read the flag, then look it up. Do not start re-flashing.

What each Betaflight flag means

The list below covers the flags you will actually meet. They are ordered roughly by how often they are the culprit.

Flag What it means What to do
THROTTLE Throttle is not at minimum Throttle stick fully down. If it already is, your endpoints or trim are off — check the Receiver tab reads ~1000 at rest
ANGLE The aircraft is tilted beyond small_angle (default 25°) Put it on a level surface. If it is level and the flag persists, your accelerometer needs calibration — or the FC is mounted at an angle you never told it about
ARMSWITCH The arm switch was already on when the FC booted Flip it off, then on. This is deliberate: it exists so a quad cannot arm the instant you plug the battery in
RXLOSS No valid RC link right now — the condition failsafe exists to handle Check receiver binding, wiring, and that the correct serial port is set to Serial RX
NOPREARM You configured a prearm switch and have not flipped it Flip the prearm switch first, then arm
BOOTGRACE The FC booted less than a few seconds ago Wait. It will clear on its own
CALIB Sensor calibration is running Wait, and keep the aircraft still
NOGYRO The FC cannot talk to its gyro Hardware or firmware target problem. Wrong target flashed, or a dead/loose IMU
NO_ACC_CAL Accelerometer has never been calibrated Calibrate it, on a level surface
RUNAWAY Runaway Takeoff Prevention tripped previously Disarm, power-cycle
CRASH Crash recovery / gyro overflow triggered Power-cycle. If it repeats in flight, you have a vibration problem, not an arming problem
MSP A configurator is connected over USB/MSP Disconnect the Configurator. Betaflight will not arm while you are plugged in — this is intentional and has saved a lot of fingers
BADRX The RC link glitched recently and has not settled Wait for the link to be stable. If it never settles, you have a link problem, not an arming problem
RPMFILTER RPM filtering is on but bidirectional DShot is not delivering Check dshot_bidir, motor poles, and that your ESC firmware supports it
DSHOT_BBANG Bitbang DShot could not be allocated Change dshot_bitbang mode, or the timer allocation is exhausted
MOTOR_PROTO No motor protocol configured Set a motor protocol (DShot600 etc.)
PARALYZE Paralyze mode was triggered Power-cycle. It is a one-way "make this thing safe" switch
GPS A GPS-dependent arming requirement is not met Wait for a fix, or disable the GPS arming requirement if you know what you are doing
CLI You are sitting in the CLI right now Type exit

The three that catch almost everyone

MSP — you are still plugged into the Configurator. People flash, configure, and then wonder why the bench test does nothing. It will never arm over USB with a configurator attached. Unplug.

ARMSWITCH — the switch was on at boot. Extremely common with a new model on the radio, where the switch defaults to the wrong position. Flip it off and back on.

ANGLE — the FC does not think it is level. Also fires when you have mounted the FC rotated or tilted and never set align_board_roll / align_board_pitch / align_board_yaw or the Yaw/Pitch/Roll adjustment in the Configurator. The aircraft is level; the FC thinks it is at 30°.

How to know you actually fixed it

Not "it armed once." Power-cycle the aircraft, redo the full arming sequence from cold, and confirm the flag list comes up clean. Arming faults that come back intermittently — a marginal RC link, a flaky prearm switch — are the ones that will hand you a disarm in the air.

And do not disable an arming check to make it go away. Every flag on that list exists because a specific accident happened to somebody. MSP is there because people lost fingers. ARMSWITCH is there because quads took off from workbenches. If a check keeps blocking you, the aircraft is telling you something true.