MavDeck - A web-based MAVLink UI

I’d like to introduce MavDeck - a lightweight, web-based (but offline capable) MAVLink telemetry viewer with custom dialect support.

Live app: https://mavdeck.netlify.app
Source: GitHub - DanWilson00/MavDeck · GitHub

I built MavDeck because I wanted a simple, fast way to visualize telemetry from any MAVLink-speaking vehicle without installing desktop software, compiling anything, or being locked into a specific flight stack.

The core idea: drop in any MAVLink XML dialect file and it just works. No hardcoded message types, no recompilation. If your vehicle speaks MAVLink, MavDeck can parse and plot it including custom dialects with proprietary messages.

What it does:

  • Real-time telemetry over Web Serial (Chrome/Edge)
  • Drag-and-drop dashboard with time-series plots, live map, and message monitor
  • Fully dynamic parsing — driven by your dialect XML, not baked-in message definitions
  • Offline-capable PWA — works after first load with no internet
  • Automatic session recording with crash recovery
  • Switchable unit profiles (raw, metric, imperial, aviation)

What it doesn’t do:

  • It’s not a full GCS — no mission planning, no parameter editing, no command sending (yet)
  • It’s a viewer, purpose-built for quick telemetry inspection and debugging
4 Likes

Nice! I’ve only tried it briefly with the simulator, but the tool looks great at first glance!

I used Telegraf before for Mavlink parsing with output to Grafana Live, but if there is no need to store data in a database, this is a much more elegant and faster solution.

The one thing missing is reading telemetry from a websocket! :slight_smile:

Thanks!

Without network connectivity it is quite limited.
Need, UDP/UDPCLI/TCP and WS
Also, should fetch dialects from mavlink github repo, and need the possibility to use more xml files at the same time (like importing all.xml, or common + Ardupilot…)
Good start but lots of room for improvement.

Thanks for the feedback! Since posting this I have added:

  • parameter tuning support including receiving meta data json via FTP
  • the ability to specify the URL of a custom dialect

The additional network connectivity will be added soon!

1 Like