whatisgithub

What is qgroundcontrol?

mavlink/qgroundcontrol — explained in plain English

Analysis updated 2026-06-26

4,582C++Audience · generalComplexity · 3/5Setup · easy

In one sentence

A free desktop and mobile app for flying and planning drone missions, connect to any MAVLink drone, watch it on a live map, draw automated flight routes, and configure the flight controller settings before takeoff.

Mindmap

mindmap
  root((QGroundControl))
    Main activities
      Real-time flight control
      Mission planning
      Drone configuration
    Map features
      Live drone position
      Waypoint drawing
      Altitude settings
    Setup screens
      PX4 configuration
      ArduPilot configuration
      Sensor calibration
    Platforms
      Windows macOS Linux
      Android iOS
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Plan an automated survey mission by drawing a route on a map, setting waypoints and altitudes, and uploading the flight plan so the drone flies itself.

USE CASE 2

Configure and calibrate a PX4 or ArduPilot flight controller through a dedicated setup screen before the first flight.

USE CASE 3

Monitor a drone's battery level, GPS position, and sensor readings in real time on a live map during flight.

USE CASE 4

Build and customize QGroundControl from source to add features or adapt it for specialized hardware.

What is it built with?

C++QtQMLMAVLink

How does it compare?

mavlink/qgroundcontrolanhkgg/superwechatpcplaidml/plaidml
Stars4,5824,5774,575
LanguageC++C++C++
Setup difficultyeasyhardmoderate
Complexity3/54/54/5
Audiencegeneraldeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Pre-built installers are available for all platforms, building from source requires Qt and takes significantly longer.

No license information is stated in the explanation.

So what is it?

QGroundControl, often called QGC, is a desktop and mobile application for piloting and managing drones. It runs on Windows, macOS, Linux, Android, and iOS, and it communicates with the drone using a messaging protocol called MAVLink. If a drone's flight controller speaks MAVLink, which most consumer and professional flight controllers do, QGC can connect to it. The application covers two main activities: real-time flight control and pre-flight mission planning. During a flight you can see the drone's position on a map, monitor its sensor readings and battery level, and issue commands. For mission planning, you draw a route on a map, set waypoints, define altitudes, and then upload the entire flight plan to the drone so it can execute it automatically without constant manual input. QGC also handles the setup and configuration of the drone itself. It has dedicated configuration screens for two of the most widely used open-source flight controller firmware families, PX4 and ArduPilot. Through these screens you can tune flight behavior, calibrate sensors, configure radio inputs, and adjust safety settings before the aircraft leaves the ground. The project is fully open source and built with the Qt application framework, which is how it achieves cross-platform support from a single codebase. Developers can build it from source, add features, or adapt it for specialized hardware. A developer guide and build instructions are linked from the README. A user manual exists at docs.qgroundcontrol.com for those who want detailed guidance, though the README notes the interface is designed to be approachable without it. The license terms are documented separately in the repository.

Copy-paste prompts

Prompt 1
How do I create a survey mission in QGroundControl to map a rectangular field, setting the area, overlap percentage, altitude, and camera trigger interval?
Prompt 2
My drone runs ArduPilot and I want to tune PID values using QGroundControl. Walk me through the parameter editor and which values to adjust for roll stability.
Prompt 3
How do I connect QGroundControl on my Android phone to my drone via a UDP link over WiFi and verify telemetry is flowing?
Prompt 4
I want to add a custom telemetry panel to QGroundControl that shows a specific MAVLink message value. Where do I start in the source code?

Frequently asked questions

What is qgroundcontrol?

A free desktop and mobile app for flying and planning drone missions, connect to any MAVLink drone, watch it on a live map, draw automated flight routes, and configure the flight controller settings before takeoff.

What language is qgroundcontrol written in?

Mainly C++. The stack also includes C++, Qt, QML.

What license does qgroundcontrol use?

No license information is stated in the explanation.

How hard is qgroundcontrol to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is qgroundcontrol for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.