MAVLINKHUD

MAVLINK INTERNALS

Understanding the data stream. Message definitions, stream rate optimization, and ELRS bandwidth management.

Core Architecture

MAVLink FTP

MAVLink FTP ([File Transfer Protocol](/field-manual/mavlink-interface/file-transfer-protocol.html)) allows a Ground Control Station to interact wit...

VIEW DATA

MAVLink Flow Control & Throttling

ArduPilot uses a "Pull-Based" flow control system. Instead of blindly pushing messages into a buffer and hoping for the best, the scheduler explici...

VIEW DATA

MAVLink Routing

ArduPilot does not just consume MAVLink data; it acts as a **Packet Switch** (Router). If you connect a telemetry [radio](/field-manual/mavlink-int...

VIEW DATA

MAVLink Scheduler & Stream Rates

You set `SR1_POSITION` to 50Hz, but your telemetry log shows only 10Hz. Why? The answer lies in the **MAVLink Scheduler**. ArduPilot uses a sophist...

VIEW DATA

MAVLink Serialization Architecture

MAVLink is designed for a specific hostile environment: **Low-Bandwidth, High-Latency, Unreliable Serial Links** (e.g., 57600 baud telemetry radios...

VIEW DATA

MAVLink2 Signing & Security

Standard [MAVLink](/field-manual/mavlink-internals/mavlink-routing.html) is unencrypted and unauthenticated. Anyone with a [radio](/field-manual/ma...

VIEW DATA

On-Demand Streaming (MAVLink)

Modern Ground Control Stations (like QGroundControl) and custom apps (like MAVLink HUD) don't rely on the static `SRx_` parameters. Instead, they u...

VIEW DATA

The Mission Item Protocol

Uploading a mission (Waypoints) is a critical operation that requires 100% data integrity. Unlike telemetry (where dropping a packet is fine), drop...

VIEW DATA

The Parameter Protocol

Downloading parameters is often the slowest part of connecting a Ground Control Station (GCS). ArduPilot manages over 1000 parameters. Dumping them...

VIEW DATA