Skip to main content

Building Drones and Uncrewed Aerial Vehicles with QGroundControl and Qt

QGroundControl (QGC), the leading open source ground control station for uncrewed aerial vehicles, is built on Qt. 

Learn what modules it leverages, what its licensing requires, and how to build compliant proprietary products on QGC and Qt.

 

Contact Us to Learn More

Building a proprietary application on QGroundControl requires a commercial Qt license. Without one, GPL v3 applies to the software and the complete source code must be shared.

qt_drone_B_final_00

Qt and QGroundControl

QGroundControl (QGC) is the leading open-source ground control station for uncrewed vehicles, providing flight control and mission planning for any vehicle running the MAVLink protocol—including PX4 and ArduPilot autopilots—across air, ground, and water autonomous systems. It is governed by the Dronecode Foundation, a vendor-neutral non-profit that also stewards PX4, MAVLink, and MAVSDK, and is used by hobbyists, researchers, and commercial operators alike.

By building on Qt as its core cross-platform framework, QGC inherits the ability to run on all major desktop, mobile, and embedded platforms from a single codebase.

Qt Framework's modules playing a foundational role in QGC and drone technology include:

QML All flight instruments, maps, camera feeds, and settings dialogs.
Qt Network TCP/UDP MAVLink links, serial connections, USB, Bluetooth via Qt network abstraction.
Qt Location Mission planning maps, geofence overlays, and vehicle position tracking.
Qt Multimedia GStreamer integration for live video feeds from drone cameras.
Qt Quick 3D Hardware-accelerated 3D scene for the terrain / building viewer and 3D flight visualisation.

 

Defense-Drone-Control-Room_H850px-2

QGroundControl and Qt Open Source Licensing 

QGroundControl is dual-licensed under either Apache 2.0 (permissive) or GPL v3 (copyleft). Largely built on Qt, QGC inherits GPL conditions from Qt modules that open source users may use only under GPL, not the more permissive LGPL—among others Qt Graphs, Qt HTTP Server, and Qt Quick 3D.

As a strong copyleft license, GPL forces any product derived from the QGC codebase to inherit the GPL terms

When developing software under GPL v3, two obligations follow:

  • The source code must be made available to everyone receiving the software.

  • The software cannot be locked to specific hardware.

The commercial Qt license lifts both these conditions.

NOTE: Using GPL software in commercial projects is possible, but the resulting product cannot be kept proprietary. To avoid legal and financial consequences, organizations should review their open source policy and verify compliance with GPL's obligations through internal legal review.

 

Drone Logistic

Commercial Use of QGroundControl 

GPL v3 is a legitimate choice for developing code under the principles of free software, where the resulting source code is shared with the community.

IMPORTANT: Commercial licenses are required for building proprietary applications whose source code is not intended to be disclosed.

As underlined in QGC License Information, there are two permissible combinations of QGC and Qt. 

Feature / Aspect Open-Source Path Commercial Path
QGroundControl GPL v3 Apache 2.0
Qt Framework Open source (GPL v3) Commercial Qt
Best for Community, research Products, contractors
Core obligation Full copyleft Commercial terms
Proprietary code To be published Proprietary
Hardware lockdown Not permitted Permitted

Qt Components:

  • Qt6::Core - Core functionality
  • Qt6::Gui - GUI framework
  • Qt6::Widgets - Traditional widget-based UI
  • Qt6::Quick - Modern QML-based UI
  • Qt6::QuickControls2 - Material Design controls
  • Qt6::QuickWidgets - Integration between widgets and QML
  • Qt6::Qml - QML engine
  • Qt6::QmlIntegration - QML-C++ integration
  • Qt6::Charts - Data visualization (used for MAVLink Inspector)
  • Qt6::Location - Maps and positioning
  • Qt6::LocationPrivate - Advanced location features
  • Qt6::Positioning - GPS and coordinate handling
  • Qt6::Multimedia - Video streaming support
  • Qt6::Network - Network communications
  • Qt6::Concurrent - Multi-threading
  • Qt6::Sensors - Sensor data handling
  • Qt6::TextToSpeech - Audio notifications
  • Qt6::Svg - Vector graphics
  • Qt6::Sql - Database operations
  • Qt6::Xml - XML parsing
  • Qt6::Core5Compat - Qt5 compatibility layer

Optional Components:

  • Qt6::Bluetooth - Bluetooth connectivity
  • Qt6::OpenGL - 3D rendering
  • Qt6::Quick3D - 3D visualization (for 3D viewer feature)
  • Qt6::SerialPort - Serial communication
  • Qt6::Test - Unit testing framework
  • Qt6::WaylandClient (Linux only)

More Resources for Aerospace & Defense Software

 

Qt Group in the Aerospace and Defense Sector 

Accelerate speed of delivery, continuous adaptation, and modular tech upgrades with Qt Group's technologies for cross-platform software design, development, and testing.

Qt Open Source and Commercial Licensing in Aerospace and Defense

Defense programs require source code transparency to satisfy certification, procurement, and export control requirements — a structural barrier for binary-only software products. 

Sneak Peek: Qt Robotics Framework (Proof-of-Concept)

Robotics investment is booming, and even small players are racing to take advantage of this revolution in sectors like manufacturing, agriculture, and logistics.

Partner with Qt Group for Your Next Drone Project

 

Contact Us to Learn More