✅ Stable Release
What's New
- PAGES (#15)
- GUI: ◀▶ navigation bar and Edit Pages modal: Add/Duplicate/Rename/Delete/Reorder
- Page control: inc/dec with configurable steps, jump-to-page
- Page controls assignable to any button, any mode
- Full incoming MIDI control
- Save is blocked if any page has invalid config: prevents live crashes
- First-Install over OEM via GUI (#156)
- Firmware Recovery/Bootloader via GUI (also #156)
- Add Sticky Long Color (
long_overlay) option (#158) - Line6 Helix Stadium Snapshot support (#151, #155, #163) thanks @JamesOsgood
Fixes
- Fix momentary buttons firing on startup (#159)
- Fix Reload button silently doing nothing
- Fix 'Reset config.json to bundled defaults' silently doing nothing
- Fix unreadable Expression Pedals text in dark mode
Engineering Upgrades & Tech Debt Payoff
- Add Playwright E2E for the home page + CI job, driving the real firmware in wasm
- enable auto-publish for RC tags
- AGENTS.md: harvest installer manifest-trust model and device-snapshot staleness from config-reset debugging
- Fix test suite failing whenever a real MIDICAPTAIN is mounted
- Add dev_mode RAM watch + single-file pages RAM probe (#15)
- document the Documents/MIDICaptainMAX folder the editor creates on first template use
- complete-zip asset name tracks the release
- docs: rewrite README install and config guide
NOTE on First Run of the Config Editor
The first time you use the page-template feature (Edit Pages… → Save as template… / Add from template…), the editor creates a folder in your Documents:
Documents/MIDICaptainMAX/templates: your saved page templates. The save dialog and the template picker both point here by default.Documents/MIDICaptainMAX/pages: reserved for saved pages.
Templates are plain JSON files, one page each — feel free to back them up, rename them in Finder/Explorer, or share them with other MIDI Captain users.
Changelog
Full Changelog: v1.12.1...v1.13.0
NEW WEB PAGE!!
This thing is so cool. It is literally running the actual MIDI Captain MAX CircuitPython code, live in your browser. You watch the actual MIDI messages being generated by each click in real time. Very limited in-browser functionality at the moment, no editing, but the possibilities are huge here - much more to come.
Installation
MIDI Captain MAX is fully signed and notarized for installation on Mac OS, and GPG Signed on Linux.
Windows installation still requires you to click "More info" on the warning pop-up and select "Run anyway".
First: Backup!
Before doing any of this, if you haven't already, please back up your existing config and firmware to a safe place for recovery or to revert to OEM firmware:
- Mount the device to your computer. You may have to hold down Button 1 / KEY0 to force it to mount.
- Copy all contents of the device to a safe place on your computer.
Download
Native Installers
Most people should do this.
The OS-native installers contain everything you need to install and use MIDI Captain MAX:
.dmgfor macOS.exeor.msifor Windows.AppImage(portable) or.deb(Debian/Ubuntu) for Linux.
The Config Editor includes the bundled firmware, so you don't need to download it separately.
Separate Bundles
The MIDI-Captain-MAX-v1.13.0-complete.zip contains the GUI and the firmware as separate packages.
For example, if you prefer the deploy script over the GUI, want to inspect the bundled firmware or configuration files, or are on an unsupported OS, this package includes everything you need. (The GUI still includes the bundled firmware; the zip is just for convenience if you want to use the deploy script instead of the GUI installer.)
Download your installer of choice from the Assets list below, and run it.
Install
The GUI Config Editor includes a Firmware Installation section at the bottom of the window. It shows the currently installed firmware version and the bundled version available to install.
Updating an Existing MIDI Captain MAX Install
- Connect your MIDI Captain via USB and power it on.
- The device may mount as
CIRCUITPYorMIDICAPTAIN. - If no drive appears, hold switch 1 / KEY0 while plugging in USB.
- The device may mount as
- Install and open the MIDI Captain MAX Config Editor.
- Scroll to the Firmware Installation section at the bottom of the app window.
- Click Install Firmware.
By default, the installer preserves your existing config.json. Enable Reset config.json to bundled defaults only if you want to overwrite your current settings with the default template.
The app will copy the firmware, reload the device, and update it in place.
First Run on OEM Firmware
If your MIDI Captain is still running the factory Paint Audio firmware, the Config Editor may show OEM (no VERSION.txt file).
What used to be a manual process is no longer required — the entire first install can be done from the Config Editor. The installer only needs to know your device type, and you tell it that by saving a config from the editor first:
- Hold Button 1 / KEY0 while plugging in USB to enter the OEM USB settings mode. A
MIDICAPTAINdrive should appear. - Open the Config Editor and select the device. Since there's no MAX
config.jsonon the drive yet, the editor starts a fresh default config. - Set Device Type to your model and click Save to Device.
- Scroll to the Firmware Installation section and click Install Firmware. For a first install, enable Reset config.json to bundled defaults so you start from the full default template for your device.
- If the button blocks with a CircuitPython version error, see the next section, then come back.
If the Config Editor shows a CircuitPython version error (2026-batch devices)
2026-batch devices shipped with CP 9.2.7. The Install Firmware button will block with a version error. Fix this first:
- In the Firmware Installation section, open Advanced / Recovery.
- Click Reflash CircuitPython 7.3.1. The editor sends a command over serial, reboots the device into its RP2040 bootloader, copies the bundled
.uf2, and waits forCIRCUITPYto remount — no physical button hold needed. - Once
CIRCUITPYremounts, continue with the first-install steps above (the device is already mounted; skip step 1).
If the editor can't reach the device over serial, see the manual bootloader entry guide (doc pending)
Deploy script (alternative)
Prefer the command line, or on an OS the GUI doesn't support? The deploy script still performs a full first install:
- Hold Button 1 / KEY0 while plugging in USB to enter the OEM USB settings mode. A
MIDICAPTAINdrive should appear. - Download and extract
MIDI-Captain-MAX-v1.13.0-complete.zipfrom the Assets section below. - Run the included deploy script once with your device type:
NOTE: only enter the desired device type, not the full list of options.
For example, if you have a Nano 4, run./deploy.sh --device nano4.- macOS / Linux:
./deploy.sh --device std10|mini6|nano4|duo2|one1 - Windows PowerShell:
.\deploy.ps1 -Device std10|mini6|nano4|duo2|one1 - Windows cmd (if PowerShell blocks unsigned scripts):
deploy.bat -Device std10|mini6|nano4|duo2|one1— invokesdeploy.ps1with a per-processExecutionPolicy Bypass; does not change any system policy.
- macOS / Linux:
- Reconnect the device and open the MIDI Captain MAX Config Editor.
- From then on, use the Firmware Installation section in the app for future updates.
Recovery
If anything goes wrong, it is fully recoverable:
- Mount the device.
- Erase the contents.
- Restore your backup, or re-run the first-install steps above.