Drones & UAVEngineer

Wi-Fi Telemetry Ground Station for ArduPilot

Route MAVLink from your drone's companion Pi to QGroundControl on a laptop, phone or tablet at the same time.

LevelEngineer
Time2 h
Est. cost~$94
Steps5

mavlink-router takes one telemetry stream and shares it with several ground-control apps over UDP. Pair it with the companion-computer build and you get a live map, battery and attitude on any screen.

⚠ SAFETY
Wi-Fi telemetry range is short. Never rely on it for control — keep your RC link and failsafes configured. In the U.S., recreational pilots must pass the free FAA TRUST test, register drones over 250 g (0.55 lb), comply with Remote ID and keep the aircraft within visual line of sight (FPV pilots need a visual observer). Rules change — check faa.gov before you fly.

Video tutorial

▶ drone technology 2Watch on YouTube ↗

Video by drone technology 2, embedded from YouTube. The written steps below are our own and match the parts list.

Mission steps

  1. Start from the companion build

    Your flight controller already talks MAVLink to a Pi over /dev/serial0.

  2. Install mavlink-router

    Build it from its GitHub repository (meson + ninja) on the companion Pi.

  3. Configure endpoints

    Create /etc/mavlink-router/main.conf with the UART as input and a UDP endpoint for your laptop or a broadcast address.

  4. Run it as a service

    Enable the mavlink-router systemd service so it starts when the drone powers up.

  5. Connect QGroundControl

    Join the same network, open QGroundControl and it auto-detects the UDP stream on port 14550.

Code

# /etc/mavlink-router/main.conf
[UartEndpoint fc]
Device = /dev/serial0
Baud = 921600

[UdpEndpoint gcs]
Mode = Normal
Address = 192.168.1.255
Port = 14550

Tip: test every script on the bench before installing it in a moving machine.

Questions

Longer range?

Use dedicated telemetry radios or an ExpressLRS MAVLink link, and keep the Pi router for logging and multi-screen viewing.