Skip to content
API and library for PX4 Autopilot using MAVLink written in C++11
Branch: develop
Clone or download
julianoes and JonasVautherin camera: fixes to prevent deadlocks
We have been seeing deadlocks connected with the camera plugin
presumably due to deadlocks which then block the receiving thread.

On inspection I found a couple of callbacks from the camera plugin which
had not been using the thread pool. Hopefully fixing these to all use
the thread pool might fix the issues.
Latest commit 2855a42 Jul 13, 2019


travis-ci build status Build status Coverage Status


MAVSDK is a set of libraries providing a high-level API to MAVLink. It aims to be:

  • Easy to use with a simple API supporting both synchronous (blocking) API calls and asynchronous API calls using callbacks.
  • Fast and lightweight.
  • Cross-platform (Linux, Mac, Windows, iOS, Android).
  • Extensible (using compile-time plugins).
  • Fully compliant with the MAVLink common microservices standard/definitions.

The core library is written in C++ and is used as the common "backend" to auto-generated front end libraries for different programming languages. The generated libraries share similar APIs (because they are autogenerated from a common interface) but follow idiomatic patterns expected by end users (for example, the Python library is installed from PyPi using pip, and includes everything you need to get up and running).

This repo contains the source code for the C++ core. Other important repos include:


  • C++ core library (2016). Reliable and stable - used in production.
  • MAVSDK-Swift (2018): Reliable and stable - used in production.
  • MAVSDK-Python (2019): First PyPi release 2019.
  • MAVSDK-Java (2019): Prototype.
  • MAVSDK-JavaScript (2019). Proof of concept.

Docs (Build instructions etc.)

Instructions for how to use the C++ library can be found in the SDK Guide (links to other programming languages can be found from the documentation sidebar).

Quick Links:


This project is licensed under the permissive BSD 3-clause, see

You can’t perform that action at this time.