ArduPilot’s SRx_* parameters control how often each MAVLink stream is emitted. SR0_* is for serial port 0 (typically USB/console), SR1_* for port 1, etc.
Defaults are conservative — meant for low-bandwidth telemetry radios. For our setup (MAVROS over a fast serial link to the companion PC), you can bump rates up to get more responsive state updates.
Common SR parameters
| Parameter | What it controls | Default | Indoor recommendation |
|---|---|---|---|
SR0_EXTRA1 |
Attitude, sys_status | 4 Hz | 10 Hz |
SR0_EXTRA2 |
VFR_HUD, raw_imu | 4 Hz | 10 Hz |
SR0_POSITION |
Position-related | 3 Hz | 10 Hz |
SR0_RAW_SENS |
Raw IMU, baro | 2 Hz | 10 Hz |
Gotchas
- Bumping too high can saturate a slow link. For a 57600 baud telemetry radio, ~10 Hz per stream is the ceiling.
- MAVROS doesn’t auto-request all streams; it asks for the specific ones it uses. If a topic seems stale, check
SR0_*in addition to the QoS layer.
Where to go next
- MAVLink hub
- ROS 2 latency tuning — the analytical side
- Network routing — how MAVLink reaches MAVROS