Hi everyone,
I’ve spent a lot of time recently customizing QGroundControl for business use cases adding widgets and connecting C++ backends but I realized that tools like PX4 and ArduPilot often “hide” the complexity of what’s actually happening between the hardware, the protocol, and the UI.
To bridge that gap, I decided to build a system from scratch using raw MAVLink and a microcontroller.
The Setup:
-
Embedded: Raspberry Pi Pico 2 sending raw MAVLink messages over UART.
-
Protocol: Implemented a custom helper layer to handle
HEARTBEATmessages, telemetry (viaNAMED_VALUE_FLOAT), and command parsing (MAV_CMD_DO_SET_RELAY). -
UI: A custom QGC build using Qt/QML and C++ with a mobile-friendly control panel for real-time GPIO manipulation and temperature monitoring.
Full Blog Post: From Pico to Custom QGC
If anyone’s hacking on custom GCS setups, MAVLink integration, or unique hardware-to-UI pipelines– I’d love to connect. Always open to chat or even join forces on anything in the QGC/MAVLink world.
Can’t wait to hear your thoughts and feedback.
Vishal.



