MAVLINKHUD

Overview

The MAV parameter group configures the frequency and content of the MAVLink Telemetry streams.

MAVLink is the language ArduPilot uses to talk to Ground Stations, Companion Computers, and HUDs. Because telemetry links (like Sik Radios) often have limited bandwidth, the autopilot allows you to tune how often specific types of data are sent.

Key Concepts

1. Stream Rates (MAVn_...)

You can configure the frequency (Hz) for different categories of messages:

  • EXTRA1: Attitude data (Roll, Pitch, Yaw).
  • EXTRA2: VFR HUD data (Speed, Altitude, Throttle).
  • EXTRA3: System status and AHRS data.
  • POSITION: GPS coordinates and velocity.
  • RAW_SENS: Raw accelerometer, gyro, and mag data.

2. System ID (MAV_SYSID)

Every vehicle on a network must have a unique ID.

  • MAV_SYSID: The ID of this vehicle (default 1).
  • MAV_COMPID: The component ID (default 1 for autopilot).

Parameter Breakdown

  • MAV_SYSID: System identifier (1-255).
  • MAV1_POSITION: GPS stream rate (Hz).
  • MAV1_EXTRA1: Attitude stream rate (Hz).

Integration Guide

Optimizing Bandwidth

  1. High Speed: If using a USB cable or high-speed radio, you can set rates to 10Hz or 50Hz for smooth HUD movement.
  2. Low Speed: If using a long-range, low-baud radio, set position to 2Hz and raw sensors to 0Hz to avoid clogging the link.

Developer Notes

  • Library: libraries/GCS_MAVLink.
  • Mapping: The rates are global, but can be requested dynamically by the GCS via the REQUEST_DATA_STREAM message.

MAV1_ADSB

Hz
Default 5
Range 0 50

MAVLink ADS-B Stream Rate (MAV1_ADSB)

Description

MAV1_ADSB sets the update frequency for traffic information on your GCS map.

If your drone is equipped with an ADS-B receiver (like the Ping1090), it detects nearby full-sized aircraft. This parameter determines how often those plane positions are sent to your Ground Control Station.

Tuning & Behavior

  • Default: 5 Hz (Note: Rover defaults to 0).
  • Safety: 5 Hz is a good value to ensure you see approaching aircraft with minimal lag on your map.
  • Bandwidth: This stream only sends data when aircraft are actually detected. It consumes very little bandwidth when the sky is clear.

MAV1_EXTRA1

Hz
Default 1
Range 0 50

MAVLink Extra 1 Stream Rate (MAV1_EXTRA1)

Description

MAV1_EXTRA1 sets the update frequency for orientation and tuning data.

This stream group includes:

  • ATTITUDE (Roll, Pitch, Yaw).
  • SIMSTATE (SITL only).
  • AHRS2 (Secondary AHRS state).
  • PID_TUNING (Live data for GCS tuning graphs).

Tuning & Behavior

  • Default: 1 Hz.
  • Smooth HUD: If you want a smooth artificial horizon on your GCS or OSD, set this to 4 Hz or 10 Hz.
  • PID Tuning: Set to 20 Hz or 50 Hz temporarily when using the GCS PID graphs to capture high-frequency oscillations.
  • Bandwidth: Higher rates consume more bandwidth. On a 57.6k SiK radio, avoid setting this above 10 Hz if other streams are active.

MAV1_EXTRA2

Hz
Default 1
Range 0 50

MAVLink Extra 2 Stream Rate (MAV1_EXTRA2)

Description

MAV1_EXTRA2 sets the update frequency for the "Dashboard" data.

This stream group primarily contains the VFR_HUD message, which includes:

  • Airspeed.
  • Groundspeed.
  • Heading.
  • Throttle percentage.
  • Altitude.
  • Climb rate.

Tuning & Behavior

  • Default: 1 Hz.
  • Recommendation: Set to 2 Hz or 5 Hz for a more responsive display of speed and altitude on your GCS dashboard.
  • Notes: This message is the primary source of data for the "HUD" instrument in Mission Planner and QGroundControl.

MAV1_EXTRA3

Hz
Default 1
Range 0 50

MAVLink Extra 3 Stream Rate (MAV1_EXTRA3)

Description

MAV1_EXTRA3 sets the update frequency for a variety of "Housekeeping" and secondary sensor messages.

This stream group includes:

  • SYSTEM_TIME and AHRS status.
  • BATTERY_STATUS (Voltage, Current, Capacity).
  • WIND (Direction and Speed).
  • VIBRATION (Live clipping and vibe levels).
  • RPM and ESC_TELEMETRY.
  • RANGEFINDER and OPTICAL_FLOW.

Tuning & Behavior

  • Default: 1 Hz.
  • Recommendation: 1 Hz or 2 Hz is usually sufficient for these values, as they do not change rapidly.
  • Bandwidth: This group is quite large (many different messages). Increasing the rate can significantly impact bandwidth on low-speed telemetry links.

MAV1_EXT_STAT

Hz
Default 1
Range 0 50

MAVLink Extended Status Stream Rate (MAV1_EXT_STAT)

Description

MAV1_EXT_STAT determines how often the drone reports its "Vital Signs" to the Ground Control Station.

This parameter covers a large group of essential status messages, including:

  • SYS_STATUS: Battery voltage, current, and sensor health.
  • GPS_RAW_INT: Number of satellites, HDOP, and fix type.
  • MEMINFO: CPU load and free memory.
  • NAV_CONTROLLER_OUTPUT: Target vs. actual headings and altitude.

Tuning & Behavior

  • Default: 1 Hz.
  • Recommendation: Set to 2 or 5 Hz for a more responsive GCS dashboard.
  • Note: This is one of the most important stream rates for pilot situational awareness. If it is too low, your battery and GPS readings will look "stuck" or update very infrequently.

MAV1_PARAMS

Hz
Default 10
Range 0 50

MAVLink Parameter Stream Rate (MAV1_PARAMS)

Description

MAV1_PARAMS defines how fast ArduPilot "shouts" its settings to your Ground Control Station (GCS).

When you open the parameter list in Mission Planner or QGroundControl, this rate determines how quickly the data fills up your screen. If the rate is too low, the GCS will feel sluggish. If it is too high, it might consume too much bandwidth on a slow telemetry radio link.

Tuning & Behavior

  • Default: 10 Hz.
  • Recommendation: Leave at 10 for most setups. If you are using a high-speed link (WiFi or Ethernet), you can increase this to 50 for instant parameter refreshes.
  • Context: This is the rate for PARAM_VALUE messages.

MAV1_POSITION

Hz
Default 1
Range 0 50

MAVLink Position Stream Rate (MAV1_POSITION)

Description

MAV1_POSITION sets the update frequency for the vehicle's location data.

This stream group includes:

  • GLOBAL_POSITION_INT (Latitude, Longitude, Altitude, Velocity).
  • LOCAL_POSITION_NED (Position relative to the home location).

Tuning & Behavior

  • Default: 1 Hz.
  • Map Smoothness: If your drone "jumps" on the GCS map or in the HUD, increase this to 2 Hz or 5 Hz.
  • Bandwidth: This is one of the most important streams for basic navigation. Ensure it has a higher priority than "Extra" data groups if bandwidth is limited.

MAV1_RAW_CTRL

Hz
Default 0
Range 0 50

MAVLink Raw Control Stream Rate (MAV1_RAW_CTRL)

Description

MAV1_RAW_CTRL defines the frequency for specialized raw control data messages.

In most modern ArduPilot versions, this stream is Unused or reserved for Hardware-In-The-Loop (HIL) simulations and developer-level diagnostic analysis.

Tuning & Behavior

  • Default: 0 Hz.
  • Recommendation: Leave at 0 unless specifically instructed by a developer or when setting up a custom simulation environment that requires high-rate raw actuator data.

MAV1_RAW_SENS

Hz
Default 1
Range 0 50

Raw sensor stream rate (MAV1_RAW_SENS)

Description

MAV1_RAW_SENS sets how many times per second the autopilot sends "Raw Sensor" data to the Ground Control Station (GCS) or Companion Computer.

This includes:

  • RAW_IMU (Accelerometers, Gyroscopes, Magnetometers)
  • SCALED_PRESSURE (Barometer)
  • SCALED_PRESSURE2
  • SCALED_PRESSURE3
  • AIRSPEED

The Engineer's View

This controls the SR1_RAW_SENS stream group.
High rates are essential for off-board Visual Inertial Odometry (VIO) or FFT analysis, but consume significant telemetry bandwidth.

Tuning & Behavior

  • Default: 1 Hz.
  • Telemetry (SiK Radio): Keep at 1-2 Hz to save bandwidth.
  • Companion Computer (VIO): 50 Hz (or higher if supported) is required for accurate state estimation.
  • Log Replay: If you are recording tlogs for replay, higher rates give smoother playback but huge file sizes.

MAV1_RC_CHAN

Hz
Default 0
Range 0 50

MAVLink RC Channel Stream Rate (MAV1_RC_CHAN)

Description

MAV1_RC_CHAN controls how often the autopilot reports your stick positions and motor outputs to the Ground Control Station.

This is essential for viewing the "Radio Calibration" bars or "Servo Output" diagnostics in your GCS while the drone is powered on. It also affects the refresh rate of any RC-based widgets or graphs on your dashboard.

Tuning & Behavior

  • Default: 0 Hz (Only sends when requested or at a very low base rate).
  • Recommendation: Set to 2 or 5 Hz if you want to see smooth movements on the GCS radio bars.
  • Context: Covers SERVO_OUTPUT_RAW and RC_CHANNELS messages.

MAV_OPTIONS

null
Default 0
Range null

quadplane options

Note: This parameter functions identically to MAV1_OPTIONS.

MAV_SYSID

Default 2
Range 1 255

Slung Payload MAVLink System ID (MAV_SYSID)

Description

MAV_SYSID is used when simulating or controlling a Slung Payload (a weight hanging from the drone via a cable).

In a MAVLink network, every independent object (the drone, the GCS, the payload) needs its own System ID. This parameter identifies the payload itself, allowing ground station software to track the payload's position and orientation separately from the drone's.

Tuning & Behavior

  • Default: 2.
  • Usage: Only relevant for advanced missions involving autonomous slung load delivery or research. Most users can leave this at the default.

MAV_TELEM_DELAY

s
Default 0
Range 0 30

MAV_TELEM_DELAY: Telemetry startup delay

Description

The amount of time (in seconds) to delay radio telemetry to prevent an Xbee bricking on power up.

Values

  • Range: 0 to 30
  • Units: s
  • Increment: 1
  • Default: 0

Description

This parameter adds a pause before the telemetry ports are initialized during boot.

  • Purpose: Some older telemetry radios (specifically certain XBee modules) could enter a "bricked" or unresponsive state if they received data immediately upon power-up while their internal bootloader was running. This delay ensures the flight controller waits until the radio is fully booted before sending any MAVLink data.
  • Modern Hardware: Most modern radios (SiK, RFD900, WiFi) do not require this, so it can typically be left at 0.

Source Code

ardupilot/Rover/Parameters.cpp

MAV_UPDATE_RATE

Hz
Default 1
Range 1 10

Slung Payload Update Rate (MAV_UPDATE_RATE)

Description

MAV_UPDATE_RATE defines how often the simulated or real slung payload sends its data to the flight controller or ground station.