Skip to content

ArduDeck v0.0.29-alpha

Choose a tag to compare

@rubenCodeforges rubenCodeforges released this 11 Mar 07:16
· 302 commits to master since this release

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_SIGNING command
  • 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: True from 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


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