Failsafe Configuration

Failsafe is what happens when the RC link dies mid-flight. Without correct configuration, a link-loss event sends the quad flying away at full throttle or drops it like a stone. Neither is good.


Two-Stage Failsafe

Betaflight uses a two-stage system:

flowchart TD
    A([RC signal<br/>lost]) --> B{Stage 1<br/>guard time}
    B -->|Signal returns<br/>before timer| C([Resume normal<br/>flight])
    B -->|Timer expires<br/>default 1.5s| D[Stage 1<br/>Hold last valid RC values]
    D --> E{Stage 2<br/>guard time}
    E -->|Signal returns| C
    E -->|Timer expires<br/>default 1s| F{Stage 2<br/>procedure?}
    F -->|DROP| G([Cut all motors<br/>quad falls])
    F -->|LAND| H([Reduce throttle slowly<br/>attempt controlled descent])
    F -->|GPS RESCUE| I([Climb, turn to home<br/>fly back, land])

Stage 1 absorbs momentary glitches. During Stage 1 the FC holds the last known stick positions β€” the quad keeps flying as it was. This buys time for the link to recover.

Stage 2 activates after a longer outage and executes the configured procedure.


Receiver-Side Failsafe

The receiver itself must also be configured to output a failsafe condition β€” not just hold last values forever. If the receiver keeps sending "last known position" indefinitely, Betaflight never detects a link loss.

Most modern receivers have two modes:

  • Hold β€” output last valid values (dangerous: Betaflight never triggers failsafe)
  • No pulses / failsafe values β€” output zero signal or pre-set custom values

Configure the receiver to output no pulses or its own failsafe position. On ELRS receivers over CRSF this is automatic β€” the receiver simply stops sending frames when the link drops (ELRS failsafe positions apply only to SBUS/PWM outputs).


Betaflight Configuration

Configurator β†’ Failsafe tab:

 1# Stage 1
 2set failsafe_delay = 4         # 4 Γ— 0.1s = 400ms guard time before Stage 2 triggers
 3set failsafe_off_delay = 10    # 10 Γ— 0.1s = 1s of landing before motors cut (Stage 2 duration)
 4
 5# Stage 2 procedure
 6set failsafe_procedure = GPS-RESCUE  # or DROP or AUTO-LAND
 7
 8# Throttle held during the AUTO-LAND procedure (0–2000); for GPS-RESCUE set to hover
 9set failsafe_throttle = 1300   # slightly below hover
10
11# If throttle was already low this long before failsafe, just disarm instead of landing
12set failsafe_throttle_low_delay = 100  # 100 Γ— 0.1s = 10s

Stage 2 Procedure Comparison

{ "type": "bar", "data": { "labels": ["DROP", "LAND", "GPS RESCUE"], "datasets": [ { "label": "Safe for flying over people", "data": [0, 4, 7], "backgroundColor": "rgba(239,68,68,0.7)" }, { "label": "Quad recovery rate", "data": [1, 5, 9], "backgroundColor": "rgba(34,197,94,0.7)" }, { "label": "Setup complexity", "data": [1, 3, 8], "backgroundColor": "rgba(59,130,246,0.7)" } ] }, "options": { "responsive": true, "plugins": { "title": { "display": true, "text": "Stage 2 Failsafe Procedure Trade-offs (1=low, 10=high)" }, "legend": { "position": "bottom" } }, "scales": { "y": { "beginAtZero": true, "max": 10 } } } }

DROP β€” immediately cuts all motors. The quad falls straight down from wherever it is. Use only when flying low over soft ground β€” it will destroy the quad but it won't fly away.

LAND β€” reduces throttle to a set level and descends slowly. Works at low altitude in calm conditions; unreliable in wind or at altitude.

GPS RESCUE β€” the best option when GPS is available. Climbs, turns toward home, flies back, and lands. See GPS Rescue Configuration.


Betaflight blocks arming if failsafe configuration is incomplete:

 1# In CLI, run:
 2status
 3
 4# Look for arming flags like:
 5# NOGYRO, RXLOSS, FAILSAFE, NO_ACC_CAL, etc.
 6
 7# If RXLOSS is shown:
 8# - RC link is not connected
 9# - Receiver failsafe is active (check RX config)
10# - UART not configured correctly for the RX protocol

Checklist Before Every Flight

  • Arm switch in DISARM position before powering on
  • Fly far enough away that you have a few seconds of warning before Stage 2 triggers
  • Know which direction "home" is β€” GPS Rescue flies toward arming point
  • Test Stage 1 on the ground: kill TX power for 300ms, quad should hold position; restore power
  • Never trust failsafe at less than 10m altitude β€” even GPS Rescue needs climb time

Notes

  • On CRSF, ELRS stops sending frames on link loss and Betaflight's own failsafe takes over (ELRS failsafe positions apply only to SBUS/PWM outputs). Verify by killing the TX and confirming the Receiver tab in Configurator shows the failsafe values.
  • "No pulses" failsafe output is preferred over "hold" β€” it guarantees Betaflight detects the loss within the Stage 1 guard window.
  • Failsafe is not a substitute for not flying out of range. It is a last resort.

Related Snippets