MG-F10-C Dual-Band (L1+L5) GNSS Module — User Manual
The MG-F10-C is MicoAir's latest-generation dual-band GNSS positioning module for drones, built around the u-blox NEO-F10N receiver and a high-gain 38 dB quad-helix antenna. It tracks four satellite constellations (GPS, BeiDou, Galileo, NavIC) on two frequencies simultaneously (L1 + L5) — delivering the best positioning performance available today short of full RTK, with 1.0 m CEP accuracy and measured short-window drift under 35–90 cm. It pairs the receiver with an IST8310 magnetometer for a stable heading reference, and works out of the box with ArduPilot (≥ 4.4.0) and PX4 (≥ 1.14.0).

Where to buy
- Robofusion store (ships from Canada — free Canada-wide shipping): MG-F10-C Dual-Band GNSS Module — module + quad-helix antenna included
An ordinary drone GPS (like an M9/M10 module) listens to satellites on one frequency — L1. That works, but L1 carries two built-in error sources that no amount of averaging can remove. The first is the ionosphere: the signal bends as it passes through charged upper atmosphere, adding meters of error that vary with time of day and solar activity. The second is multipath: near buildings, trees, or your own airframe, the antenna receives both the direct signal and delayed reflections, and a single-frequency receiver can't tell them apart.
A dual-band (L1+L5) receiver solves both physically, not statistically. Because ionospheric delay depends on frequency, comparing the same satellite's L1 and L5 arrival times lets the receiver compute and cancel the ionospheric error directly. And the L5 signal is a newer design — broadcast at higher power with a wider bandwidth — making it inherently resistant to multipath. When the receiver captures both bands from one satellite, it treats it as a high-confidence measurement, so the effective signal quality is far better than the satellite count alone suggests.
The result: ~1.0 m CEP instead of the 2–3 m typical of single-band modules, faster and firmer fixes, and — often more important for drones — much better velocity accuracy, which the flight controller's EKF consumes on every loop. That's the price difference: a second radio chain, a newer receiver generation, and a much better antenna.
Who actually needs it (and who doesn't)
Worth the upgrade: long-range and BVLOS-style flights where position holds must not wander; fixed-wing aircraft flying fast (velocity accuracy directly improves navigation); autonomous missions (survey, mapping, delivery testing) where track repeatability matters; anything flying near terrain, buildings or under partial canopy where multipath kills single-band accuracy. If you fly casual line-of-sight quads in open fields, a standard M10 module remains great value — see the comparison below.
| MG-F10-C | M10 module (e.g. M10G-5883) | |
|---|---|---|
| Bands | L1 + L5 dual-band | L1 only |
| Accuracy (CEP) | ~1.0 m | 2–3 m typical |
| Multipath / ionosphere handling | Cancelled physically | Averaged, best-effort |
| Antenna | 38 dB quad-helix | Patch |
| Compass | IST8310 | QMC5883L |
| Weight (with antenna) | 28 g | ~10 g |
| Best for | Long-range, fixed-wing, autonomy | Everyday GPS quads |
Specifications
Positioning
| Item | Specification |
|---|---|
| GNSS receiver | u-blox NEO-F10N (dual-band) |
| Compass | IST8310 magnetometer |
| Constellations (concurrent) | GPS/QZSS, Galileo, BeiDou, NavIC |
| Signals | GPS/QZSS L1C/A + L5, Galileo E1-B/C + E5a, BeiDou B1C + B2a, NavIC SPS-L5, SBAS (WAAS/EGNOS/GAGAN/MSAS) |
| Frequencies | L1: 1575.42 MHz · L5: 1176.45 MHz |
| Positioning accuracy | 1.0 m CEP (24 h static, −130 dBm, ≥ 6 satellites per system) |
| Max navigation rate | 10 Hz |
| Time to fix | Cold start 28 s · Hot start 2 s |
| Sensitivity | Tracking −167 dBm · Cold start −148 dBm |
| Operational limits | Altitude ≤ 80,000 m · Speed ≤ 500 m/s · Acceleration ≤ 4 g |
| Hot start support | Built-in supercapacitor — re-fix in seconds after a battery swap |
Electrical & physical
| Item | Specification |
|---|---|
| Supply voltage | 5 V |
| Current | 30 mA (module) / 55 mA (with antenna) @ 5 V |
| UART baud rate | 115200 (factory default; chip default 38400) |
| Output level / protocol | 3.3 V TTL · UBX-PVT (factory default) |
| Parameter memory | Flash — settings survive power-off |
| PPS LED | Blue — solid after power-on, blinking 1 Hz on 3D fix |
| Connectors | GH1.25 (6-pin UART/I2C + 4-pin PPS) |
| Antenna | 38 dB active 4-arm helix, 28 × 28 × 59.3 mm, 15 g |
| Module size / weight | 29 × 44 × 14.7 mm · 13 g (28 g with antenna) |
| Operating temperature | −40 °C to +85 °C |
Most budget GPS modules use a flat ceramic patch antenna, which is cheap and compact but has a narrow, straight-up beam and picks up ground reflections when the aircraft banks. A quadrifilar helix has a wide hemispherical pattern with strong circular-polarization purity — it keeps pulling clean satellite signal while the airframe tilts, and rejects the reflected (reversed-polarization) copies that cause multipath. That's why this antenna is a cylinder instead of a square, and a big part of the fix-quality difference in flight.
Interfaces and wiring

GH1.25-6P (main — UART + I2C):
| Pin | Function | Connect to flight controller |
|---|---|---|
| GND | Ground | GND |
| VCC | 5 V input | 5 V |
| RxD | UART receive | UART TX (e.g. TX3) |
| TxD | UART transmit | UART RX (e.g. RX3) |
| SCL | I2C clock (compass) | SCL |
| SDA | I2C data (compass) | SDA |
GH1.25-4P (auxiliary): GND · VCC · PPS (pulse-per-second output) · NC
The GNSS talks over UART; the IST8310 compass talks over I2C — wire both. The PPS pin outputs a precision timing pulse used for time synchronization in advanced setups (RTK bases, camera triggering, multi-sensor fusion); most builds can leave the 4-pin connector unused.
Mount the antenna vertically with a clear sky view, as far as practical from GPS-noisy electronics — VTX, HD air units, and ESC power wiring are the usual offenders. On the mast, point the antenna cylinder up; the module box itself can sit flat on the frame. Keep the compass away from high-current wiring for a clean heading.
ArduPilot setup (≥ 4.4.0)
Connect the 6-pin to your GPS UART (SERIAL3 by default on most boards) and I2C pads, then verify:
| Parameter | Value | Meaning |
|---|---|---|
SERIAL3_PROTOCOL | 5 | GPS |
SERIAL3_BAUD | 115 | 115200 baud |
GPS_TYPE | 2 (uBlox) or 1 (Auto) | u-blox driver |
COMPASS_ENABLE | 1 | External IST8310 detected on I2C |
Defaults work on most boards — plug into the GPS port, power up outdoors, and watch for the blue PPS LED to start blinking (3D fix). For our flight controllers, the matching ports are pre-mapped: H743 V2, F405 V2, NxtPX4 V2.
PX4 setup (≥ 1.14.0)
Connect to the GPS1 port. PX4 auto-detects u-blox receivers; the IST8310 is a natively supported magnetometer. Verify in QGroundControl that gps status reports the F10 receiver and calibrate the compass as usual.
Performance test data
MicoAir's outdoor testing (open sky, interference-free): the module tracked 20 satellites with high C/N0, and static point testing showed drift of <35 cm over 2 minutes, <45 cm over 5 minutes, <60 cm over 10 minutes, and <90 cm over 20 minutes — sustained sub-meter positioning:

Dimensions

What's in the box

- 1 × MG-F10-C dual-band GNSS module
- 1 × Quad-helix antenna (SMA)
- 1 × GH1.25-6P cable, 20 cm
- 1 × SH1.25-6P cable, 20 cm
- 1 × GH1.25-4P cable, 10 cm
FAQ
Is this as good as RTK?
No — RTK (with a base station or NTRIP corrections) reaches centimeter level. But dual-band L1+L5 is the best you can get without the cost and workflow of RTK: no base station, no correction link, no setup — just sub-meter accuracy anywhere, out of the box. For most mapping-lite, long-range, and autonomous-mission use it's the sweet spot.
Will it work with my existing flight controller?
Yes — any board with a spare UART + I2C works, including all ArduPilot/PX4/INAV boards we sell. It behaves as a standard u-blox GPS plus a standard external compass.
Why does it fix faster after a battery swap?
The built-in supercapacitor keeps the receiver's clock and ephemeris memory alive for a while with no power — so the next power-up is a hot start (~2 s) instead of a cold search (~28 s).
MG-F10-C vs the older MG-F10-A?
Same receiver and antenna; the C adds a protective plastic enclosure and brings the PPS pin out on a connector.
Does L5 work everywhere?
Yes — L5/E5a/B2a signals are broadcast globally by GPS, Galileo, BeiDou (and NavIC over its coverage region). The receiver automatically uses every band it can see and degrades gracefully to L1-only satellites.
Related guides
- H743 V2 Flight Controller — User Manual
- F405 V2 Flight Controller — User Manual
- ArduPilot — Telemetry Setup Guide
Written and maintained by the Robofusion engineering team. Hardware reference data cross-checked between MicoAir's English product materials and the Chinese user manual (Jan 2026 revision).