MAVLink Implementations
Many autopilots, ground stations, integration APIs, projects and other software packages use MAVLink. A non-exhaustive list of some users/contributors of this project is given below.
Autopilots
The following autopilots are known to support MAVLink and are actively being developed (last release less than a year ago).
Ground Stations
- QGroundControl (original reference implementation)
- Branded/modified variants include: AutoQuad GCS, SmartAP GCS, Yuneec Datapilot, Sentera Groundstation, WingtraPilot, APM Planner 2.
- Mission Planner
- MAVProxy
- UgCS (Universal Ground Control Station)
- Side Pilot
- JAGCS
- Flightzoomer
- Inexa Control
- Synturian Control
- LOGOS
MAVLink Wrapper/Developer APIs
A number of higher level APIs have been written to simplify interacting with MAVLink autopilots, cameras, ground stations, etc. (MAVLink is a relatively low-level API). These wrappers typically provide implementations of the main microservices and simple/specific interfaces for sending commands and accessing vehicle information.
The list here contains actively maintained implementations:
- MAVSDK - MAVLink API Library (C++, Python, Swift (iOS), Java, JS) that aims to be fully standards-compliant with MAVLink common microservices.
- MAVLink Camera Manager - Extensible cross-platform MAVLink Camera Server (implements Camera Protocol) built on top of GStreamer and Rust-MAVLink.
- Rosetta Drone - MAVLink wrapper around DJI SDK (fly a DJI drone with a Mavlink-based GCS, code: https://github.com/RosettaDrone/rosettadrone).
- pymavlink - MAVLink python bindings.
- MAVROS - ROS to MAVLink bridge.
These projects have some activity but are not as well maintained:
- DroneKit - MAVLink API Library (Python, Android) and Log analysis tool (optimised for ArduPilot).
- Dronecode Camera Manager - Adds Camera Protocol interface for cameras connected to Linux computer.