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.

Source Distribution

mavometer-0.1.0.tar.gz (6.6 kB view hashes)

Uploaded source

Built Distribution

mavometer-0.1.0-py3-none-any.whl (8.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page