This guide contains Amazon affiliate links. If you buy through them, DroneCoreGuide earns a small commission at no extra cost to you.
A GPS module turns an FPV drone into one that knows where it is. On Betaflight it powers GPS Rescue, an emergency return when the radio link fails. On ArduPilot it’s the core of position hold, return-to-launch and autonomous missions.
What GPS adds
| Firmware | GPS enables |
|---|---|
| Betaflight | GPS Rescue, speed and distance on OSD, home arrow |
| iNav | Position hold, return to home, waypoints |
| ArduPilot / PX4 | Loiter, RTL, auto missions, geofence |
Choosing a module
- Chipset: modern u-blox M10 modules lock on quickly and track multiple satellite constellations. Shop M10 GPS modules
- Compass: many modules include one. ArduPilot and iNav need a compass on most multirotors. Betaflight’s GPS Rescue works without one.
- Size: small 20×20 mm modules suit FPV quads; larger modules with bigger antennas suit GPS drones.
- Backup battery or supercapacitor: keeps satellite data so the next lock is faster.
Placement rules
- Clear view of the sky. Mount on the top of the drone or on a rear mast.
- Away from interference. Keep it as far as possible from the VTX, digital air units and high-current wires, which can disrupt GPS reception.
- Compass away from current. Battery and motor wires create magnetic fields. On GPS drones, a mast 10 cm or more above the electronics helps.
- Arrow forward. If the module has a compass, align its arrow with the front of the drone, or set the orientation in software.
Wiring
GPS modules use a UART:
- GPS TX → FC RX
- GPS RX → FC TX
- 5 V and ground
- Compass, if present: SDA and SCL to the FC’s I2C pads
Setup in Betaflight
- In Ports, enable GPS on the GPS UART.
- In Configuration, enable GPS and choose the UBLOX protocol, with auto-config on.
- Add GPS satellites, speed, distance and home direction to the OSD.
- Set up GPS Rescue in the Failsafe tab (see the long-range build).
- Wait for enough satellites and a home position before every takeoff.
Setup in ArduPilot
- Connect the GPS to a GPS port; ArduPilot usually detects it automatically.
- Calibrate the compass outdoors, away from metal.
- Check that the drone shows a 3D fix with a good HDOP value before arming in GPS modes.
See the ArduPilot build.
Troubleshooting GPS
- No lock or few satellites: move the module away from the VTX, give it time outdoors on first use, check wiring.
- Toilet-bowling in Loiter (circling): usually a compass calibration or interference problem.
- Wrong home position: wait for more satellites before arming.
Satellite constellations
Modern GPS modules track several satellite systems at once: GPS (U.S.), GLONASS (Russia), Galileo (EU) and BeiDou (China). Using more constellations means more satellites in view and faster, more reliable locks. Most modules let you choose which to use; the default auto-configuration from your flight controller firmware is usually a good choice.
First lock vs later locks
- Cold start: the first lock in a new location, or after a long time off, can take a few minutes.
- Warm or hot start: with saved satellite data (from a backup battery or supercapacitor), later locks take seconds.
Give the GPS a few minutes outdoors with a clear sky the first time you use it.
GPS accuracy
Small drone GPS modules are usually accurate to a few meters. That’s fine for position hold and return home, but not for survey-grade maps. For centimeter-level accuracy, mapping drones use RTK or PPK GPS, or ground control points. See mapping drones.
Checklist for a reliable GPS setup
- Mounted on top or on a mast, clear view of the sky
- Away from VTX and high-current wires
- Wired TX to RX, RX to TX
- Correct UART and protocol in firmware
- Compass calibrated (ArduPilot/iNav)
- Satellite count and home position on OSD
Frequently Asked Questions
Do I need a compass for GPS Rescue in Betaflight?
No. Betaflight GPS Rescue works with GPS alone. ArduPilot and iNav typically need a compass on multirotors.
Where should I mount the GPS on my drone?
On top or on a rear mast with a clear view of the sky, as far as possible from the VTX and high-current wiring.
How many satellites do I need before flying?
For Betaflight GPS Rescue, at least 8 is a good minimum. ArduPilot checks fix quality automatically before allowing GPS flight modes.
Why does my drone circle in Loiter mode?
That’s called toilet-bowling, and it’s usually caused by a bad compass calibration, magnetic interference or a misaligned compass.