Equipment
ExpressLRS and failsafe in Betaflight – setup
On an ExpressLRS drone you set failsafe in Betaflight. Stages 1 and 2, choosing Drop, Land or GPS Rescue, packet rate and a props-off test explained.
- By Power Technology training team
- 9 min read
On an FPV drone with ExpressLRS, you set up failsafe in Betaflight, not in the receiver. When the link is lost, the receiver stops passing on channel data, the flight controller detects the loss of signal (RXLOSS), sets fallback channel values for a short time (stage 1) and then starts the stage 2 procedure: Drop, Land or GPS Rescue. Your job is to match the procedure to the place where you fly and to check the whole thing on the bench without propellers before you fly.
How ExpressLRS and Betaflight share the work
ExpressLRS (ELRS) is an open-source control link system. The transmitter module in the radio sends packets with the stick and switch positions, and the receiver in the drone passes them on to the flight controller, most often using the CRSF protocol over a serial port. What the drone does after losing the link is decided by the flight controller firmware.
The Betaflight documentation explicitly recommends that the receiver should send no data at all when the signal is lost1. That way the flight controller knows unambiguously that the link has gone. A receiver that instead sends "substitute" stick positions may mean the flight controller never notices the problem – and the drone carries on flying with whatever it has been given.
Several elements of the ELRS configuration have a direct impact on safety:
- Binding phrase. Entered in the transmitter and the receiver, it lets them connect without manual pairing. Use a unique phrase, not the example from a tutorial2.
- Model Match. The receiver connects only when the correct model is selected on the radio. This protects you from flying with another drone's settings.
- Arming on AUX1. The ELRS documentation clearly recommends putting the arming switch on AUX1 (channel 5), with approx. 1000 µs as disarmed and approx. 2000 µs as armed. AUX1 is sent in every packet3.
- The right OSD elements. To judge the link, use link quality (LQ) and signal strength in dBm, and switch off analogue RSSI sources in Betaflight3.
Packet rate, power and telemetry
Packet rate determines how many times per second the transmitter sends a control packet. A higher rate gives lower latency; a lower one gives a link that is more resistant to distance and obstacles. The available modes depend on the band and the hardware4.
| Band | Example modes | Typical use |
|---|---|---|
| 2.4 GHz | 50, 150, 250, 500 Hz (LoRa) | From longer-range flights to freestyle |
| 2.4 GHz | F500, F1000, D250, D500 | Racing and close-in flying, where latency matters |
| 2.4 GHz | 100 Hz Full, 333 Hz Full | When you need full resolution on all channels |
| 900 MHz | 25, 50, 100, 200 Hz | Flights in difficult terrain and over longer distances |
The ELRS documentation recommends modes from 500 Hz upwards for racing4. For learning and freestyle in open terrain a moderate packet rate, e.g. 250 Hz, works well – a stable link matters more than a few milliseconds.
Transmitter power and regulations
ELRS modules can transmit at up to 1 W, and some at more4. In Europe, however, wideband data transmission systems in the 2.4 GHz band are subject to a limit of 100 mW e.i.r.p., i.e. including antenna gain5. When flashing the firmware, choose the EU regulatory domain (in the ELRS documentation: EU_CE_2400). The European ELRS domains use LBT, i.e. listen before talk2. For the 900 MHz version you choose the EU_868 domain, and in that band the European limits on power and transmission time are much stricter5.
The Dynamic Power function lowers the power when the link is good and raises it when it weakens. This is a sensible default, as long as the upper limit stays within the regulations.
Telemetry
Telemetry sends data such as battery voltage and link quality from the drone to the radio. Set up voice alerts on the radio for low LQ and low voltage – you will hear a warning before you see the problem in your goggles.
Failsafe stages in Betaflight
When the flight controller stops receiving valid data, Betaflight holds the last channel values for approx. 300 ms. This is enough to ride out a short dropout without reacting. If the signal does not return, stage 1 begins1.
Stage 1 – guard period
The flight controller applies the fallback channel values (Channel fallback settings). In Auto mode the roll, pitch and yaw sticks return to centre and the throttle drops to minimum – the drone starts to descend quickly6. Auxiliary switches keep their last position. Stage 1 lasts as long as you set in the failsafe_delay parameter. The default value depends on the version – in Betaflight 4.5 it is 1.5 s1. If the link returns during this time, you regain control immediately.
Stage 2 – failsafe procedure
When the stage 1 time has elapsed, the controller starts the selected procedure6:
- Drop – immediate disarm and motor stop. The drone falls where it was. This is the default setting.
- Land – the controller holds a constant throttle level (failsafe_throttle) for a set time (failsafe_off_delay) and then disarms the motors.
- GPS Rescue – a drone with a GPS module tries to return to the take-off point.
After stage 2 has finished, you must move the arming switch to the disarmed position before you can arm the drone again1.
Which procedure to choose – Drop, Land or GPS Rescue
Drop
The simplest and most predictable choice for flights in open terrain, within the observer's line of sight and over an area with no people. The drone will come down close to where the link was lost, which makes it easier to find. This is a good setting for most training flights.
Land
Makes sense when you would rather the drone descended more slowly. The Betaflight documentation recommends setting failsafe_throttle so that the drone descends at approx. 1 m/s1. Remember that a descending drone drifts with the wind. A badly chosen throttle value can make it descend too fast or even climb.
GPS Rescue
Useful for flights over longer distances, but it requires a GPS module, correct configuration, enough satellites and a home point saved before arming. Do not treat it as a guarantee that the drone will return. Test every GPS Rescue configuration in safe conditions first – and in the open category you fly within the observer's line of sight anyway.
How to set up failsafe in Betaflight step by step
- Remove the propellers, connect the drone to the computer and open the Betaflight app (Betaflight App or the older Configurator) on the Receiver tab. Check that all channels respond correctly and that the arming switch is on AUX1.
- Disable the analogue RSSI source in the configuration, and enable the Link Quality and RSSI dBm elements in the OSD.
- Go to the Failsafe tab. In the stage 1 settings, leave the sticks on Auto and check that the arming channel does not have a value that forces arming.
- Set the stage 1 time (failsafe_delay) – the default value is usually enough.
- Choose the stage 2 procedure. To start with, choose Drop.
- Optionally, assign a FAILSAFE switch on the Modes tab and choose its action: Stage 1, Stage 2 or Kill6.
- If you choose Land, set the throttle and landing time. You will fine-tune them later by triggering failsafe with this switch at low height over soft, empty ground.
- Save the settings and carry out the test described below.
How to test failsafe without risk
- Remove all propellers. This is an absolute requirement.
- Connect the battery, put on your goggles or watch the OSD on a preview.
- Arm the motors and add a little throttle.
- Switch off the radio or the transmitter module.
- Check that a loss-of-signal warning appears in the OSD and that the motors behave according to the selected procedure – with Drop they stop once stage 1 has elapsed.
- Switch the radio back on and check that the arming switch has to be moved to disarmed before you can arm the drone again.
For the bench test you can temporarily lengthen failsafe_delay to observe stage 1 behaviour in detail. The Betaflight documentation suggests, for example, 10 s for this purpose1. Restore the proper value after the test. Repeat the test after every firmware update, receiver change and major configuration change.
What to do when the link weakens in flight
Failsafe is the last line of defence, not a flight plan. When LQ drops noticeably or the radio warns of a weak signal, turn back towards yourself immediately, gain height if there are obstacles between you and the drone, and do not fly behind trees or buildings. Once the link is back to normal, land and check the receiver antennas before flying again. On the course we practise exactly this response to a weak-link warning in the field.
The most common configuration mistakes
- A receiver set to send substitute stick values instead of no data – the flight controller does not detect the loss of link.
- Arming on a channel other than AUX1, or with reversed values.
- The same example binding phrase as other pilots.
- Model Match switched off and flying with another model's settings.
- Transmitter power set above the permitted limit "just in case".
- Receiver antennas next to the propellers or taped to the carbon-fibre frame.
- No failsafe test after a firmware version change.
Key points
- Betaflight decides how the drone behaves after losing the link, and the receiver should then send no data at all.
- Stage 1 is a short guard period with fallback channel values; stage 2 is the Drop, Land or GPS Rescue procedure.
- In open terrain without people, Drop is the simplest and most predictable option.
- In Europe the 2.4 GHz link is subject to a 100 mW e.i.r.p. limit – set the EU domain and a sensible power level.
- Arm on AUX1, use a unique binding phrase and enable Model Match.
- Test failsafe on the bench without propellers after every firmware or configuration change.
Betaflight, Failsafe – documentation: https://betaflight.com/docs/wiki/guides/current/Failsafe ↩ ↩ ↩ ↩ ↩ ↩
ExpressLRS, Firmware Options – documentation: https://www.expresslrs.org/quick-start/firmware-options/ ↩ ↩
ExpressLRS, Before First Flight – documentation: https://www.expresslrs.org/quick-start/pre-1stflight/ ↩ ↩
ExpressLRS, The ExpressLRS Lua Script – documentation: https://www.expresslrs.org/quick-start/transmitters/lua-howto/ ↩ ↩ ↩
CEPT/ECC, ERC Recommendation 70-03 Relating to the use of Short Range Devices (SRD), February 2025 edition, Annexes 1 and 3: https://docdb.cept.org/download/4635 ↩ ↩
Betaflight, Failsafe Tab – app documentation: https://betaflight.com/docs/wiki/app/failsafe-tab ↩ ↩ ↩