Skip to content

MAVLink Inspector

Ruben M edited this page May 26, 2026 · 1 revision

MAVLink Inspector

Live tree of every MAVLink message the flight controller sends, with decoded fields, message rate, throughput, and one-click real-time graphs. Modeled after Mission Planner's inspector but cleaned up: search-as-you-type filtering, multi-vehicle grouping, and graph windows that can pop out to their own native window.

Location: Inspector (in the left navigation rail)

MAVLink Inspector with ATTITUDE expanded and a yawspeed field graph docked on the right

Header Stats

The header shows the live message catalog from the connected FC:

  • Total number of distinct message types currently being received
  • Aggregate message rate in Hz across all messages
  • Aggregate throughput in B/s, kB/s, or MB/s

Numbers update at 4 Hz regardless of packet rate, so a 100 Hz IMU stream stays cheap.

Search and Filters

  • Search - Type any part of a message name to filter the tree. Live and case-insensitive.
  • Sysid filter - Filter by system ID. Useful for multi-vehicle setups (e.g., copter + tracker).
  • Compid filter - Filter by component ID. Narrows further within a selected sysid.

The tree groups messages by Vehicle X . Component Y so multi-vehicle and multi-component setups read at a glance.

Toolbar

  • Pause / Resume - Freezes packet capture so the table stops updating. Resume to continue.
  • Clear - Wipes all captured messages from the inspector. Useful to start fresh after configuration changes.

Messages Tree

Each message row shows:

  • Message name (e.g., ATTITUDE, GLOBAL_POSITION_INT)
  • Message ID (#30)
  • Receive rate in Hz
  • Throughput in B/s
  • Total packet count

Click any row to expand and see decoded fields with their current values. Messages without a registered decoder show their raw payload only - no fields. The expanded state persists across view switches.

Field Graphs

Hover any numeric field row and a small graph icon appears on the right. Click it to plot that field in real time.

Graphed fields land in the graph workspace on the right side of the inspector as tabs. Each graph shows:

  • Current value
  • Min, max, average, sample count
  • Live line plot (rolling window of recent samples, default 600 points)

Tabs can be:

  • Reordered by dragging
  • Closed via the X (also removes the graph from the persisted set)
  • Split into side-by-side columns by dragging tabs apart

The workspace layout persists across view switches and app restarts.

Pop-Out Windows

Every panel in ArduDeck can be popped out into its own native window via the Pop out button in the panel header. The Inspector graph workspace is the most useful example: one click spawns a separate window containing every open graph.

Detached Inspector window with three field graphs side by side

Detached windows:

  • Share the same live data stores as the parent app - no re-subscribe, same update rate
  • Remember their size and position across sessions
  • Can be docked back to the main app via the Dock back button at the top of the detached window
  • Are independent OS windows that respect virtual desktops, full-screen modes, and multi-monitor setups

The pop-out treatment applies to every registered panel in ArduDeck: Inspector, Field Graph, full Telemetry Dashboard, Attitude, Battery, Altitude, GPS, Speed, Velocity, Position, Flight Mode, Flight Control, Messages, Map.

Tips

  • Search to find messages whose exact name you do not remember. Searching imu surfaces RAW_IMU, SCALED_IMU, SCALED_IMU2, and any IMU variants.
  • For PID tuning sessions, graph ATTITUDE.roll, ATTITUDE.pitch, and ATTITUDE.yaw side by side and pop the workspace out to a second monitor.
  • For RTK validation, graph GPS_RAW_INT.fix_type alongside GPS_RAW_INT.satellites_visible to watch fix quality evolve as you move.
  • Pause then Clear gives you a clean before/after when you change a parameter mid-session.

Multi-Vehicle Notes

When you are connected through a router that aggregates multiple vehicles (mavp2p, mavlink-router, HM30), the tree automatically splits by Vehicle X . Component Y. The sysid and compid filters narrow further. Each sysid+compid pair has its own message group with its own rate and throughput totals.

Antenna trackers, companion computers (compid 191), and the autopilot (compid 1) all appear as separate component groups under the same vehicle.

Clone this wiki locally