Releases: rubenCodeforges/ardudeck
Ardudeck - Alpha 28
Release Notes
Over 30 bug fixes and a bunch of new features landed in this release. The kind of update where you look at the changelog and think "how was i even using this before". Lets go through the highlights.
Mission Planning
Flight Modes
Messages Panel
Flight Control
Redesigned Dashboard
Parameter List
Parameter History
MAVLink Signing
Baudrate Support
Parameter File Diff
Bug Fixes
- #30 Fix 230k baud USB connection failing after parameter download
- #27 Fix firmware flashing failure - cannot force board into bootloader mode and duplicate firmware entries
- #22 Fix vehicle profile flight time and range calculations breaking with high input values
- #21 Fix mission data lost on vehicle disconnect
- #20 Fix map zoom continuously resetting to fit when vehicle is connected
- #19 Fix mission editor command grouping and support all MAVLink command types
- #40 Fix AppImage SUID sandbox crash on Ubuntu 24.04+ (Kubuntu)
- #36 Fix SERIAL1_PROTOCOL RCIN (23) showing as "Megasquirt" in Serial Ports
- #12 Fix RC channel display order for non-standard RCMAP/rxMap configurations
- #12 Fix ArduPlane 4.5+ PID display (RLL_RATE_* param detection, modern/legacy auto-switch)
- #12 Fix MAVLink RC channel names using RCMAP_* parameters instead of hardcoded AETR
- #44 Fix vehicle type mismatch popup appearing repeatedly on screen changes
- Fix MAVLink reconnection refactored as reusable pipeline with auto-signing key load
- Fix params falsely showing as modified after full parameter download
- Fix sidebar not expanding on disconnect
- Fix legacy MAVLink boards support (PID, rates)
New Features
- #23 Bitmask editor - checkbox popover for bitmask parameters with select all/none
- #18 ARM/DISARM button in header with force-arm and RC_CHANNELS_OVERRIDE
- #33 Parameter favourites - star toggle and filter button for bookmarking frequently used params
- #13 MAVLink signing support
- #45 Messages panel - FC status messages with STATUSTEXT parsing and severity levels
- #29 Support all ArduPlane mission command types with proper parameters
- #17 Reboot button on settings-related pages
- #25 Reboot-required banner after writing params that need reboot
- Parameter history - automatic checkpointing on write-to-flash with restore/delete
- Board UID extraction from AUTOPILOT_VERSION for per-board param history
- ArduPilot flight statistics from FC (STAT_FLTTIME, STAT_RUNTIME, STAT_BOOTCNT)
- Cross-firmware flashing support - flash from iNav to ArduPilot and back
Enhancements
- #24 Parameter file loading redesigned - compare modal on file load instead of blind apply
- #39 Split Save button with "Save Changed Only" option
- #34 Battery chemistry support (LiPo, LiHV, Li-Ion, LiFePO4) with per-chemistry thresholds, 7S-12S cell count, and larger
capacity presets - #28 USB COM port descriptor now matches Device Manager naming
- #26 Fix board detection showing wrong variants and missing targets in firmware flash
- #14 Add INITIAL_MODE parameter to Flight Modes group
- #46 Default flight modes to advanced mode showing all mode slots
- #41 Unit conversion options (mm to m, mAh to Ah) for larger vehicles
- Telemetry stream rate control (Eco/Normal/Max) via MAV_CMD_SET_MESSAGE_INTERVAL
- GCS heartbeat broadcast for ArduPilot compatibility
- Multi-level flight estimate table (60%/80%/95% battery usage)
- Weather widget contextual wind/gust warnings
- Board detection for FCs with dedicated USB board
- MavlinkFTP added for faster params loading
Performance
- Zustand selector optimization across all telemetry panels and dashboard
- Isolate MspConfigView sensors tab to prevent telemetry re-render cascade
- Throttle SensorsTab lastUpdate to 1Hz, remove CSS transition on attitude indicator
RC-4 Alpha 28
#24 #25 Fix parameter file loading with compare function and save improvements
- Fix RCIN_TYPE (non-existent) to RC_PROTOCOLS bitmask parameter
- Replace blind param apply with compare modal on file load
- Add split Save button with Save Changed Only option
- Exclude read-only params and sort alphabetically on save
RC-3 Alpha 28
- #45 - Feature request - mavlink messages panel
- #14 - Add INITIAL_MODE parameter to Flight Modes group
- #33 - Add favourites/bookmarks list for parameters
- #25 - Add reboot-required parameter detection and auto-reboot cycle
- #46 - Add INITIAL_MODE to Flight Modes under Vehicle Configuration
- #27 - Firmware flashing
RC-2 Alpha 28
New Features
- Parameter History — Automatic checkpointing when writing to flash, with per-board history, restore, and delete. Board identified by hardware UID from AUTOPILOT_VERSION.
- Telemetry Stream Rate Control — Eco / Normal / Max rate selector in telemetry dashboard. Controls MAVLink SET_MESSAGE_INTERVAL for attitude, position, and auxiliary streams.
- Battery Chemistry Support — LiPo, LiHV, Li-Ion, and LiFePO4 with per-chemistry voltage thresholds, cell counts up to 12S, and larger capacity presets up to 16000mAh (#34)
- ArduPilot Flight Statistics — Reads STAT_FLTTIME, STAT_RUNTIME, STAT_BOOTCNT from FC. Replaces local-only flight stats with real on-board data.
- Multi-Level Flight Estimates — Flight time and range table at 60% (safe), 80% (normal), and 95% (max) battery usage levels
- GCS Heartbeat — Broadcasts GCS heartbeat so ArduPilot recognizes ArduDeck as a valid ground station
- Weather Wind Warnings — Contextual warnings for wind speed, gusts, thunderstorms, rain, and low visibility
Bug Fixes
- #12 Fix ArduPlane 4.5+ PID parameter detection — auto-detect RLL_RATE_* (modern) vs RLL2SRV_* (legacy) with correct scales and feedforward support
- #12 Fix MAVLink RC channel names — reads RCMAP_ROLL/PITCH/THROTTLE/YAW parameters instead of assuming hardcoded AETR order
- #12 Fix MAVLink mission message CRC_EXTRA values to match spec (v1 without extension fields)
- #36 Fix serial protocol labels — protocol 23 correctly shows "RCIN", protocol 24 renamed to "MegaSquirt EFI"
- #46 Flight modes default to advanced mode showing all 6 mode slots
- Fix parameters falsely showing as modified after full parameter download
- Fix parameter store tracking user-initiated vs FC-initiated PARAM_VALUE updates
- Fix MAVLink reconnection reliability — refactored as reusable pipeline with auto signing key load
Performance
- Zustand selector optimization across all telemetry panels, dashboard, navigation rail, sensors tab, and calibration view — eliminates unnecessary re-renders from unrelated store slices
- Isolate MSP sensors tab telemetry subscriptions to prevent re-render cascade into MspConfigView
- Throttle SensorsTab update timestamp to 1Hz
- Remove CSS transition on attitude indicator for smoother rendering
RC-1 Alpha 28
New Features
- MAVLink Signing — MAVLink v2 message signing for secure communication (#13)
- Reboot Button — Reboot button on settings-related pages (#17)
- Mission Library — Save and load missions locally
- Bitmask Parameter Editor — Visual bitmask toggle editor for bitmask parameters (#23)
- ArduPlane Rate Support — Rate tuning now supports ArduPlane via MAVLink config (#23)
- Full MAVLink Command Support — Mission editor supports all MAVLink commands with proper grouping and color coding (#19)
- Parameter File Compare — Load parameter files with side-by-side compare, selective transfer (#24)
- Offline Mission Planning — Plan missions without connecting to a flight controller (#9)
Bug Fixes
- Fix firmware flashing failure — could not force board into bootloader mode; removed duplicate firmware entries (#27)
- Fix board detection showing wrong variants and missing targets (#26)
- Fix USB COM port descriptor to match Device Manager naming (#28)
- Fix map zoom continuously resetting to fit when vehicle is connected (#20)
- Fix mission data lost on vehicle disconnect (#21)
- Fix display differences between ArduDeck and Mission Planner — flight modes, serial ports (#12)
- Fix legacy MAVLink boards support for PID, rates, etc.
- Fix AppImage SUID sandbox crash on Ubuntu 24.04+ (#40)
v0.0.27-alpha-fix-linux
Fix AppImage sandbox crash on Ubuntu 24.04+ (#40)
Alpha 27
Offline Mission Planning
You can now plan missions without connecting to a flight controller first. Open the map, drop waypoints, set up geofences and rally points — all before plugging anything in. When you do connect, your planned
mission stays intact and the Upload button lights up so you can push it to the board. No more staring at a "Connect First" screen when you just want to prep a flight plan at home.
Higher Baud Rates
Added 230400, 460800, 921600, and 1,500,000 baud options to the connection panel. This matters most for future MavFTP log downloads and bulk parameter transfers where the old 115200 cap was a real bottleneck. If
your hardware supports it, use it.
Collapsible Sidebar Everywhere
The connection sidebar can now be collapsed even when you're not connected. Previously it was locked open and ate up screen space whenever you were disconnected. Now you can tuck it away while working on mission
planning or browsing other offline views.
macOS Intel Builds
CI now produces native x64 builds for Intel Macs alongside the existing ARM builds, so older Macs get a proper native binary instead of running through Rosetta.
Alpha 26
New Features
Receiver Configuration Tab
Full receiver setup is now available directly in the MSP Config view for both iNav and Betaflight boards:
- Receiver type selection (iNav: None/Serial/MSP/SITL)
- Serial RX protocol picker with quick-select presets (SBUS, CRSF, IBUS, etc.)
- Channel mapping (RX Map) with visual drag-and-drop reorder
- RC deadband configuration (stick deadband, yaw deadband, throttle deadband, alt hold deadband)
- Inline receiver wizard embedded in Quick Setup transmitter check step - when no RC signal is detected, users can troubleshoot and fix receiver config without leaving the wizard
- Changes integrate with the global "Save All Changes" button and EEPROM write
Serial Ports Configuration Tab
New Ports tab for configuring UART function assignments:
- Visual per-port function toggles (MSP, GPS, Serial RX, Telemetry protocols, Blackbox, etc.)
- Baud rate selection for MSP, sensors, telemetry, and peripherals
- Board-aware UART labels (MATEKF405SE, OMNIBUSF4, etc.)
- Read-modify-write via MSP2_COMMON_CF_SERIAL_CONFIG
MAVLink RC Channels Telemetry
- MAVLink RC_CHANNELS (msg 65) parsing added to telemetry pipeline
- New
RcChannelsDatatype in telemetry store for up to 18 channels with RSSI - Receiver tab on MAVLink config view updated to use live telemetry
Bug Fixes
MSP Mode Save (Critical)
Modes appeared to save successfully but were empty after reconnect. Two root causes:
- Wrong payload size for iNav -
serializeModeRange()was sending 7 bytes (including Betaflight-onlymodeLogic/linkedTofields), but iNav expects exactly 5 bytes. The extra bytes caused a silent failure - FC acknowledged the command but never persisted the data. Now correctly sends 5 bytes for iNav, 7 bytes for Betaflight.
- BOXNAMES response too large for MSPv1 - MSP_BOXNAMES returns ~308 bytes for 28+ modes, exceeding the v1 255-byte limit and causing checksum failures. Replaced with BOXIDS + static flight mode lookup table
(ported from iNav Configurator'sflightModes.js). Betaflight still uses BOXNAMES (shorter response).
RC Channel Order Fix
- MSP_RC returns raw receiver channels in physical order (not standardized). Added
reorderChannels()utility using the rxMap from MSP_RX_MAP to display channels in correct logical order
(Roll/Pitch/Yaw/Throttle/AUX). - Fixed TransmitterVisualizer channel order (Yaw and Throttle were swapped).
- BetaflightDashboard now shows properly labeled and reordered RC channels.
Transmitter Detection Baseline
- Channel movement detection now uses a captured baseline from the first reading instead of comparing against fixed 1500. This prevents false positives from FC failsafe/default values when the transmitter is off.
- Detection threshold reduced from 100 to 50 for better sensitivity.
- Detection expanded from 8 to 16 channels.
MSP Mutex Race Condition
- Fixed
acquireMutex()using capture-then-wait pattern: the new mutex promise is set BEFORE awaiting the old one, preventing concurrent callers from seeing the same resolved promise and bypassing the queue.
Modes Wizard Fetch Reliability
- Sequential fetch with retry for mode ranges, box names, and box IDs instead of parallel
Promise.all(MSP mutex serializes them anyway). Automatic retry after 1s if any fail - gives the FC settling time after
connection. - Preset selection is preserved if
loadFromFCcompletes asynchronously after user picks a preset.
Protocol Improvements
MSP v1 Jumbo Frame Support
- Added jumbo frame parsing to the MSP v1 state machine. When the length byte is 255, the parser reads 2 additional bytes as 16bit LE actual payload length.
- Checksum calculation correctly includes the jumbo length bytes per iNav's wire format.
- Future-proofs against any other MSP response that exceeds 255 bytes.
iNav Flight Modes Static Lookup
- New
packages/msp-ts/src/modes/flight-modes.tswith all 60 iNav flight mode entries (permanentId to boxName mapping) boxNamesFromBoxIds()resolves BOXIDS responses to human-readable names without requiring MSP_BOXNAMES
New MSP Message Types
MSP_CF_SERIAL_CONFIG/MSP2_COMMON_CF_SERIAL_CONFIG- serial port configuration read/writeMSP_RX_MAP/MSP_SET_RX_MAP- channel mapping read/writeMSP_RC_DEADBAND/MSP_SET_RC_DEADBAND- deadband configuration read/write- Extended
MSP_RX_CONFIGto parse iNavreceiver_typeat byte 23
UI/UX Improvements
- AUX channel count expanded from 4 to 12 in modes tab and switch names
- Removed stale RX/TX packet counter from AppShell toolbar
- MSP packet counters now tracked in context for accurate toolbar display
- Receiver type selection moved from SafetyTab to dedicated ReceiverTab
setRawRclog throttling reduced from every 50 to every 500 calls- Quick Setup transmitter check step now includes inline receiver troubleshooter with protocol hints

Alpha 25
Fixes SITL on Windows and a runaway reconnection.
Alpha 24
Fixes battery drainage.
Fixes firmware flasher.
Fixes Calibration flag not reset on iNav.
Cosmetic updates.









