Releases: rubenCodeforges/ardudeck
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.
Alpha 23
-
Fixes a issue with cli mode and navigation , could cause the board to hang in cli mode for it never to be able to reconnect and powercylce would only solve it.
-
Fixes modes wizard kicking user out on save.
Env Path Error Fixed
v0.0.22-alpha Fixes env path
Sitl Inav Fix
The sitl inav had wrong pathing, this is fixed now.
Sitl is used to simulate a FC (iNav supported).