Skip to main content

Application to monitor bandwidth and message composition of a MAVLink stream

Project description


Mavometer is a PyQt GUI to display MAVLink Connection Information and Statistics.

It can operate on a live connection (e.g. the stream mirrored by Mission Planner) or it can read a file.

It provides connection-level information, such as protocol version, and message information, such as data rate by message type.

It is not a protocol analyzer - it does not display individual message contents. It is not a ground station - it does not read or display telemetry values from MAVLink messages.

It is written in python, and should run on any OS that supports PyQt5 and pymavlink.

Getting Started


  • pymavlink - MAVLink protocol implementation
  • PyQt5 - Mavometer is based on the Qt version 5 framework
  • UQtie - utility package for PyQt5 usage

The Mavometer distribution package does not name PyQt5 as a dependency because you may have already installed it in some custom way, and you don't want the Mavometer installation process to create a redundant PyQt5 installation.

If you don't already have it, you can install PyQt5 by doing this:

pip3 install pyqt5

pymavlink and uqtie can be installed in the same way:

pip3 install pymvalink
pip3 install uqtie

Be aware that the appropriate installation procedure for a package can vary depending on your OS and other factors.

Installing Mavometer

Install the package:

pip3 install mavometer

Or clone from GitHub:

git clone

and then run the setup script:


Run Mavometer

Say you have a Pixhawk connected to a USB port on your Linux machine:

$ mavometer --mavlink-port /dev/ttyACM0

Or you have a log file produced by QGroundControl:

$ mavometer --mavlink-port '/home/langrind/Documents/QGroundControl/Telemetry/2019-11-19 20-38-03.tlog'

For (a little) more info, RTFD.


$ mavometer --mavlink-port test/test.tlog

NOTE: timestamping is not supported yet for replaying from files, so bandwidth and frequency displays are garbage in this case.


TBS: details about usage in different OS environments


This project is ad hoc in nature, so I don't foresee contributions. Nevertheless, feel free to make a pull request.


Versions are assigned in accordance with Semantic Versioning. For the versions available, see the tags on this repository.



This project is licensed under the MIT License - see the LICENSE file for details


  • I used the PurpleBooth README template
  • The pymavlink tools/mavsummarize.pyprogram performs a similar function to Mavometer.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mavometer, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size mavometer-0.1.0-py3-none-any.whl (8.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size mavometer-0.1.0.tar.gz (6.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page