Skip to content

jamesagarside/helios

Repository files navigation

Helios GCS - Open-source ground control for UAVs

A modern ground control station built for pilots who want more from their flight data.
Plan missions. Fly with confidence. Record everything. Analyse it all.

Website · Features · Docs · Download

License Release Platforms


Helios is a free, open-source ground control station for drones and unmanned vehicles. It connects to your flight controller over USB, Wi-Fi, or telemetry radio and gives you everything you need in one place: live flight instruments, mission planning, video streaming, airspace awareness, and post-flight analytics that go far beyond what other GCS software offers.

What makes Helios different is how it treats your flight data. Every flight is automatically recorded into a queryable database -- not just a log file you'll never open. After you land, browse past flights, compare performance across sessions, chart any telemetry parameter, or run custom queries. It's a flight recorder that you'll actually use.

Helios works with the hardware you already own. ArduPilot, PX4, Betaflight, iNav -- multirotor, fixed-wing, VTOL, rover, or submarine. Connect over UDP, TCP, or USB serial and the protocol is detected automatically. No configuration wizards, no firmware-specific builds. One app for your entire fleet.

What you can do with Helios

  • Fly -- Real-time PFD with attitude, speed, and altitude tapes. Live map with vehicle tracking, home marker, and mission path overlay. Configurable telemetry tiles you can drag and rearrange. One-tap arm, disarm, RTL, land, and mode switching.
  • Plan -- Visual mission editor with drag-and-drop waypoints and DO_ action commands. Area surveys with automatic lawnmower grid generation. Geofencing, rally points, and KML/GPX import from other tools.
  • Record -- Every connected flight is recorded to a local database automatically. No manual start/stop. No cloud uploads. Your data stays on your machine.
  • Analyse -- SQL query editor, pre-built analysis templates, interactive charts, flight replay on the map, and Parquet export for external tools. Compare vibration, battery health, or GPS accuracy across dozens of flights in seconds.
  • Airspace -- Live no-fly zone and restricted airspace overlays from OpenAIP. Draw custom planning zones. Automatic waypoint conflict detection warns you before upload.
  • Video -- RTSP video streaming with picture-in-picture overlay on the Fly view. Hardware-accelerated playback.
  • Simulate -- One-click ArduPilot SITL with wind and failure injection. Practice missions, test failsafes, and train new pilots without risk.

Why Helios over other GCS software?

  • Your data, queryable. Other software gives you a log file. Helios gives you a database. Every flight. Automatically.
  • Modern interface. Clean, responsive design. No cluttered toolbars or buried menus. 60fps rendering even at high telemetry rates.
  • All platforms. macOS, Windows, Linux, iOS, and Android. Same experience everywhere.
  • All flight controllers. ArduPilot, PX4, Betaflight, iNav. MAVLink and MSP. Auto-detected.
  • No lock-in. Open source (GPL 3.0). No accounts, no subscriptions, no telemetry phoning home. Free forever.

Protocol & Feature Support

Helios supports both MAVLink (ArduPilot, PX4, iNav) and MSP (Betaflight, iNav, Cleanflight). Protocol is auto-detected on connect.

Flight Controller Compatibility

Flight Controller Protocol Status
ArduPilot (Plane, Copter, Rover, Sub) MAVLink v2 Full support
PX4 MAVLink v2 Full support
iNav (MAVLink mode) MAVLink v2 Full support
Betaflight MSP Full support
iNav (MSP mode) MSP Full support
Cleanflight MSP Full support

Feature Matrix

Feature MAVLink MSP Notes
Live Telemetry
Attitude (roll, pitch, yaw)
GPS position & fix
Altitude (relative to home)
Altitude (MSL)
Groundspeed
Airspeed MSP does not expose airspeed sensor data
Climb rate
Battery voltage
Battery current
Battery remaining %
Flight mode
Armed state
GPS satellite count
HDOP (GPS accuracy) MSP_RAW_GPS does not include HDOP
Vibration (X/Y/Z) MSP has no vibration reporting; use Blackbox
RSSI
Status messages / alerts No MSP equivalent to STATUSTEXT
Status message log overlay Scrolling STATUSTEXT feed on Fly View
Fly View Controls
Flight action panel ARM/DISARM, mode picker, RTL/LAND/LOITER/AUTO/BRAKE/TAKEOFF
Vehicle-type-aware flight modes Correct mode names for Copter, Plane, Rover, VTOL
Customisable telemetry tiles 21 fields; drag-to-reorder, long-press-to-remove
Recording & Analytics
DuckDB flight recording MSP uses separate msp_* table prefix
Altitude chart
Speed chart ✅ (GS only) Groundspeed only for MSP; no airspeed
Climb rate chart
Battery chart
GPS quality chart ✅ (sats only) Satellite count only; no HDOP for MSP
Attitude chart
Vibration chart Not available via MSP
SQL query editor MAVLink and MSP tables available in same DB
Parquet export
Predictive maintenance ⚠️ Partial Vibration analysis unavailable without IMU data
Flight Forensics Cross-flight DuckDB analytics
Setup & Configuration
Connection (UDP / TCP)
Connection (Serial / USB) macOS, Linux, Windows only -- not available on iOS/Android
Protocol auto-detection 5 s probe; first valid frame wins
Parameter editor MSP has no parameter protocol in Helios
Sensor calibration ArduPilot/PX4 calibration commands only
Stream rate control Polling rates are fixed in MSP service
Mission Planning
Waypoint upload / download Betaflight has no waypoint mission support
DO_ action commands (speed, jump, camera, gimbal, gripper) Labelled param editor per command type
Multi-select + batch altitude / delete Long-press → checkbox mode; Ctrl+A
KML / GPX import Placemark, LineString, wpt, trkpt
Polygon area survey Tap polygon vertices → lawnmower grid clipped to shape
Geofence MAVLink fence protocol only
Rally points MAVLink only
Simulate (SITL)
One-click SITL launch macOS/Linux; native binary auto-download; not iOS/Android/Windows
Vehicle + airframe picker ArduCopter/Plane/Rover/Sub/Heli + variants
Predefined start locations CMAC, Duxford, SFO Bay, Sydney + custom lat/lon
Wind injection SIM_WIND_SPD + SIM_WIND_DIR via MAVLink params
Failure injection (GPS, compass, battery) Live toggle while SITL running
Speed multiplier (1×-8×) SIM_SPEEDUP param; test long missions fast
SITL log viewer Live stdout/stderr stream in Setup tab
Points of Interest
POI markers (pin/star/camera/target/home/flag) 6 icons × 6 colours; Plan + Fly View
POI details panel (name, notes, coords, altitude) Tap to view, long-press to edit
Orbit mission generator Clockwise circle, configurable radius/laps/speed
No-Fly Zones & Airspace
OpenAIP live airspace fetch Free API key required; 7-day local cache
GeoJSON airspace file import OpenAIP v1/v2 + standard GeoJSON
User-drawn NFZ overlays Local planning overlays, not sent to FC
Waypoint conflict detection Highlights wps inside restricted zones
Diagnostic Panels
Servo output viewer (CH1-CH16 PWM bar graphs) SERVO_OUTPUT_RAW; traffic-light colour coding
RC input viewer (CH1-CH18, RSSI, failsafe) RC_CHANNELS; per-channel bars + failsafe badge
Other
Dataflash log download Use Betaflight Configurator for Blackbox
Video streaming (RTSP) Transport-independent
Dark / light mode
Offline map tiles

Core Features

Feature Description
Fly Real-time flight instruments PFD, live map, configurable telemetry tiles, flight action panel
Plan Visual mission editor Drag-and-drop waypoints, area surveys, geofencing, rally points, KML/GPX import
Analyse Post-flight analytics SQL query editor, flight browser, cross-flight comparison, Parquet export
Connect Any hardware UDP, TCP, USB serial. Auto-detects MAVLink or MSP on connect
Video Live RTSP streaming Picture-in-picture with flight data overlay
Simulate One-click SITL Downloads ArduPilot binaries on demand. No Docker. Wind and failure injection
Airspace No-fly zone overlays OpenAIP integration, custom NFZ drawing, waypoint conflict detection
Record Every flight, automatically DuckDB columnar storage. 10-100x faster analytics than SQLite

See the full feature breakdown at jamesagarside.github.io/helios/features.

Quick Start

Download

Pre-built binaries for macOS, Windows, and Linux are available on the Releases page. iOS alpha builds are on TestFlight.

Build from Source

Requires Flutter SDK 3.38+ and platform toolchain (Xcode for macOS/iOS, Visual Studio for Windows, clang/cmake for Linux).

git clone https://github.com/jamesagarside/helios.git
cd helios
flutter pub get
flutter run -d macos   # or linux, windows, <device_id>

Connect to a Vehicle

  1. Open Setup (press 4)
  2. Choose transport: UDP (default 0.0.0.0:14550), TCP, or Serial
  3. Click Connect
  4. Switch to Fly (press 1) to see live telemetry

No Drone? No Problem

Telemetry simulator -- sends synthetic ArduPlane data to localhost:

dart run scripts/sim_telemetry.dart

Built-in SITL -- full ArduPilot simulation from the Setup tab. Pick a vehicle, airframe, and start location. Helios downloads the binary on first use. Available on macOS and Linux.

Recording & Analysis

Every flight is automatically recorded to a DuckDB file. Switch to the Data tab to browse past flights, run SQL queries, chart any parameter, or export to Parquet. Think of it as a flight recorder that speaks SQL.

Project Structure

lib/
  core/           Business logic (MAVLink, telemetry, mission, airspace)
  features/       UI views (fly, plan, analyse, setup)
  shared/         Models, providers, theme, widgets
packages/
  dart_mavlink/   MAVLink v2 parser (pure Dart)

Tests

flutter test           # 558 tests
dart analyze lib/      # zero warnings

Contributing

Contributions are welcome. Please open an issue first to discuss what you'd like to change. See the docs for architecture details.

Licence

GPL-3.0


Part of the Argus Platform
Helios sees from the sky. Argus sees from the ground.

About

The modern UAV ground station.

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors