Threadboard
Turn an M-VAVE FM-1 into a physical console for your T3 Code, Codex, or Claude Code threads.
- Custom firmware
- Beta
- Medium brick risk
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
Before you start
- How hard is it?
- HardUses the command line or developer tools.
- What you need
- A USB or MIDI cable
- Comfort with the command line
- A computer
- Can it break my device?
- Small chance of trouble, with a way to recover.
- Can I undo it?
- The project doesn't say. Assume you can't.
Did it work for you?
Did Threadboard work on your M-VAVE FM-1?
No reports yet.
One-tap reports from owners. Bricked reports are checked before they count.
Compatibility
Devices: M-VAVE FM-1.
No compatibility information yet.
Getting started
From the project's README ("Install on the FM-1"):
First follow Build and verify below to produce output/threadboard.fwsc. It replaces the synthesizer firmware with the thread console. This version has been installed on an FM-1 running original M-VAVE V15 firmware; its MIDI command path and audible chime have been checked on that unit.
Prepare the installer environment:
python3 -m venv .cache/installer .cache/installer/bin/pip install -r scripts/installer-requirements.txt
Connect the FM-1 to the Mac with a USB data cable. Export any sounds/settings you want to keep using the editor for its current firmware.
Stop Threadboard and other applications using the FM-1's MIDI port.
Identify the device without writing anything:
.cache/installer/bin/python scripts/install-firmware.py
Once its existing firmware is identified and backed up, start the interactive installer:
.cache/installer/bin/python scripts/install-firmware.py --flash
It asks before writing and verifies the installed identity afterward. Keep power and USB connected. If it identifies M-VAVE's FM1 Open firmware, its upstream installer requires returning to the original firmware first. Do not force that check.
Start npm start. macOS names the MIDI endpoint Felucca; the USB device is Threadboard FM-1. The device receives the saved thread assignments automatically.
The bootstrap downloads the original M-VAVE V15 recovery package locally as output/stock-FM-1015.fwsc, fetched from M-VAVE's official source repository. …
Risk and recovery
- Brick risk
- Medium
- Requires opening the device
- No
From the project's README ("Install on the FM-1"):
First follow Build and verify below to produce output/threadboard.fwsc. It replaces the synthesizer firmware with the thread console. This version has been installed on an FM-1 running original M-VAVE V15 firmware; its MIDI command path and audible chime have been checked on that unit.
Prepare the installer environment:
python3 -m venv .cache/installer .cache/installer/bin/pip install -r scripts/installer-requirements.txt
Connect the FM-1 to the Mac with a USB data cable. Export any sounds/settings you want to keep using the editor for its current firmware.
Stop Threadboard and other applications using the FM-1's MIDI port.
Identify the device without writing anything:
.cache/installer/bin/python scripts/install-firmware.py
Once its existing firmware is identified and backed up, start the interactive installer:
.cache/installer/bin/python scripts/install-firmware.py --flash
It asks before writing and verifies the installed identity afterward. Keep power and USB connected. If it identifies M-VAVE's FM1 Open firmware, its upstream installer requires returning to the original firmware first. Do not force that check.
Start npm start. macOS names the MIDI endpoint Felucca; the USB device is Threadboard FM-1. The device receives the saved thread assignments automatically.
The bootstrap downloads the original M-VAVE V15 recovery package locally as output/stock-FM-1015.fwsc, fetched from M-VAVE's official source repository. …
Credits, license and support
- License
- MIT