MAVSDK is a collection of libraries for various programming languages to interface with MAVLink systems such as drones, cameras or ground systems.
The libraries provides a simple API for managing one or more vehicles, providing programmatic access to vehicle information and telemetry, and control over missions, movement and other operations.
The libraries can be used onboard a drone on a companion computer or on the ground for a ground station or mobile device.
MAVSDK is cross-platform: Linux, macOS, Windows, Android and iOS.
MAVSDK is primarly written in C++ with wrappers available for several programming languages:
- MAVSDK-C++ (2016): Used in production.
- MAVSDK-Swift (2018): Used in production.
- MAVSDK-Python (2019): Used in production.
- MAVSDK-Java (2019): Used in production.
- MAVSDK-Go (2020): Feature complete.
- MAVSDK-CSharp (2019). Proof of concept.
- MAVSDK-Rust (2019): Proof of concept.
This guide contains information and examples showing how to use MAVSDK. If you have specific questions that are not answered by the documentation, these can be raised on:
Use Github for bug reports/enhancement requests:
We welcome contributions! If you want to help or have suggestions/bug reports please get in touch with the development team.
The Contributing (C++) section contains more information on how and what to contribute, including topics about building MAVSDK from source code, running our integration and unit tests, and all other aspects of core development.
- The MAVSDK is licensed under the permissive BSD 3-clause.
- This documentation is licensed under CC BY 4.0 license.
The MAVSDK project is hosted under the governance of the Dronecode Foundation.