ArduDeck v0.0.29-alpha
Major New Features
Visual Lua Editor
New view · 6,000+ lines · 39 new files
A full node-based visual programming environment for creating ArduPilot Lua scripts without writing code.
40+ nodes across 7 categories:
| Category | Nodes |
|---|---|
| Sensors | GPS, Battery, Airspeed, RC Channels, Rangefinder, Attitude, Compass |
| Math | Add, Subtract, Multiply, Divide, Power, Abs, Clamp, Map Range, Trigonometry |
| Logic | Compare, AND, OR, NOT, Branch (if/then), Switch |
| Actions | Set RC Override, Send GCS Message, Set Servo, Set Relay, Play Tune, Log Message |
| Timing | Timer, Delay, Throttle |
| Variables | Get/Set Variable |
| Flow | Comment annotations |
Pre-built templates: Low Battery Warning, Geofence Alert, Emergency RC Failover, Altitude Hold
- Lua Compiler with topological sort-based code generation, error detection, memory estimation, and ArduPilot API compatibility
- Live Lua preview panel with syntax highlighting
- Built-in documentation: API reference, node reference, examples, and getting started guide
- Upload to FC via IPC integration
Autonomous Survey Missions
New view · 3,500+ lines · 21 new files
Turn any area into a precision mapping or photogrammetry mission.
Survey patterns: Grid (lawnmower), Crosshatch (perpendicular double-pass), Circular (concentric rings)
30+ camera presets:
- DJI — Mavic 3E, Phantom 4 RTK, Zenmuse P1/L2
- Sony — A7R IV, RX1R II
- GoPro
- Multispectral — MicaSense RedEdge-P, Altum-PT
- Custom entry
Planning & stats:
- Draw polygon on map with real-time camera footprint visualization
- Adjustable altitude, speed, grid angle, and overshoot
- Front & side overlap configuration with GSD calculation
- Stats panel: GSD (cm/px), photo count, line count, flight distance, estimated flight time, area covered
- One-click mission insertion — generates waypoints with camera trigger commands directly into the mission planner
3D View for Maps
New feature · 3,100+ lines · Three.js integration
Full 3D terrain and vehicle visualization using MapLibre GL JS and a Three.js custom layer.
- Real-time vehicle model — 3D chevron with live attitude (roll/pitch/yaw), armed state color-coding, altitude drop-line, and heading indicator
- Terrain rendering — DEM from Terrarium tiles with exaggeration slider (0.5x – 5x)
- Mission path rendering — 3D flight path ribbons at altitude, drop-lines to terrain, color-coded waypoint segments, clickable projected markers
- 3D buildings — Vector tile extrusion at high zoom
- Atmospheric rendering — Dark-themed sky and fog
- Seamless 2D/3D toggle — Viewport sync preserves camera position, pitch, and bearing
- Vehicle dimensions sourced from profile (wingspan/frameSize) with auto-scale fallback
MAVLink Signing Support
Security feature · Issue #13
SHA-256 packet signing for secure MAVLink v2 vehicle communication.
- Passphrase-based key generation — Hashed to 32-byte signing key, stored encrypted via
electron.safeStorage - One-click FC enrollment — Send signing key to flight controller via
SETUP_SIGNINGcommand - Status dashboard — Key fingerprint display, FC signing confirmation, key mismatch warnings
- Enable/pause toggle — Temporarily disable signing without removing the key
- Key export — View as Base64 (Mission Planner compatible format)
- Key removal — Remove key and disable signing on FC
- MAVLink v1 detection — Shows unavailable warning with TCP/UDP proxy compatibility notes
New Features & Enhancements
Terrain/Height Overlay on Map
Color-coded elevation visualization overlaid on the 2D map using Terrarium DEM tiles.
- Display modes: AMSL (absolute terrain elevation) and Relative (elevation relative to craft altitude, updated in real-time)
- Auto range — Dynamically scales color gradient to visible tile elevations
- Fixed range — Lock min/max with inline click-to-edit bounds
- Live elevation legend — Gradient bar with range display, water transparency below sea level
UDP Client Mode
- Listen (Server) — Bind to local port, wait for incoming packets (traditional GCS mode)
- Client (Connect) — Actively send packets to a remote host:port, useful for cloud relays, companion computers behind NAT, or telemetry bridges
- Both modes support MAVLink and MSP protocols with connection memory
Advanced/Beginner Experience Levels
- Beginner mode — Tooltips, explanatory info cards, inline help text, and educational dialogs
- Advanced mode — Clean interface with educational content hidden
- Shown on first launch, accessible anytime from Settings
Reboot-Required Parameter Detection
Issue #25
- Reads
RebootRequired: Truefrom ArduPilot parameter metadata - Amber alert banner lists parameters requiring a reboot
- One-click reboot with countdown, auto-reconnect, and parameter refresh
- Auto-retry on file apply — up to 3 cycles until all parameters apply successfully
Readonly Parameter Flags
Issue #49
- Automatically identifies read-only parameters (
TEMP_*,INS_ACC*_TEMP,STAT_*, etc.) - Hidden from modified/compare views to prevent accidental edits
- Cleaner parameter diff when comparing or applying param files
Save Non-Default Parameters Only
Issue #39
New export option to save only parameters differing from defaults — produces smaller, cleaner param files focused on user customizations.
Bug Fixes
| Issue | Description |
|---|---|
| #56 | ELRS over MAVLink — added RC_CHANNELS_RAW (msg 35) fallback for receivers that don't send RC_CHANNELS (msg 65) |
| #63 | MAVLink signing CRC bugfix — wrong CRC bytes after TypeScript number-to-byte conversion |
| #63 | Skip MSP fallback on UDP/TCP connections to prevent mavproxy crash |
| #64 | Fix first parameter concatenated to header comment when saving .param files |
| #49 | Fix readonly check in file compare and retry paths |
| — | Fix broken 3D view rendering |
| — | Fix macOS build ENOENT during code signing |
| — | Firmware download fix |
| — | Increase reboot timeout for slower flight controllers |
Hardware Support
- #61 — Added MicoAir boards to firmware board list
Documentation
17 new wiki pages added, covering: Getting Started, Configuration, Firmware Flash, Lua Editor, PID Tuning, Rates, Receiver, Serial Ports, Flight Modes, Battery, Safety/Failsafe, Tuning Presets, and Parameter Reference.
Website: ardudeck.com