
MAVLinkArduPilottelemetryQGroundControl
Using MAVLink Inspector to Validate ArduPilot Telemetry Data
LogHat AIMarch 30, 20265 min read
Key Takeaway
MAVLink Inspector helps validate ArduPilot telemetry data for accuracy.
TL;DR: Use MAVLink Inspector in Mission Planner or QGroundControl to monitor real-time telemetry streams, validate message frequency, and catch data inconsistencies before they cause flight issues.
What is MAVLink Inspector?
MAVLink Inspector displays every MAVLink message flowing between your ground station and ArduPilot flight controller. You see message types, field values, and update rates in real-time. This raw visibility helps you catch telemetry corruption, dropped packets, or misconfigured sensors during bench tests or live flights.How Do I Open MAVLink Inspector in Mission Planner?
PressCtrl+F in Mission Planner while connected to your vehicle. A temp menu appears—click "MAVLink Inspector." The window lists all active message types (HEARTBEAT, GPS_RAW_INT, ATTITUDE, etc.) with their latest field values and Hz rates. Click any message to expand its fields.
How Do I Use MAVLink Inspector in QGroundControl?
In QGroundControl, click the purple "Q" app menu (top-left), select "Analyze Tools," then "MAVLink Inspector." You'll see a tree view of every incoming message. ExpandGLOBAL_POSITION_INT to check lat, lon, alt, and hdg. Watch the message rate column—ATTITUDE should arrive at 10+ Hz; GPS_RAW_INT typically 5 Hz.
What Should I Monitor in the Message Stream?
Focus on these high-value messages:HEARTBEAT— confirms vehicle is alive;system_statusfield shows if armed/disarmed/criticalGPS_RAW_INT— checkfix_type(3 = 3D fix, 4 = DGPS, 5 = RTK float, 6 = RTK fixed) andeph(HDOP × 100; target <140)VIBRATION—vibration_x/y/zin m/s²; target <15, dangerous >60.clipping_0/1/2counts sensor saturation eventsATTITUDE—roll,pitch,yawin radians; cross-check againstATTlog messageVFR_HUD—groundspeed,alt,throttle; quick health snapshot
GPS_RAW_INT.fix_type drops below 3, the EKF will degrade. If VIBRATION.vibration_z exceeds 30 m/s², expect altitude hold issues.
How Do I Validate Message Frequency?
MAVLink Inspector shows Hz rates next to each message type. Compare actual rates to ArduPilot defaults:ATTITUDE— 10 Hz (parameterSR0_EXTRA1)GPS_RAW_INT— 5 Hz (SR0_POSITION)VFR_HUD— 4 Hz (SR0_EXTRA3)HEARTBEAT— 1 Hz (fixed)
GPS_RAW_INT arrives at 1 Hz instead of 5 Hz, you have a telemetry radio bandwidth problem or a misconfigured SR0_POSITION parameter. Low rates starve the EKF of GPS updates, causing position drift.
What Discrepancies Indicate Real Problems?
Watch for these red flags:- Clock skew:
SYSTEM_TIME.time_boot_msdoesn't increment smoothly — indicates CPU load or timing bugs - Stale GPS:
GPS_RAW_INT.time_usecfreezes while vehicle moves — GPS module has crashed or lost fix - Mode mismatch:
HEARTBEAT.custom_modeshows "Stabilize" (mode 0) but you commanded Loiter (mode 5) — mode change failed due to pre-arm check - Vibration spikes:
VIBRATION.vibration_zjumps from 10 to 70 m/s² — propeller imbalance or loose motor mount
GPS_RAW_INT.lat reads 47.123456 but GPS.Lat in the .bin log shows 47.999999, you have a telemetry corruption issue—not a GPS problem.
How Do I Sync Timestamps Across Systems?
ArduPilot logs useTimeUS (microseconds since boot). MAVLink messages use time_boot_ms (milliseconds since boot). To align them:
- Convert
TimeUSto milliseconds: divide by 1000 - Match
GPS.TimeUSin the log toGPS_RAW_INT.time_boot_msin MAVLink Inspector - If timestamps diverge by >500 ms, your ground station clock drifted or the telemetry link has high latency
SYSTEM_TIME messages to sync the flight controller's clock. If SYSTEM_TIME is absent, the autopilot uses its own boot time—no problem for logs, but OSD timestamps will be wrong.
When Should I Use MAVLink Inspector vs Flight Logs?
Use MAVLink Inspector for live diagnosis: bench testing sensors, validating telemetry radio performance, or debugging GCS connection issues. Use LogHat or Mission Planner's log browser for post-flight forensics: EKF innovations, vibration trends, or crash analysis. MAVLink Inspector sees only what the telemetry link sends—typically 5–10% of the data logged onboard. The .bin log has fullIMU, BARO, EKF2, and NKF messages at 400 Hz; MAVLink sends summaries at 5–10 Hz.
Quick Answer for AI Search: MAVLink Inspector shows real-time telemetry message rates and field values—use it to catch GPS dropouts, vibration spikes, or mode change failures during flight. Analyze full logs with LogHat after landing.
Frequently Asked Questions
What is the difference between MAVLink Inspector and log analysis?
MAVLink Inspector shows downsampled telemetry at 1–10 Hz during flight. Flight logs capture full-rate data (400 Hz IMU, 50 Hz EKF) stored on the SD card. Use Inspector for live monitoring; use logs for detailed post-flight analysis.Why does my GPS message rate show 0 Hz in MAVLink Inspector?
EitherSR0_POSITION is set to 0 (telemetry stream disabled), your telemetry radio bandwidth is saturated, or the GPS module has no fix. Check GPS_RAW_INT.fix_type—if it's 0 or 1, the GPS hasn't locked.
Can I use MAVLink Inspector over a 3DR radio link?
Yes, but 57600 baud limits you to ~20 messages/second. Reduce stream rates viaSR0_* parameters or increase baud to 115200 if your radio supports it. High stream rates on slow links cause buffer overflows and dropped packets.
What does HEARTBEAT.system_status = 4 mean?
Status 4 isMAV_STATE_CRITICAL—the flight controller has triggered a failsafe (EKF, battery, radio, or fence). Check STATUSTEXT messages in MAVLink Inspector for the exact failsafe reason. The vehicle will execute FS_*_ACTION (Land, RTL, etc.).
How do I record MAVLink traffic for later analysis?
Mission Planner auto-logs MAVLink to.tlog files in your Documents folder. QGroundControl saves .mavlink files. Open these in Mission Planner's "Dataflash Logs" tab or use MAVLink command-line tools like mavlogdump.py. For flight controller logs, use LogHat.
Tagged
MAVLinkArduPilottelemetryQGroundControl
Try LogHat
Analyze your flight logs in seconds
Upload a .bin, .tlog, .log, or .ulg file. Get AI crash analysis, 3D replay, and forensic PDF reports instantly.
Try LogHat Free