Skip to content

One GCS to rule them all. ArduPilot, Betaflight, iNav - all in one app. Mission planning, PID tuning, OSD simulator, SITL with FlightGear. Cross-platform (Win/Mac/Linux)

License

Notifications You must be signed in to change notification settings

rubenCodeforges/ardudeck

Repository files navigation

ArduDeck

License: GPL-3.0 TypeScript Electron React MAVLink MSP

A modern, cross-platform ground control station for ArduPilot, Betaflight, and iNav.

ALPHA SOFTWARE - ArduDeck is under active development. Features may be incomplete, unstable, or change without notice. Use at your own risk and always have a backup configuration tool available. We appreciate early testers - please report bugs to help improve the project!

ArduDeck is a next-generation ground control station built with Electron, React, and TypeScript. It provides real-time telemetry, parameter management, PID tuning, and mission planning for drones and vehicles running ArduPilot, Betaflight, or iNav firmware.

One app for all your flight controllers - Cross-platform (Windows, macOS, Linux), modern UI, supports both MAVLink and MSP protocols.


Table of Contents


Features

Real-Time Telemetry

  • Attitude Indicator - Roll, pitch, yaw with compass heading
  • Flight Data - Altitude (MSL/AGL), airspeed, ground speed, climb rate
  • GPS Status - Fix type, satellite count, HDOP, coordinates
  • Battery Monitor - Voltage, current, remaining capacity with visual indicator
  • Flight Mode - Armed/disarmed status, current mode display

Interactive Map

  • Live Vehicle Tracking - Real-time position with heading indicator
  • Flight Trail - Historical path visualization
  • Multiple Layers - Street, Satellite, Terrain, Dark mode
  • Home Position - Distance and bearing to home
  • Overlays - Compass, attitude indicator, stats

Dockable Dashboard

  • IDE-Style Panels - Drag & drop layout customization
  • Save/Load Layouts - Multiple named layout profiles
  • Resizable Panels - Flexible workspace arrangement

Mission Planning

  • Interactive Map Editing - Click to add waypoints, drag to reposition
  • Waypoint Table - Beginner-friendly with human-readable summaries
  • Altitude Profile - Terrain-aware visualization with drag-to-edit
  • Terrain Data - Real elevation data from Open-Meteo (Copernicus DEM)
  • Collision Detection - Visual warnings when path intersects terrain
  • Spline Waypoints - Smooth curved flight paths with Catmull-Rom interpolation
  • Command Support - Takeoff, Waypoint, Loiter, Land, RTL, Speed changes
  • File Operations - Save/Load .waypoints and QGC .plan formats
  • Upload/Download - Full MAVLink mission protocol support

Parameter Management

  • Full Parameter List - View all 800+ ArduPilot parameters
  • Search & Filter - Quick parameter lookup by name or group
  • Inline Editing - Click to edit, Enter to save, Escape to cancel
  • Real-Time Validation - Range, enum, and increment checks with error tooltips
  • Modified Tracking - Visual indicator with revert option
  • Write to Flash - Persist changes to EEPROM with confirmation dialog
  • Save/Load Files - Export and import .param files
  • Auto-Load Metadata - Descriptions from ArduPilot XML + 600 fallback descriptions
  • MAVLink v1/v2 Auto-Detection - Compatible with legacy and modern flight controllers

Settings & Vehicle Profiles

  • Vehicle Profiles - Create and manage multiple vehicle configurations
  • All Vehicle Types - Copter, Plane, VTOL, Rover, Boat, Submarine
  • Type-Specific Properties - Frame size, wingspan, hull type, thruster count, etc.
  • Performance Estimates - Flight time, range, cruise speed based on specs
  • Live Weather - GPS-based weather conditions from Open-Meteo API
  • Maritime Data - Wave height, swell info for boats/subs
  • Persistent Storage - Profiles saved to disk, survive app restarts

Betaflight/iNav Configuration

  • Auto-Detection - Automatically detects MSP protocol (Betaflight/iNav) vs MAVLink
  • PID Tuning - Beginner-friendly presets (Beginner, Freestyle, Racing, Cinematic)
  • Rate Curves - Visual rate curve editor with presets
  • Modes Wizard - Step-by-step mode configuration with live RC feedback
  • Servo Wizard - Fixed-wing servo setup with aircraft presets (Traditional, Flying Wing, V-Tail, Delta)
  • Platform Type Change - Convert multirotor to airplane with MSP2 + CLI fallback for iNav 2.0.0
  • Custom Profiles - Save/load custom PID tunes and rate profiles

CLI Terminal

  • Full Terminal Emulation - xterm.js with ANSI color support
  • Command Autocomplete - Tab completion for commands and parameters
  • Parameter Suggestions - Parsed from dump output for quick access
  • Command History - Up/down arrow navigation through previous commands
  • Legacy Board Support - Full configuration for F3-era boards via CLI

OSD Simulator

  • Live Preview - See exactly what appears in FPV goggles
  • Demo Mode - Adjust telemetry values with sliders for font development
  • Live Mode - Real-time display from connected flight controller
  • MCM Font Support - Full MAX7456/AT7456E font parsing
  • 8 Bundled Fonts - Default, Bold, Clarity, Impact, Vision, and more
  • PAL/NTSC - Support for both video standards (30x16 / 30x13 grids)
  • 15+ OSD Elements - Altitude, speed, battery, GPS, artificial horizon, CCRP indicator, and more
  • CCRP Indicator - Continuously Computed Release Point for payload drops (shows predicted impact point)
  • Element Toggle - Enable/disable individual OSD elements

Firmware Flash

  • Multi-Protocol Detection - Auto-detect boards via MAVLink, MSP, or STM32 bootloader
  • USB VID/PID Recognition - 30+ known boards identified by USB IDs
  • ArduPilot Support - Flash ArduCopter, ArduPlane, ArduRover, ArduSub
  • Betaflight/iNav Support - Flash Betaflight and iNav firmware with curated version lists
  • F3 Legacy Support - SPRacing F3 (iNav 2.0.0), FrSky F3 (iNav 2.6.1), Betaflight 3.5.7
  • Boot Pad Wizard - Guided entry for boards requiring manual bootloader activation
  • STM32 Serial Bootloader - Native USART flashing (no external tools needed)
  • Progress Tracking - Real-time erase/write/verify progress with detailed logging
  • Firmware Caching - Downloaded firmware cached for fast re-flashing

Connectivity

  • Serial (USB) - Direct connection via COM/ttyUSB ports
  • TCP Client - Network connection to SITL or telemetry bridges
  • UDP - Listen mode for MAVProxy and other forwarders
  • Auto-Detect - Scan ports for MAVLink devices

SITL Simulator & FlightGear Bridge

🚧 Coming Soon - This feature is currently under development and temporarily disabled. The SITL simulator requires complex protocol bridging that is still being refined. Check back in a future release!

What is this? SITL (Software In The Loop) lets you run real flight controller firmware on your computer - no drone required! Perfect for:

  • Learning - Practice mission planning and configuration without risking a crash
  • Testing - Verify your settings work before uploading to real hardware
  • Development - Test new features without leaving your desk

How it works:

  1. ArduDeck downloads and runs the actual iNav/Betaflight firmware as a desktop application
  2. The simulated flight controller behaves exactly like real hardware
  3. You can configure PIDs, modes, missions - everything works!
  4. Optionally connect to FlightGear (free flight simulator) to see your virtual aircraft fly

FlightGear Integration - If you have FlightGear installed, ArduDeck automatically detects it and can bridge the simulator to your SITL session. Watch your configured aircraft respond to your mission in a realistic 3D environment!

TL;DR: Test your drone configuration on your computer before flying for real. Break things in simulation, not in the field!


Screenshots

Mission Planning
Mission planning with terrain-aware altitude profile and automatic elevation data

Mission + Telemetry
Mission + Telemetry Layout
Telemetry Dashboard
Telemetry Dashboard
Firmware Flash
Firmware Flash
Settings & Profiles
Vehicle Profiles & Weather

Betaflight/iNav Configuration

PID Tuning
PID Tuning with Quick Presets
Rates Configuration
Rates & Expo Configuration
Flight Modes Simple
Flight Modes - Simple View
Modes Setup Wizard
Modes Setup Wizard
Flight Modes Advanced
Flight Modes - Advanced View
Servo Tuning
Servo Tuning for Fixed Wing
Safety & Failsafe
Safety & Failsafe Configuration
Sensors Status
Sensors & Live Telemetry

Additional Features

OSD Simulator
OSD Simulator - Demo Mode
CLI Terminal
CLI Terminal with Autocomplete
SITL Simulator
SITL Simulator with FlightGear
Parameter Management
Parameter Management

Quick Start

Prerequisites

  • Node.js 18 or higher
  • pnpm 8 or higher

Installation

# Clone the repository
git clone https://github.com/rubenCodeforges/ardudeck.git
cd ardudeck

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run in development mode
pnpm dev

Build for Production

# Build all packages
pnpm build

# Package for distribution (coming soon)
# pnpm package

Supported Vehicles

ArduPilot (MAVLink)

  • Copter - Quadcopters, hexacopters, octocopters
  • Plane - Fixed-wing aircraft, flying wings
  • VTOL - Tiltrotors, tailsitters, QuadPlanes
  • Rover - Ground vehicles, boats
  • Submarine - Underwater ROVs (ArduSub)

Betaflight & iNav (MSP)

  • Multirotors - Quads, hexes, octos, tris
  • Fixed Wing - Traditional, flying wing, V-tail, delta
  • F3/F4/F7/H7 - All STM32 flight controllers

🎖️ Veteran Board Support

"No board left behind"

Got an old SPRacing F3, Naze32, or other F3-era board collecting dust? We've got you covered.

While other configurators have abandoned these classic boards, ArduDeck provides a fully-featured graphical interface - not just CLI access, but the same modern UI experience as newer boards:

Board Era Firmware Support Configuration
F3 Boards iNav 2.0.0, Betaflight 3.5.7 Full GUI (powered by CLI)
F4/F7/H7 Latest iNav & Betaflight Modern MSP Protocol

Why We Care

These boards were the workhorses of the FPV revolution. They flew millions of packs, survived countless crashes, and taught a generation of pilots how to tune PIDs. They deserve better than a drawer.

Full GUI for Legacy Boards

No command-line typing required! ArduDeck automatically detects legacy boards and presents a complete graphical interface:

  • PID Tuning Tab - Sliders and inputs for P/I/D/FF, just like modern boards
  • Rates Tab - Visual rate configuration with expo curves
  • Mixer Tab - Graphical motor (mmix) and servo (smix) mixer editor
  • Servo Tab - Visual endpoint tuning with range indicators
  • Modes Tab - Point-and-click flight mode assignment
  • CLI Terminal - For power users who want raw access with autocomplete

The GUI talks to your board via CLI commands under the hood - you get the convenience of a modern interface with the compatibility of CLI.

Supported Legacy Boards

  • SPRacing F3 / F3 EVO / F3 Mini / F3 Neo
  • Naze32 Rev6
  • CC3D (with iNav)
  • Flip32 F3
  • Seriously Pro Racing F3
  • ...and any other F3-era board running iNav < 2.1 or Betaflight < 4.0

Dust off those veterans and give them one more flight! 🛩️


Bug Reporting

Found a bug? We want to hear about it! ArduDeck includes a built-in bug reporting tool that makes it easy to share diagnostic information with the development team.

Bug Report Screen
Built-in bug reporting with automatic log collection

How to Report a Bug

  1. Open the Bug Report screen - Click the bug icon in the sidebar or go to Help > Report Bug
  2. Describe the issue - Tell us what happened and what you expected
  3. Choose what to include:
    • App logs - Recent application logs (always recommended)
    • Board dump - Flight controller configuration (requires connected board, will trigger reboot)
  4. Review the data - See exactly what will be collected before sending
  5. Generate report - Creates an encrypted .deckreport file
  6. Send to developers - Share the file via GitHub issue or email

What Gets Collected

Data Description Privacy
App logs Recent application logs (errors, warnings, debug info) Paths sanitized, no personal data
System info OS, version, architecture Anonymous
Board dump Flight controller settings via CLI dump command Your FC configuration

Privacy & Security

  • You control what's shared - Choose what to include, preview before sending
  • Encrypted reports - Only the ArduDeck dev team can decrypt .deckreport files
  • No automatic uploads - You decide when and how to share the file

Roadmap

Completed

  • Real-time telemetry with dockable dashboard
  • Interactive map with vehicle tracking
  • Mission planning with terrain-aware altitude profile
  • Full parameter management with validation
  • Geofence and rally point editing
  • Vehicle profiles with weather integration
  • Firmware flashing (ArduPilot, Betaflight, iNav)
  • Betaflight/iNav PID tuning and configuration
  • CLI Terminal with autocomplete and command history
  • Legacy F3 board support via full CLI configuration
  • OSD Simulator with demo and live telemetry modes

Coming Soon

  • SITL Simulator - Software-in-the-loop with FlightGear integration (temporarily disabled)
  • OSD element editor and font designer
  • Calibration wizards (compass, accelerometer, radio)
  • Auto-updater and crash reporting

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the GPL-3.0 - see the LICENSE file for details.


Acknowledgments

  • ArduPilot - Open-source autopilot firmware
  • Betaflight - Flight controller firmware for multirotors
  • iNav - Navigation-focused flight controller firmware
  • Mission Planner - Original GCS that inspired this project
  • QGroundControl - Cross-platform GCS inspiration
  • MAVLink - Micro Air Vehicle communication protocol
  • Leaflet - Interactive maps library

Made with ❤️ by Codeforges

About

One GCS to rule them all. ArduPilot, Betaflight, iNav - all in one app. Mission planning, PID tuning, OSD simulator, SITL with FlightGear. Cross-platform (Win/Mac/Linux)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages