v1.12.0
✅ Stable Release
What's New
MIDI Features
- Add MIDI Thru routing matrix (4 independent USB/DIN routes) #126
- Add mode: "keytimes" — press-timing-based button dispatch (#48) (#130)
- This also enables Multiple Messages Per Press!!
- Add SysEx message MIDI-Thru forwarding
- Note: SysEx forwarding is limited to messages less than 64 bytes. This should work fine for commands, but longer strings and sysdumps etc will have undefined behavior.
Robustness Features
OS Compatibility
- Add Linux Config Editor build with GPG signing (#26)
I prioritized these enhancements due to Paint Audio shipping new Captains with incompatible OS firmware:
- Add on-device SyntaxError recovery: SOS blink + NVM-gated compile check: best-effort visual feedback that bootup failed
- Bundle CP 7.3.1 .uf2 + Reflash CircuitPython GUI flow (#134) (#135): Reflash CP 7 via the GUI!
- Surface ReflashCircuitPython in the no-device empty state (#134 follow-up) (#136)
Windows Installer
- Add deploy.bat launcher + fix pip resolution in deploy.ps1 (#140)
- Remove circup from deploy scripts; libs are bundled in the firmware zip (#140)
Full Changelog
Installation
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.
Install
Once MIDI Captain MAX is installed, manual firmware updates are no longer needed. The GUI Config Editor now 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.
You can download either:
- The appropriate Config Editor installer for your OS:
.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, or - The
MIDI-Captain-MAX-v1.12.0-complete.zippackage if you want the GUI and the firmware as separate packages.
For example, if you need to use the deploy script for the first install, or for 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.)
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).
The first install requires a one-time deploy script run to write a config.json with your device type — the GUI installer cannot detect device type without it.
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 to the deploy script steps below (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 — required for all OEM first installs
In many cases, the first install still requires a one-time bootstrap because the OEM firmware does not provide a MIDI Captain MAX config.json for device-type detection.
- 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.12.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.