Skip to the content.

BEETLE 1.01 RC1.01 · Project Transfer V2 TRUE DELETE

Project Manager V1.1 / RC1.01 Simulator update (web-only)

BEETLE 1.01 RC1 — Independent drum columns, audio STOP, and simulator menu spacing

BEETLE 1.0 RC1 — Live Mixer isolation, independent quantizers, NOTE2 STOP

V0.88 — Song Mode Live Mixer gate & CH6 NOTE2 entry

V0.87 — Punch-In ergonomics, Live SOLO, waveform presets

V0.86 — Live Mixer, New Mix Defaults, 120% Faders

V0.85 — Tracker Keyboard Input, Step Octave & LED Feedback

BEETLE V0.84 — MASTER Controls, Ring Mod & Project UX

V0.83 — OCT Punch-In & Copy-on-Write Instrument Focus

V0.82 — BPM-Synced Stutter, Reverse Speed, DMG Timbre, SEL Input Interlock

V0.81 — Boot chooser, first-free project slots, EDIT preview, SAVE return, USB Audio Class

V0.80 — Game Boy DMG-style RETRO PULSE and Drum Component Preview

V0.79 — Project I/O SEL safety / Tracker-only delete

V0.78 documentation / on-device credits correction

V0.78 — NES pulse / triangle / noise and on-device CREDITS

BEETLE Changelog

V0.77 — Firmware Freedom (installer opt-in, RC qualification)

BEETLE V0.76 — Offline dump inspection and guarded project salvage (pre-RC)

2026-10-15. Full V0.75 source retained. No changes to project codec V16, firmware flash layout, DSP, normal strict A/B LOAD/SAVE policy or protected OTA bootloader.


BEETLE V0.75 — Final RC Hardening (pre-RC)

2026-10-15. Based on complete V0.74. No features removed; V16 project serialization and the 12-slot physical flash layout remain unchanged.

  1. track_journal.c: verify the nested 24-byte TRK1 project header, version, slot, length, header CRC and payload CRC while scanning the journal bank. Prevent a CRC-consistent but internally invalid newer record from being selected as the committed source during the next save.
  2. test_v075_atomic_recovery.c: 219 injected read/erase/program failures, including partial NOR operations on a dense multichannel project. Assert latest known-good bank never changes. Under torn foreign headers, saving and potentially loading remain fail-closed, not automatically recovered.
  3. test_v075_audio_endurance.c: render 60 seconds at 44.1 kHz with active SID-flavored voices, drum triggers, MASTER and Punch-In. Host DSP integrity checks pass; no hardware cycle measurements implied.
  4. Rebuild all 3 target variants; package an audited experimental firmware FM-1_2075. Keep reference loader and first 16KiB identical. Installer predecessor allowlist now includes the released V0.73 and V0.74 IDs.
  5. Existing V0.74/V0.73 regression suites and simulated OTA checks pass.

Remaining blockers: validated independent ROM/recovery path, verified full flash backup and restore, real power-loss behavior, FM1 timing/30+ minute hardware audio test, MIDI clock and physical flash ownership. NOT RC1.


BEETLE V0.74 — Stability & Recovery (pre-RC)

2026-10-15. Complete V0.73 source retained. No musical features removed; project schema V16, 12 slots, 48 patterns and protected loader unchanged.

Safety: this is not hardware RC1. Physical flash ownership, erase behaviour, boot reliability, rescue capability, MIDI and audio margins are unverified. The experimental storage variant may overwrite older ETCH/Felucca data if user deliberately provisions it. Do not flash a valuable device without an independently tested recovery route and verified full-flash backup.


BEETLE V0.73 — Hardware Diagnostics & Performance (pre-RC)

2026-10-15. All existing six-lane tracker features and V16 project compatibility preserved.

Native FM1, read-only diagnostics

Software validation

Release gate: NOT RC1. Flash partition ownership, full-flash backup and independent rescue, real audio-DMA margin, USB MIDI timing, analogue performance, OTA update, stock restoration and power-interruption recovery all remain unverified on the physical FM1. The .fwsc storage build is not recommended for installation on a valuable device.


BEETLE Changelog

V0.72 — RC Hardening: MASTER FX Guardrails & Native Audio Stress (15 October 2026)

V0.71 — Backup Integrity & A/B Recovery Qualification (15 October 2026)

V0.70 — Unified Extended Undo/Redo (15 October 2026)

V0.69 — Instrument Library (project-local patches)

V0.68 — Mute Groups (Live Performance)

V0.67 — Performance Snapshots: Four Live Mute Scenes (2026-10-15)

Safety: the physical storage-enabled firmware is still an experimental build. Do not format or flash without an independent verified backup and recovery route; an app build and simulated OTA test are not proof of safe recovery.

V0.66 — Mixer Quantized Mutes ON/OFF (2026-10-15)

Safety: experimental FM1 update/storage can brick the device or erase user data. Flash only with independent verified backup/recovery. Firmware/software tests do not establish on-device safety.

V0.65 — Live Performance: Quantized Lane Mutes (2026-10-15)

Safety: all OTA and persistent flash writes remain experimental; a complete flash backup and independent recovery route are still required for device testing.

V0.64 — Groove Copy/Paste, Lane Fill & Clear (2026-10-15)

V0.63 — Sequencer 2.0: microtiming, ratchets, probability + drum NOTE2 PRESET (2026-10-15)

Safety: firmware and persistent flash remain experimental; dense projects may exceed the safe A/B journal size. No physical device recovery is proven. Flash only with a verified backup and independent recovery capability.

V0.62 — Pattern-length-aware cursor navigation (2026-10-14)

V0.61 — HELP K1-only + SEQ/K4 pattern-length correction (2026-10-14)

Release notes for documented BEETLE firmware versions, newest first.

For current features, controls, safety information, and licence credits, see README.md.

V0.60 — Sequencer 2.0 & Project LOAD Input Safety (14 October 2026)

V0.59 — Per-step Velocity & Gate / Dynamics (14 October 2026)

V0.58 — Moon loading screen, original Beetle animation retained (14 October 2026)

V0.57 — BEETLE Block Editor UI & HELP clarification (14 October 2026)

V0.56 — Professional Pattern Editing (14 October 2026)

Added

Technical and safety notes

V0.55 — WebSimulator layout and ARP shortcut parity

Based on V0.54; UI and web workflow repair, without changes to the native synthesizer, DSP, project formats, or protected loader.

Fixed

Release and safety

V0.54 — On-device HELP and circular MASTER FX controls

Built on V0.53. No project serialization or audio-DSP algorithms were changed.

Added

Fixed

Validation and cautions

V0.53 — Distinct SID 6581 and 8580 sound characters

Built on V0.52. This release corrects the near-identical sound of the two SID chip-inspired instrument types without changing the existing six-lane tracker workflow or project format.

Changes

Testing and limitations

V0.52 — SID instrument flavors + MASTER FX stability / UI

This source project is built from V0.51, preserving the six-lane tracker, project workflow, keyboard octave, audio, boot animation and web simulator.

Changes

V0.51 — Responsive keyboard + WebSimulator

Complete source for the M-VAVE FM1 experiment, based on V0.50.

V0.49 — Fast Project Workflow

Based on the complete V0.48 source. All previous audio, tracker, animated boot, cursor and six-lane indicator functionality remains included.

Changes

  1. LOAD → unsaved confirmation → DISCARD → full project picker. DISCARD creates a clean session and opens the 12-slot browser. It never loads the currently highlighted slot implicitly. Selecting a slot in the browser then loads it with full project CRC validation.
  2. Faster project browser. Only the two 32-byte A/B bank headers and at most 36 bytes from each selected bank are read for a provisional title preview (up to 136 bytes per slot, rather than scanning ~24 KiB plus complete decode). One selected slot and one other are processed per poll. Full reads/CRC/ownership checks are still used for actual LOAD and SAVE. No flash writes are allowed from a preview.
  3. SAVE and SAVE AS respond visibly before flash operations with a reading/writing status screen. Flash operations are synchronous for integrity; interruptions/power-off during a write are still unsafe.
  4. Successful save returns directly to the tracker with an approximately 1.3-second PROJECT SAVED confirmation, without needing SEQ. Errors still show an explicit failure page. First-time storage provisioning retains the five-second hardware confirmation and returns to tracker only if the save succeeds.
  5. Saving the currently opened project skips the redundant overwrite dialog and unnecessary full project decode for checking slot occupancy. SAVE AS to another occupied slot still requires confirmation; the full journal safety checks remain unchanged.
  6. Browser scans now reuse the boot-time flash ownership audit instead of reading the marker sector repeatedly.

Tests and limitations

GPL-3.0-only; existing licenses retained.

V0.45 — Isolated Overwrite, Persistent Step FX & Stable Loop Loudness

This version fixes three concrete regressions in BEETLE V0.44:

  1. SAVE / OVERWRITE is slot-local. The UI now states “ONLY THIS SLOT CHANGES”. A journal commit addresses only the selected slot and its two A/B banks; the other eleven slots are untouched. On an already-provisioned volume, a failure to recognize flash ownership causes a non-destructive error, never a prompt to format everything. A genuinely blank, first-use volume can still be initialized separately with an explicit five-second SELECT+SAVE confirmation; that initial format erases all twelve slots and may destroy pre-existing ETCH/Felucca data. There is no automatic erase at boot.
  2. Synth step effects sustain over empty steps until [STP], a new note, or another step effect on the same lane. The latter replaces the current effect on an already sounding voice. An effect-only PITCH row retunes active oscillator(s) without retriggering ADSR. Each lane has an independent effect-age counter that does not restart at every step boundary. Stop and project load clear stale automation.
  3. Loop loudness no longer falls because the voice-pool high-water count increases. Headroom normalization uses currently sounding unreleased synth voices, not previously allocated voice slots. The regression renders fourteen consecutive note retriggers and asserts a stable late-window energy.

The existing V8 project serialization is unchanged. V0.37/V0.40 migration fixtures remain in the regression suite. The V0.44 ROM digital drum kit and stock-V15 installer identification remain included and unchanged.

Software validation only. The three JieLi builds and host/OTA integrity checks pass, but the FM1 hardware, physical flash map, and real stock-flashing/restore path have not been proven safe. The storage-enabled build can erase data when the user deliberately provisions the volume. Make a complete verified backup and establish independent recovery before hardware flashing.

Run bash tests/track/run_v045.sh from source/ and node tests/ota/test_stock_install_v045.cjs for the new tests.

V0.44 — A sample-ROM digital drum kit (14 instruments / 16 one-shots)

V0.44 replaces the former short sine/noise-based drum sounds with 16 fixed original, offline-synthesized drum one-shots (14 distinct instrument pads, plus one alternate snare and one alternate closed hi-hat for round robin). These are digitally generated sources, not acoustic drum recordings; they aim for a punchy early-digital-drum-machine sound rather than acoustic realism. The source generator is tools/create_v044_kit.py. No commercial or external sample packs are incorporated. The native voice engine performs 22,050 Hz µ-law-ROM decoding, 44,100 Hz linear interpolation, live pitch conversion, three editable tone bands, gain, envelope and hi-hat choke. There are six software drumvoices; the ROM is not copied to RAM or saved into projects.

Before installing, listen to audio/BEETLE-V0.44-Factory-Kit-Groove.wav and the 14 individual WAVs. Both are rendered by the compiled BEETLE C audio engine on a desktop, not recorded from physical FM1 hardware. This does not prove sound quality or absence of real-time glitches on the device.

New projects start with the existing per-instrument digital-kit control values. Older V6, V7 and V8 projects can still load; stored EQ, pitch, gain and envelopes are not erased by the new audio engine. A custom project may need the DRUM EDIT factory-reset command to get the intended default mix. The on-disk project format remains V8. ROM data sits in existing firmware space and does not change the BEETLE storage partition or protected bootloader.

Host test: bash tests/track/run_v044.sh. Generate the same sample ROM and preview references: python tools/create_v044_kit.py (requires NumPy/SciPy). Render through the native C engine: cc -std=c11 -O2 -Ifirmware/fm1-native tests/track/preview_beetle_v044.c firmware/fm1-native/{track_drum,beetle_drum_rom,track_mixer}.c -o /tmp/beetle-preview && mkdir -p /tmp/beetle-wavs && /tmp/beetle-preview /tmp/beetle-wavs.

Legal/credits: The PCM one-shots are newly generated by the included Python script. They do not use third-party audio recordings; the existing core project still derives from ETCH and upstream GPL-3.0 Felucca code, as documented in the README credits. The toolchain remains the separately provided JieLi toolchain.

Safety: hardware validation, stable OTA flashing, ROM recovery, and physical project-storage partition ownership are not proven. Existing installation remains an experimental operation with risk of data loss or bricking.

V0.42 — Boot graphic and OTA restore safeguards

Safety and limitations

This is a source-level and host-tested correction, not a verified real-device recovery feature. A matching SHA-256 only authenticates the supplied stock flash.bin image. The stock OTA loader is checked via known length, entry structure and CRC16 rather than a separately available SHA-256 reference; CRC16 is not a cryptographic signature. Verify the factory distribution and a full flash recovery path independently before using the restore option.

The protected loader and first 16 KiB from the ETCH V1.37 baseline are intentionally retained bit-for-bit in the V0.42 BEETLE firmware container. Once control passes from BEETLE to that loader, it can still display its own inherited branding. The app-level Matrix screen cannot replace its LCD implementation. Bootloader replacement requires a distinct high-risk recovery-validated project.

On an FM1 running BEETLE V0.41 or another older firmware, the old CHECK restrictions remain active until V0.42 itself is successfully installed. An updated web page alone cannot fix the installed V0.41 firmware’s checks.