MAVLINKGPS
MAVLink GPS // EKF3 Support
System Status: Online

FLY WHERE GNSS FAILS

Unlock indoor autonomy for ArduPilot. Use your Android phone’s Network Fusion to navigate warehouses, stadiums, and urban canyons where standard GPS hardware goes blind.

MAVLink GPS Interface Illustration
GPS_FIX: 3D
EKF_REWIND: ACTIVE
MAVLink GPS connected to Mission Planner showing correct position

INSTANT DEPLOYMENT

Plug & Play Injection

Zero configuration required. Simply connect your Android phone to any ArduPilot or PX4 flight controller via USB. The app automatically negotiates the MAVLink handshake and begins injecting high-speed GPS packets immediately.

Fused Location Power

Harness the full might of Android's Fused Location Provider. MAVLink GPS leverages Google's global production environment to deliver enterprise-grade sensor fusion—integrating GNSS, WiFi RTT, Bluetooth Beacons, and Cell Towers—providing a rock-solid position estimate that dedicated GPS modules can't match.

Simplicity-First Indoor Flight

The most accessible path to indoor autonomy. While other systems require complex infrastructure or expensive specialized hardware, MAVLink GPS provides a remarkably simple software-first alternative. Achieve reliable position hold in stadiums, warehouses, and convention centers just by installing an app—no technical overhead required.

THE u-blox WEAKNESS

Standard GPS modules operate purely on Line-of-Sight (LoS) RF signals at 1.5 GHz. In complex environments, they fail.

Concrete Roofs

If you put a concrete roof over a standard GPS, the signal drops to zero, and the drone failsafes or drifts blindly.

Urban Canyons

Between skyscrapers, signals bounce off walls (multipath). Simple GPS chips mistake reflections for direct signals, causing wild position jumps.

Cold Boot Latency

If a drone hasn't flown recently, it needs 3–5 minutes to download Almanac data at 50 bits/sec before you can even arm.

THE NETWORK FUSION ADVANTAGE

Your phone is a supercomputer compared to a GPS chip. We leverage that power.

Concrete Penetration

Android actively triangulates position using the BSSID of surrounding WiFi Access Points and Cell Towers. Get a valid 3D fix even in stadiums and basements.

Multipath Rejection

Uses the massive processing power of Snapdragon/Tensor chips to identify and discard reflected signals, providing a "sane" position stream in cluttered urban environments.

Instant-On "Cold Boot"

Zero waiting. Your phone downloads Almanac/Ephemeris data instantly over LTE/5G (A-GPS). Go from pocket to 3D fix in milliseconds, not minutes.

EKF3 Time Rewind

We send the exact measurement timestamp to ArduPilot. The EKF3 "rewinds" its state history to apply the position correction at the exact moment it happened, eliminating lag-induced oscillation.

FIELD PROVEN

From convention centers to concrete arenas, MAVLink GPS delivers where hardware fails.

Drone maintaining position in a stadium using MAVLink GPS
GPS SATS 0
NETWORK FUSION 3D FIX

THE ANDROID ADVANTAGE

Why use a phone instead of specialized sensors? Because it's cheaper, easier, and already in your pocket.

Motion Capture / UWB

Vicon, OptiTrack, Pozyx

  • $10k+ Cost
  • Infrastructure Heavy
  • Complex Setup

Visual Odometry

Intel T265, Oak-D, ROS

  • Subject to drift without reference April tags
  • Manual Tare of Pos & Azimuth
  • Requires Companion PC
  • Heavy Payload

MAVLink GPS

Android Network Fusion

  • Zero Cost (Use your phone)
  • Plug & Play (USB)
  • Absolute Position (RTL)
  • Zero Drift (Bounded)

WHY NOT QGROUNDCONTROL?

Existing companion software advertises GPS injection capability, but it's not what you think.

QGroundControl

QGC is designed for "Follow Me" mode outdoors. It reads Raw GPS Observables directly from the hardware.

THE INDOOR FAILURE: It ignores Android's "Fused" provider. Indoors, where the GPS chip sees 0 satellites, QGC sends 0 data, even if Google Maps works perfectly.

Web Telemetry Tools

Generic telemetry apps (like Andruav) often rely on web sockets or complex server backends to relay position.

THE UX FAILURE: Clunky interfaces, connection instability, and sideload-only distribution (due to permission bloat) make them unreliable for professional, mission-critical events.
RECOMMENDED

MAVLink GPS

Built specifically for the "GPS Denied" use case. We harvest the Fused Location Provider (WiFi + Cell + IMU).

THE ARCHITECTURAL WIN: We treat "Google Maps Blue Dot" data as a valid GPS source. If your phone knows where it is, your drone knows where it is.

FAQ

Does this work with my specific flight controller?

It works with any ArduPilot-compatible board (STM32 F4/F7/H7) that supports the MAVLink protocol. While you can technically solder a USB-to-TTL converter to a UART port to feed data, you MUST use a USB OTG cable to force the Android device into Host mode. A direct USB-C to USB-C cable will not work.

Does my phone need to be rooted?

No. MAVLink GPS operates entirely within standard Android user permissions. It requires USB Host (to talk to the drone) and Fine Location (to read the GPS/Network data), but no root access is needed.

Can I use this outdoors as a primary GPS?

Technically yes, but this isn't what the app was intended for. A dedicated U-Blox GPS puck is significantly lighter and features a tuned ceramic patch antenna that outperforms any phone GPS. This system is designed for GPS-denied environments where traditional hardware fails, not to replace standard equipment for long-range outdoor flight.

Does this work with DJI, Betaflight, or iNav?

No. This system relies specifically on the MAVLink protocol and the GPS_INPUT message to inject external position data. Betaflight and iNav use different MSP-based mechanisms that are not currently supported.

Does the app provide altitude readings?

Yes, but with caveats. In an outdoor environment with a clear view of the sky, the GPS altitude provided by the app works as expected. However, indoors, altitude readings can be poor or erratic due to the lack of vertical GNSS precision. For professional indoor flight, we strongly recommend using a dedicated Downwards Rangefinder (Lidar/Sonar) as your primary altimeter.

Drone in stable hover inside concrete tunnel
SIGNAL ENVIRONMENT GPS DENIED // TUNNEL
POS LOCK STABLE

SIMPLE SETUP

Drone flying in a city with Android-supplied GPS
Active Uplink: Android 14
Carrier Phase: Verified
Location: Urban Canyon Mode
01

Hardware Link

Connect your Android device to the Flight Controller using a USB-C OTG cable. Ensure your FC is powered and the USB port is configured for MAVLink.

02

ArduPilot Config

SERIAL0_PROTOCOL = 2 // MAVLink 2

SERIAL0_BAUD = 115 // 115200

GPS_TYPE = 14 // MAVLink

03

Verify & Launch

Open the app and grant USB and Location permissions. Verify 2-way connectivity to the flight controller via the USB status indicator. Finally, confirm on your Ground Control Station (GCS) that the drone's GPS position is valid and updating.

CRITICAL SAFETY WARNINGS

FOREGROUND ONLY

Do not minimize the app or turn off the screen. Android will kill the USB connection and GPS stream, triggering an immediate failsafe.

INDOOR GLITCHES

WiFi RTT location can "jump". Always keep your finger on the mode switch and be ready to flip to Stabilize instantly.