RTK Setup Guide — From Unboxing to RTK FIXED
This tutorial takes a MicoAir MA-RTK-BASE and any MA-RTK-AIR rover (982 / 626 / F9P) from the box to a centimeter-accurate RTK FIXED solution, on ArduPilot or PX4. It assumes the rover is already wired and configured per the series user manual; background concepts live in the plain-English RTK explainer.
The two ways corrections can reach your drone
The base station produces RTCM correction data; the only design decision is how that stream gets to the rover:

| Mode 1 — GCS relay | Mode 2 — direct radio broadcast | |
|---|---|---|
| Path | Base → USB → laptop GCS → existing telemetry link → FC → rover | Base → UART → radio → radio → rover 4P port |
| Extra hardware | none (reuses your telemetry) | one extra radio pair (e.g. LR900-F) |
| Needs a laptop running all mission | Yes | No — fully standalone |
| Shares telemetry bandwidth | Yes | No |
| Best for | mapping days where a GCS is open anyway | light shows, swarms, long deployments |
Swarm note: in Mode 2 one radio broadcast serves every drone in range — each aircraft just needs a receiver radio on its rover's 4P port. In Mode 1, MAVLink-routed corrections reach each vehicle individually through their telemetry links.
Step 1 — Deploy the base station
- Pick the spot. Widest sky view you can get: away from buildings, tree lines and metal roofs, elevated if possible. Every satellite the base can't see is a satellite your rovers can't use in the RTK solution.
- Set up the tripod, screw the mushroom antenna on top, and connect it to the base's SMA port with the feeder cable.
- Power on (hold the power button). The OLED lights up; when the PVT LED goes solid the base has a position fix and is already emitting RTCM3 on both USB-C and the GH1.25-4P UART — there is nothing to configure.
- Don't move it. The base averages its own position after power-up ("survey-in"); relocating it mid-session shifts every rover's frame. Runtime on internal batteries is ≈ 12 h — for all-day-plus operation feed it 5 V/2 A over USB-C.
The self-surveyed base position is itself only meter-accurate, so all rover positions share that same constant offset. For mapping against real-world coordinates, either post-shift your outputs using a known point, or program the base's true surveyed coordinates with Unicore's UPrecise tool. For light shows, precision landing and any "repeatability" job, the offset is irrelevant.
Step 2, Mode 1 — Relay corrections through the ground station
Mission Planner (ArduPilot)
- Connect the base to the laptop with the USB-C cable. Windows needs the CH340 driver (chip in the base's USB port) — if no COM port appears in Device Manager, install the CH340 driver and replug.
- Connect Mission Planner to your vehicle over telemetry as usual.
- Open Setup → Optional Hardware → RTK/GPS Inject.
- In the top-left dropdown pick the base's COM port, set baud 115200, click Connect.
- The status panel starts counting RTCM messages and shows the satellites the base sees. Mission Planner now wraps the RTCM into
GPS_RTCM_DATAMAVLink messages and injects them through the telemetry link — no vehicle-side setting needed. - Watch the HUD GPS status walk up: 3D Fix → RTK Float → RTK Fixed (typically well under 2 minutes in open sky).
QGroundControl (PX4 or ArduPilot)
QGC does the same job with zero clicks: plug the base into the laptop and QGC auto-detects an RTCM stream and forwards it to the connected vehicle. GPS state is visible in the top toolbar (RTK Float / RTK Fixed).
MicoConfigurator (MicoAir's GCS)
MicoConfigurator has a dedicated RTK page: select the base COM port and it relays RTCM to any connected vehicles — the workflow mirrors Mission Planner's RTK Inject.

Step 2, Mode 2 — Broadcast corrections over a telemetry radio
Fully standalone: no laptop after setup.
Ground side: connect the base's GH1.25-4P UART (GND·VCC·TX2·RX2) to a telemetry radio in transparent mode — base TX2 → radio RX, base RX2 → radio TX. The base powers the radio from the same connector. Radio serial rate: 115200 to match the base.
Air side: connect a paired radio to the rover's GH1.25-4P port the same way (radio TX → rover RX2). The rover ingests RTCM on that port automatically — the flight controller isn't involved in correction transport at all and needs no extra parameters.
With LR900-F radios: pair them, transparent mode, serial 115200 — the defaults work. One ground radio broadcasts to any number of air radios listening on the same channel — ideal per-fleet.
The rover simply eats RTCM from whichever source delivers it — GCS relay via the FC, or the 4P port. Don't run both simultaneously for the same vehicle; pick one path per session.
Step 3 — Confirm RTK FIXED
- Mission Planner: HUD shows
RTK Fixed; in the status tabgpsstatusreads 6 (RTK_FIXED; 5 = FLOAT). Horizontal accuracy (gpshacc) settles to centimeters. - QGroundControl: toolbar GPS indicator reads
RTK Fixed. - Expect FLOAT within ~30 s of corrections flowing and FIXED shortly after with open sky. Stuck in FLOAT → see troubleshooting.
Dual-antenna GNSS heading (982)
The MA-RTK-AIR-982 Dual-Antenna Kit measures true heading from the geometry of its two antennas — no magnetometer involved, so motor current, steel structures and geomagnetic storms can't touch it.
Mounting rules:
- Baseline (antenna separation) ≥ 20 cm — longer baseline = finer heading resolution.
- ANT1 (primary) toward the nose, ANT2 aft, both on the airframe centerline (any known orientation works if you set the offset parameter).
- Both antennas vertical with clean sky view; keep feeders away from power wiring.
ArduPilot:
GPS1_TYPE = 25 # UnicoreMovingBaselineNMEA
GPS1_RATE_MS = 100
EK3_SRC1_YAW = 2 # EKF yaw from GPS
GPS_POS1_X/Y/Z # ANT1 position relative to CG (m)
Write, refresh parameters, reboot. Verify on the bench: with the vehicle stationary, the HUD heading should track as you rotate the airframe — before any takeoff, and unlike a compass, it will be rock-solid next to a steel bench. You may then set COMPASS_USE = 0 to drop the magnetometer entirely, or keep it as a fallback source (EK3_SRC2_YAW).
PX4:
GPS_1_PROTOCOL = 6 # NMEA
EKF2_GPS_CTRL = 15 # position+velocity+yaw fusion
GPS_YAW_OFFSET = 0 # ANT1 forward; else clockwise offset in degrees
Heading accuracy scales with baseline — with the kit's antennas at 20–30 cm expect well under 1° once in RTK.
Troubleshooting
| Symptom | Likely cause → fix |
|---|---|
| Base COM port never appears | CH340 driver missing → install, replug |
| RTK Inject connects but 0 RTCM messages | Wrong COM port or baud ≠ 115200; base PVT LED not solid yet (no fix → no corrections) |
| Rover stuck in RTK Float | Marginal sky at base or rover (multipath) → move base, raise rover antenna; weak radio link → shorten distance, check antennas; very long baseline → move base closer |
| FIXED drops in flight | Correction link dropping — telemetry bandwidth saturated (Mode 1: lower stream rates or switch to Mode 2) or radio range exceeded |
| 982 shows position but no yaw | GPS1_TYPE still 24 (single) → set 25 and refresh; baseline < 20 cm; ANT2 sky view blocked |
| 626 not detected by ArduPilot | GPS_AUTO_CONFIG not 0, or port baud ≠ 115200 |
| Heading offset by a constant angle | ANT1/ANT2 swapped or mounted off-axis → fix GPS_YAW_OFFSET (PX4) / antenna orientation |
| Erratic position near structures | Multipath — RTK cannot fix reflections; add height, move away from walls |
FAQ
Can I fly RTK without any base station? Yes, via NTRIP: Mission Planner and QGC can pull RTCM from an internet caster (public network or paid service) and inject it exactly like Mode 1 — you need cell coverage at the field and a nearby reference station.
How many drones can one base + one radio serve? Unlimited — RTCM broadcast is one-way. Every rover in radio range gets the same corrections.
Does RTK still work if the correction link drops? The rover degrades gracefully: FIXED → FLOAT → normal GPS over a few seconds, and recovers automatically when corrections resume. Missions keep flying on ordinary GPS accuracy meanwhile.
Base and rover from different vendors? Fine — anything speaking RTCM3 interoperates.
Related pages
- MA-RTK Series User Manual — specs, wiring, per-model parameters
- What Is RTK? — plain-English explainer
- LR900 Telemetry Radio — User Manual — the broadcast-mode radio
- Shop: MicoAir RTK hardware at Robofusion — ships worldwide from Hong Kong