Introducing MAVSDK

MAVSDK is the new name for the “■■■■■■■■■ SDK” (formerly “DroneCore”), the project is now under the MAVLink project umbrella.

Learn about the project and how to contribute :point_right:



I am very happy to see this appening !
I guess now you will be interested in supporting ArduPilot ?

Hello @khancyr!

I am one of the maintainers of MAVSDK. Thanks for the question :slight_smile:!

The goal for MAVSDK is to provide an easy way to interact with MAVLink flight stacks in general, and we would love to have it working with APM! As defined in this RFC, the idea is that MAVSDK would officially support the MAVLink standard set of messages, and at the same time allow specific implementations (I believe that APM has MAVLink dialects that would need to be supported, for instance).

We started an issue specifically for APM a few months ago, and would love to have your insights there!

My first understanding was that the “common” set of messages was implemented by all flight stacks, and that APM had dialects on top of that. But I came to realize that APM does not implement all of common MAVLink. Which is fine: not all stacks need to implement everything.

IMO, it would be super nice if somebody from APM could look at (some) of the features of MAVSDK (say the action, telemetry, and mission plugins) and check what would be required for them to work with APM. Some things may need to be discussed at the MAVLink level (e.g. making the specification stricter), some may need to be changed in MAVSDK (because we develop it against PX4 right now, meaning that we certainly have PX4-specific things there), and some may need to be changed in the flight stack side (be it APM or PX4).

I personally don’t have that kind of understanding yet, so I would love to get insights from the APM community!

What do you think?

What is the current status of MAVSDK with ArduPilot?
Also I am wondering is it possible to design a custom GCS using MAVSDK.

1 Like

Hello, Any news about MAVSDK with Ardupilot?
Also I would like to design a custom GCS using MAVSDK.

You can design a custom gcs using DroneKit or mavproxy/pymavlink, both of which have far more capability than mavsdk currently has.
There is some background work happening with mavsdk but it’s not a priority for the dev team.
Apart from a heavy marketing campaign, what draws you to it?

1 Like

There were some attempts and even code written to get it to work, but the work is stale at the moment. I haven’t heard of anyone working on a port at this time, and it would require an effort to support multiple mavlink messages from various vendors, which is certainly possible but would require a) a maintainer willing to write the code b) support from the vendor (whoever that is)

Currently, the only two full-time engineers working on the project have been hard at work and support a small but growing community of contributors. I’m sure they would gladly help you get a port going; they indeed were open to the idea back when it first got mentioned.

The MAVSDK project is well and alive. As for the “marketing” efforts, I’m flattered, since it’s been me who’s been doing most of the work, although nowadays it’s called developer advocacy, evangelism, or developer relations, to the efforts done to get organizations and volunteers to try your OSS project. It’s part of my day job.

In any case, as @james_pattison says, if you are on APM, you got other solid options, biased towards DroneKit (part of the founding team) which is using pymavlink internally and as far as i can tell it’s still being maintained.

Good luck on your journey, feel free to drop me a message if you ever need help.

1 Like

version 0.22 has import error issue and version 1.2.0 does not work well with Ardupilot yet.