fm1-dock
The synths are modules in flash: hold HOME, pick another one, play.
- Custom firmware
- Stable
- Medium brick risk
- Reversible
This project hasn't been claimed by its maintainer yet, so its details come from the community. Is it yours? Claim it
One firmware for the M-VAVE FM-1, many synths. fm1-dock: CS-1 (twochannels), Scintilla (Joakim Eriksson: the Elka Synthex, the laser harp among its 80 patches), OberVave (zvenson: a 4-track analog poly with arpeggiator, sequencer and effects) and the built-in sine. Hold HOME to pick one.
Install (over USB; asks before it writes):
pip3 install mido python-rtmidi
python3 tools/fm1_install.py fm1-dock-0.6.fwsc
Back to any other firmware with the FM-1 Firmware Hub. Installing over 0.4 keeps your deployed modules, settings and presets. Installing firmware is at your own risk; OCT− held at power-on is the USB rescue.
New since 0.4:
- BLE-MIDI (off by default): the picker's last line, BLUETOOTH, turns it on with SEL. A computer, phone or controller connects to
FM1-DOCK xxxxwithout pairing, and notes go both ways. OCT+ at power-on is a safe start: the sine only, the radio not started. - A file from the computer into the module playing, never written to flash:
tools/dock.py send FILE. FM-1 SID uses it to play any.sidsent over USB at once, from its page ("Play on my FM-1"). Modules opt in withHB_F_DATAanddata(); existing modules load as before. - Safer: a release takes no boot firmware, the keys at power-on are read for 500 ms, and OCT− is read again while fm1-dock starts (the USB rescue).
- Solo apps:
tools/build.py --modules PATH --name ...builds a firmware of one module of your own on fm1-dock, keeping its USB, installer and rescue. FM-1 SID's own firmware is built this way. - The fm1-dock name everywhere:
tools/dock.py,.dockmodule files (.hrbrstill works), FM1-DOCK on the crash and rescue screens. The protocol and module format are unchanged: modules from 0.4 keep working. - USB keeps four command frames waiting instead of one. EXEC probes work again.
Files:
fm1-dock-0.6.fwsc: the package (610 110 B, identity FM-1_956)fm1-dock-0.6.syms: its symbols, for the console to name the function of a crash PC
Try it in the browser first: https://joakimeriksson.github.io/fm1-dock/#emulator
Built from e177e83 with tools/build.py --release 0.6. GPL-3.0-only.
Before you start
- How hard is it?
- EasyCopy a file or use a web page. No extra software.
- 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?
- Yes. You can go back to the official software.
Did it work for you?
Did fm1-dock v0.6 work on your M-VAVE FM-1?
No reports yet for v0.6.
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"):
From the page: Install on my FM-1, over USB in Chrome or Edge (FM-1 SID and Scintilla too, all three on one page), then Add FM-1 SID to my fm1-dock puts FM-1 SID next to the other synths. Or download fm1-dock-X.Y.fwsc from the latest release and install it over USB:
pip3 install mido python-rtmidi python3 tools/fm1install.py fm1-dock-0.6.fwsc # asks before it writes, restarts into fm1-dock
M-Vave SMK-37 (Pro, Elite, MKE-P37, Starrykey 37 Play): see SMK-37 instructions.
Back to any other firmware, or to the official one, with the FM-1 Firmware Hub in Chrome or Edge: fm1-dock answers the hub's updater like every firmware there. Installing a new fm1-dock keeps your deployed modules, settings and presets. Installing firmware is at your own risk.
Risk and recovery
- Brick risk
- Medium
- Reversible
- Yes
- Requires opening the device
- No
From the project's README ("Install"):
From the page: Install on my FM-1, over USB in Chrome or Edge (FM-1 SID and Scintilla too, all three on one page), then Add FM-1 SID to my fm1-dock puts FM-1 SID next to the other synths. Or download fm1-dock-X.Y.fwsc from the latest release and install it over USB:
pip3 install mido python-rtmidi python3 tools/fm1install.py fm1-dock-0.6.fwsc # asks before it writes, restarts into fm1-dock
M-Vave SMK-37 (Pro, Elite, MKE-P37, Starrykey 37 Play): see SMK-37 instructions.
Back to any other firmware, or to the official one, with the FM-1 Firmware Hub in Chrome or Edge: fm1-dock answers the hub's updater like every firmware there. Installing a new fm1-dock keeps your deployed modules, settings and presets. Installing firmware is at your own risk.
Releases
| Version | Name | Released |
|---|---|---|
| v0.6 | fm1-dock 0.6Latest | 25 October 2026 |
| v0.4 | fm1-dock 0.4 | 25 October 2026 |
Credits, license and support
- License
- GPL-3.0