Article

Betaflight GPS Rescue: GPS setup, home point and testing return-to-home

GPS Rescue is Betaflight's return-to-home. When the radio link drops, or when you flip a switch because the video has gone, the quad levels out, climbs, turns toward home, flies back, and tries to land and disarm near the spot where it was armed. Set up carelessly, the same feature can drop the quad the moment it starts, or fly it confidently in the wrong direction.

The Betaflight wiki calls the default rescue settings "about right" for a typical 5-inch freestyle quad, so the tuning numbers are rarely the problem. Rescues usually fail somewhere else: a weak GPS module, no home point, a heading the flight controller has not worked out yet, or a hover throttle so low that the quad sinks before the controller catches it. This guide goes through those parts and ends with a test sequence you can run before you ever need a rescue for real.

GPS Rescue is one of the Stage 2 failsafe procedures and depends on Stage 1 being set correctly. If you have not configured failsafe yet, read the failsafe article on this site first.

What the quad does during a rescue

A rescue runs through five phases in order. Each has an exit condition, and sanity checks run in the background to catch a rescue that is going wrong.

Phase What happens Moves on when
ASCEND Angle mode on, climbs at the set rate, starts yawing toward home Return altitude reached
ROTATE Keeps yawing toward home Heading error under 15°
FLY HOME Pitches forward to hold the set ground speed, adds roll to fight wind drift Within the descent distance of home
DESCEND Slows and descends, aiming for a point about 2 m from home Below the landing altitude
LAND Descends at the set rate with a zero forward-speed target Touchdown impact detected, then disarm

The 2 m offset is deliberate. Aiming for the edge of a small circle around home rather than the point itself reduces overshoot, and in wind the quad usually lands on the downwind side. Betaflight also switches crash detection on for the whole rescue, even if you have it disabled, so a hard hit on the way back can disarm the quad.

Pick a GPS module that holds a fix

Use a module that speaks the UBlox protocol, runs at 10 Hz and supports hot start. Betaflight supports UBlox M6 through M10. NMEA modules often update once a second or slower, which makes the rescue jerky to the point of being unusable. The wiki puts 5 Hz as the minimum for smooth control; 1 Hz is good only for showing coordinates in the OSD or log.

Test a new module outdoors on a table with Configurator connected. According to the wiki, a good unit will:

  • find around 20 satellites within a couple of minutes from a cold start, with 10 to 12 used in the 3D fix;
  • add satellites progressively instead of swapping them in and out;
  • hold a steady position on the map rather than wandering by metres;
  • report under 10 to 20 cm/s of speed while sitting still (reject one that keeps showing more than 25 cm/s);
  • keep its satellites when you tilt the quad to 45°.

The tilt test is the one people skip. The quad pitches forward to fly home, and a marginal module that loses satellites at an angle gives you an erratic or failed rescue. Physically larger modules generally do better than tiny ones, and a module with a backup battery regains satellites faster after a power cycle.

Leave the compass off on most builds. The wiki says that on most 5-inch or smaller quads the magnetometer is too noisy to be useful, and a badly calibrated one makes the rescue worse. Enable it only after a log of an accurately flown square shows clean 90° heading changes.

Mount and wire it

The ceramic patch antenna must face the sky with nothing above it. Carbon fibre, metal and wiring all weaken the signal. iFlight's setup guide suggests the rear of the frame, as far from the VTX as possible. Oscar Liang adds the receiver and VTX antennas and HD cameras, which may not be well shielded, to the list of things to keep away from.

Wiring is a plain UART: GPS TX to FC RX, GPS RX to FC TX, plus 5 V and ground. Don't put the GPS on the receiver's UART. Power it from a pad that comes up together with the flight controller. Betaflight only detects and configures the module properly when both power up at the same moment.

Configure Betaflight

  1. Flash firmware cloud-built with GPS support. If GPS keeps turning itself off after a reboot, the build may not include it.
  2. In the Ports tab, set the GPS UART as a GPS sensor input. The wiki recommends 57600 baud with the default 10 Hz update rate. 115200 gains little at 10 Hz, costs more CPU time and is more sensitive to electrical noise.
  3. In the Configuration tab, enable GPS.
  4. In the GPS tab, choose UBLOX and keep Auto Config on (M10 modules need Betaflight 4.5 or newer). Turn on Use Galileo. The firmware default is off, but the GPS tab documentation says most users should enable it.
  5. Save, reboot and check the GPS tab outdoors: 3D fix, satellite count, a position that stays still and a low PDOP.

The 4.5 release notes warn against carrying GPS Rescue, Angle or Horizon values over from older firmware. Start from the 4.5 defaults. The rescue is also heavy on the CPU, so the wiki recommends an 8k gyro with a 4k PID loop instead of 8k/8k. If the module will not connect, the status CLI command shows the requested and returned baud rate and, for UBlox, the module type.

Get a home point and a heading before every flight

With GPS Rescue configured, Betaflight will not arm until it has a 3D fix and at least gps_rescue_min_sats satellites. The default is 8, and the wiki prefers 10. Keep gps_rescue_allow_arming_without_fix off. A quad armed without a home point has nowhere to go: when a rescue starts, it hovers in a "do nothing" state for 20 seconds and then disarms.

Check the OSD before takeoff, not only the blinking LED on the module. The LED shows a position lock, which is not the same as a home lock. After arming, look for the home icon and distance to home. If speed and altitude are still jumping, wait another 30 to 60 seconds. A PDOP close to or below 1.0 indicates a solid fix.

Then decide on Set Home Point Once. Off (the firmware default), every arm sets a new home. That is fine in a normal session, but if you disarm mid-flight and re-arm 2 km away, that is where the rescue goes. On, only the first arm after you plug in the battery counts, so that first arm has to happen where you want the quad to come back to. Oscar Liang's setup guide turns it on.

Without a compass, the flight controller works out its heading from the GPS course over ground. It needs at least 2 m/s of clean, nose-forward flight for several seconds. After takeoff, fly dead straight, directly into or with the wind if there is any, and watch the home arrow. It should point home within 5 to 10 seconds, or 50 to 80 m. If it doesn't, land, power cycle and try again. A rescue started before the heading is known can carry the quad 50 to 80 m in the wrong direction before it loops back.

The rescue settings worth knowing

These defaults are the same in the Betaflight source for 4.5, 2025.12 and 2026.6.

Setting (CLI) Default What it controls
gps_rescue_alt_mode MAX_ALT How the return altitude is chosen
gps_rescue_initial_climb 10 m Extra climb above max or current altitude
gps_rescue_return_alt 30 m Return height in FIXED_ALT mode
gps_rescue_ascend_rate 750 cm/s Climb rate
gps_rescue_ground_speed 750 cm/s Speed toward home
gps_rescue_descent_dist 20 m Distance from home where the descent starts
gps_rescue_descend_rate 150 cm/s Descent rate (up to twice this when starting high)
gps_rescue_min_start_dist 15 m Closer than this, the quad goes straight to landing
gps_rescue_min_sats 8 Satellites needed for a home point and for arming
gps_rescue_sanity_checks RESCUE_SANITY_FS_ONLY How a failing rescue is handled

Altitude mode deserves the most thought. MAX_ALT climbs to the highest point reached since arming, plus the initial climb. That works when you have been above every obstacle on your route at some point. FIXED_ALT returns at a set height above home, which suits low flying among trees or buildings whose height you know. CURRENT_ALT climbs the initial-climb amount above wherever the rescue started; the wiki suggests it for testing and panic-switch use.

Wind is the usual reason a correctly configured rescue still fails. A strong headwind on the return leg can blow the quad sideways or backwards. It needs enough pitch angle and throttle to make headway, and a long return into the wind uses a lot of battery, so keep that in mind before flying far downwind. If a test rescue struggles, raise the maximum rescue angle (gps_rescue_max_angle, 45° by default in 4.5 and 2025.12) and check the throttle ceiling.

Several names changed in 2025.12. The hover throttle, the throttle limits, the landing altitude and the altitude PIDs moved to shared autopilot settings that Altitude Hold also uses:

4.5 2025.12 and later
gps_rescue_throttle_hover ap_hover_throttle
gps_rescue_throttle_min / _max ap_throttle_min / ap_throttle_max
gps_rescue_landing_alt ap_landing_altitude_m
gps_rescue_throttle_p / _i / _d ap_altitude_p / _i / _d

Hover throttle defaults to 1275 and landing altitude to 4 m in both. The throttle ceiling is 1700 in 4.5 and 2025.12 and 1900 in the 2026.6 source. Running get gps_rescue and get ap_ in the CLI lists the names your firmware actually uses.

Hover throttle, Stage 1 and level trim

These three settings decide how the first second of a rescue goes.

Hover throttle. The rescue starts from this value and the altitude controller adjusts it up or down. Set too low, the quad drops right at the start. The wiki's way to find it: set the failsafe switch to go straight to Stage 2, set the Stage 2 procedure to Land, and adjust "Throttle value used while landing" until the quad descends gently. Copy that number into the GPS Rescue hover throttle and the Stage 1 throttle fallback, then set Stage 2 back to GPS Rescue. If unsure, go slightly high. A quad that climbs too fast is less of a problem than one that drops like a stone.

Stage 1. Give the Stage 1 throttle channel a manual hover value, never Auto, because Auto means throttle off and the quad falls. Set your Angle mode channel to activate in Stage 1 as well, so the quad levels and slows before the rescue takes over. Over water, a Stage 1 throttle that is too low can put the quad in the water in the second before GPS Rescue starts.

Level trim. Angle mode has to hover flat. A quad that drifts sideways in Angle mode will track off to one side on the way home and drift while landing. You can trim the accelerometer at the field: stay disarmed, switch to Angle mode, put the throttle full up, and tap pitch or roll against the drift, 5 to 10 taps at a time.

Three ways to start a rescue

  • Real link loss. Failsafe Stage 2 is set to GPS Rescue. Once the link comes back, you have to move roll or pitch past failsafe_stick_threshold (30% by default) to take over. Keep your hands still until the video is solid, the RXLOSS warning has cleared and the link indicator looks normal. Grab the sticks earlier and you can end the rescue while you still can't see.
  • Failsafe switch. A FAILSAFE mode on an aux switch emulates link loss, including Stage 1, or skips straight to Stage 2 if you configure it that way. Flip the switch back and you have control again at once, no stick movement needed. Don't share that aux range with any other mode.
  • GPS Rescue mode switch. Starts the rescue immediately, without the Stage 1 delay. It is meant for video loss on a long flight or for losing orientation when flying line of sight. Reverse the switch and you are back in control, though momentum still carries the quad for a few seconds.

The wiki points out why the last two combine well: failsafe can keep its Stage 1 delay, so a short dropout only shows RXLOSS, while the GPS Rescue switch starts a return with no delay at all. If the video has not come back 20 to 30 seconds into a switch-started rescue, the wiki's advice is to undo the switch, disarm and go and search. The quad then stays close to where you lost the picture, with charge left in the battery.

Test it in steps

  1. Pick an open field with soft grass, away from people and roads. Keep the default settings and stay close.
  2. Check that Angle mode hovers flat and that the home arrow points home after a straight run.
  3. Fly out past the 15 m minimum distance, hover, and flip the GPS Rescue switch. Look for a climb, a turn toward home and a steady approach. Cancel the moment anything looks wrong.
  4. Repeat until it climbs, turns, returns and lands every time. Then increase the distance.
  5. Test the failsafe-switch path with Stage 1 included.
  6. Only after that, test a real link loss by disabling the TX module in the radio menu. Do not switch the radio off. Most radios want all switches off when they power up, so turning the radio back on means an arm switch in the off position and an immediate disarm.

If a switch test floats around or goes wrong, do not disarm in a panic. Reverse the switch and control comes straight back. Wait more than about 15 seconds and the quad may disarm and fall.

Before a flight where you might really need it, run one short switch-started rescue near you, confirm it turns for home, and cancel it.

When the rescue gives up

Sanity checks exist so that a rescue which cannot succeed ends with the quad on the ground instead of a flyaway, a flat pack or burned motors. The default, RESCUE_SANITY_FS_ONLY, acts firmly during a real link loss and gives you extra time to reverse the switch during a switch-started test. The wiki lists checks such as:

  • satellites below half of gps_rescue_min_sats for a cumulative 10 seconds;
  • speed toward home below half the target for a cumulative 15 seconds;
  • climbing or descending at less than half the set rate for a cumulative 10 seconds, as when the quad is stuck in a tree;
  • no home point when the rescue starts.

Depending on the check and the mode, the quad either disarms immediately or hovers in "do nothing" for 20 seconds and then disarms. RESCUE_SANITY_OFF is for testing only, and even then Betaflight disarms after 20 seconds of failure. The checks have gaps: nothing checks absolute altitude while the quad flies home, and bad GPS data can send it the wrong way without tripping anything.

Quick troubleshooting

Symptom Likely cause
Won't arm Not enough satellites yet; wait
Drops briefly at the start, then recovers Stage 1 throttle too low or not set
Drops a second after the start and stays low Hover throttle too low
Doesn't level out during the first second Angle mode not set to activate in Stage 1
Heads the wrong way at first Heading not learned (not flown straight above 2 m/s for long enough) or a bad compass
Tracks to one side, drifts while landing Accelerometer trim off
Big control jumps every second Module reporting once a second; if it is NMEA, switch to UBlox
Lands hard and doesn't disarm GPS altitude drifted down; check altitude stability before takeoff

Even with all of this in place, the wiki states plainly that GPS Rescue may not bring the quad home, and it does not work at all in 3D mode. Set it up, test it, and still plan flights around the range your radio link and video can actually hold.