Custom software to view and send basic Mavlink data


I am in the drone world for quite some time now and I have realized that almost all the clients I deal with, struggle with Mission Planner.

This is because with Mission Planner it is possible to do literally anything with the drone and most of the time, clients can do unwanted things such as changing parameters, settings, and stuff which ultimately leads to the crashing of drones.

Since Mission Planner is a great utility for Drone Engineers and not for clients who just want to fly and view basic data, I am thinking of making a simple software using which I am able to do just the following:

  1. View basic drone parameters like Battery, GPS location, Heading, Altitude, etc.
  2. Switch between different flight modes to Loiter, Alt Hold, RTL, Auto, etc.
  3. Send waypoint missions to the drone. Missions could be pre-programmed stored in a text file for simplicity.
  4. Also display some custom parameters in the GUI.

Currently, I am thinking of using python to create a simple GUI and connect to the transceiver using a serial port just like Mission Planner and use some mavlink library to decode the incoming Mavlink string and just display the decoded data in the GUI. Also making some simple buttons for flight modes and waypoint missions, which when pressed, would send the required commands to the drone.

I have the following questions in mind:

  1. Is my idea possible?
  2. Which python mavlink library would be suitable for this task?
  3. Is there any better way to do this?

Can anyone please guide me on this.

@philip @Alvin @MadRC


Can you specify which platform are you going to work on? Like mobile app, desktop app, or etc.

@Michael_Oborne may be able to help you.

Hi @Alvin,
Thank you for replying.

Currently, I am planning for a simple desktop APP on windows10 using python.

@Michael_Oborne Could you please kindly guide me a bit on this?


have a look at pymavlink for an idea on how to talk mavlink to and from the device.

Okay sure.
Thanks a lot for replying.