Awesome M-VAVE FM-1 
A curated list of resources, tools, custom firmware and open source work around the M-VAVE (Cuvave) FM-1 pocket FM synthesizer.
The FM-1 is a battery-powered, six-operator FM synthesizer with 32 algorithms, 27 silicone keys, a colour TFT screen, built-in effects, an arpeggiator and a step sequencer. It speaks Yamaha DX7 SysEx, so decades of DX7 patches load straight into it. It is built around a JieLi AC791N (WL82) SoC and updates its firmware over USB-MIDI SysEx, which is why it has become one of the most hackable synths of 2026: the updater was reverse-engineered within weeks of launch and a family of open source firmwares now runs on it.
Flashing unofficial firmware is at your own risk. The flash has a single bank and the board has no debug header, so read the recovery section below before you install anything.
Contents
Official
Custom firmware
All of these install over USB from Chrome or Edge in a couple of minutes, and M-VAVE's own updater takes you back to stock. Most of the open source ones descend from Felucca.
Open source
- Felucca - Multi-engine synth firmware by Leo Kuroshita (Hügelton Instruments). Thirteen engines (6-op FM, VA, phase distortion, chiptune, sampler, granular, physical modelling, organ, drums), four tracks, 64-step sequencer, song mode, mod matrix, USB audio, web installer and web editor. The platform most other firmwares build on. GPL-3.0.
- SLOOP - Live four-track groovebox by 3dSam: three synths plus a drum machine, 37 drum kits, punch-in FX, layer system, song mode, web editor. Based on Felucca. GPL-3.0.
- X0X - ReBirth-style groovebox by Charles Vestal: TR-909, TR-808, two TB-303s with TB-3PO acid generators and a breakbeat slicer, each with its own sequencer. Has a browser emulator and manual. Felucca fork. GPL-3.0.
- Jangada - Felucca fork adding superwave analog, a modulation matrix, latched drones, ratchets and synthesized drum kits. GPL-3.0.
- Melodee - Felucca derivative that went its own way: ten engines, eight patterns per track, STUDIO workspaces, four-channel USB audio input, TR-808 kit. Web installer. GPL-3.0.
- SLOOP ALG - Experimental SLOOP fork (Chinese README) adding DX7, VA, Karplus-Strong, pluck and additive engines, with its own web installer and editor.
- FM-1 B-Boy Edition - Early-stage sampler/groovebox firmware that treats the FM-1 as a late-90s chop sampler with three sample tracks and an FM lane.
- Lunar Modulator - Research-stage open firmware built on Mutable Instruments engines (Plaits, Braids, Rings) and a Movy-style sequencer. Nothing flashed yet, but the virtual FM-1 in the browser is playable and the docs are a good map of the whole reverse-engineering effort. MIT.
- fm1-polyseq - Polyphonic 16-step sequencer and hardware abstraction layer in strict C99, written from scratch for the pi32v2 CPU.
Closed source
- FM-1+VA - The first third-party firmware, by Madeline (Baud Girl). Keeps the stock FM engine, adds a virtual analog engine with supersaw, a 64-step dot-matrix sequencer with ratchets and chance, four assignable knobs on every screen, and a cleaner menu. Free, with a manual and web installer. The author has said the source will be released.
- Groove OS - Commercial eight-track groovebox firmware by Peter Gombos ($29). FM and VA engines, up to 20 voices, per-track loop lengths, drum machine, performance mode, browser emulator and manual. Built on top of the V15 firmware.
Not a synth
- fm1-nes - NES emulator running on the FM-1, published as a worked example of custom firmware development with board-support code and USB serial diagnostics. Apache-2.0.
- fm1-doom - Doom engine port for the FM-1, in progress.
Reverse engineering and firmware development
- FM-1-RE - The deepest public analysis of the stock firmware: architecture, memory map, OTA protocol captures, security audit of recovery entry points, Ghidra scripts and V13/V14 firmware images. WTFPL.
- fm1-custom-fw - Teardown photos, hardware notes (chip, flash, no debug pads), analysis of the macOS M-UPGRADE app and a Python SysEx flasher and scanner.
- fm1-nes GETTING_STARTED - Source-only integration with the JieLi AC79/WL82 SDK, build setup for the pi32v2 toolchain, and guides on application-only updates that preserve the bootloader. Start here if you want to write your own firmware.
- fm1-emulator - Rust emulator that runs FM-1 firmware images (
.fwsc, .elf, .bin) on your desktop with the screen, buttons and USB serial console, so you can test without flashing. GPL-3.0.
- fm1-firmware-patcher - Binary patches for the stock V15 firmware: Dexed-accurate detune, removes aftertouch vibrato, recolours the oscilloscope. Unlicense.
- MVAVE-M-UPGRADE-decompiled - Decompilation of the official updater application.
- jielie - Reference site for JieLi SoCs, the family the FM-1's AC791N belongs to.
- jl-uboot-tool - JieLi flasher and dumper. Source of the
wl82loader.bin used by FM-1 Transporter.
- ghidra-jieli - Ghidra processor module for JieLi's pi32v2 CPU, needed to disassemble the firmware.
- jl-misctools - Miscellaneous JieLi utilities.
- Schwung - Charles Vestal's framework for the Ableton Move. Not an FM-1 project, but X0X and Lunar Modulator borrow its 909, 808, 303 and PSX Verb modules.
Firmware update and recovery
Stock updates and every custom installer go over USB-MIDI SysEx. If a flash fails the device may not boot, and the only way back in without opening the case is the chip's mask-ROM USB download mode, which needs a small hardware dongle.
- fm1-linux-update - Update stock V14 to V15 from Linux with verification, since M-VAVE only ships Windows and macOS updaters. MIT.
- fm1_flasher.py - Standalone CLI flasher and preset uploader from the fm1-custom-fw project.
- fm1_ota.py - Linux USB-MIDI update client from the FM-1-RE project, with offline protocol tests.
- FM-1 Transporter - Read and write the FM-1's flash from a Mac through a Seeed XIAO RP2040 wired to the USB data lines. Dumps the full flash in seconds and is the recovery path for a device that no longer starts. MIT.
- USB_KEY dongle notes - Lunar Modulator's write-up of the RP2040 dongle that forces the AC791N into download mode over USB-C.
- How to update the firmware - Plain walkthrough of the official M-UPGRADE process.
- fwradar changelog - Version history with changelogs for V09 through V15.
Editors, librarians and companion software
- FM1 Editor & Librarian - Browser-based DX7 voice editor and patch librarian built for the FM-1 by Benny Sparra: ten local banks, full operator editing, the FM-1 effects chain, SysEx import/export, six languages. Works with stock and FM-1+VA firmware. Source, MIT.
- DXcompanion - Free browser editor for the whole Yamaha DX family, with beta FM-1 support.
- Dexed - The open source DX7 emulator and editor. The FM-1 accepts single-parameter SysEx from it, so you can edit live from the plugin.
- FM-1 Workbench - Web app, Android app, VST3/CLAP controller plugin and an MCP server for the FM-1, with a DX7 voice library, randomize/mutate, drum sequencer and MIDI file player. Live. GPL-3.0.
- Virtual FM-1 - Software FM-1 as a standalone app and VST3/AU plugin for macOS, Windows and Linux, with two-way preset and pattern sync to hardware running FM-1+VA. GPL-3.0.
- FM-1 Pulses - Generative browser sequencer that broadcasts MIDI live and can freeze 64-step phrases into the FM-1's patterns on FM-1+VA firmware. Live.
- FM-1 Utility - Dependency-light Web MIDI editor for the FM-1.
- fm1-read-voice - Read the current voice back from the FM-1 over USB MIDI, which the stock firmware does not offer through other editors.
- fm1-bank-sender - Android APK to send
.syx sound banks to the FM-1 from a phone.
- fm1_soundbank_app - Command-line tool to list, reorder and send a 128-preset soundbank over USB MIDI.
Patches and sound banks
- fm1-factory-presets - The original 128 factory voices recovered as four DX7 bank dumps, since the onboard reset only restores imported data. Includes SysEx protocol notes, a provenance table tracing 126 voices to known DX7 libraries, and an FM synthesis tutorial PDF. CC BY-SA 4.0.
- fm1-banks - 26 thematic 32-voice DX7 banks (832 patches) with provenance tracking and an audio gallery.
- This DX7 Cartridge Does Not Exist - Neural-network-generated DX7 cartridges, fresh every reload. Loads straight into the FM-1. Source.
- Ambient & Dreams - Commercial soundbank by NatLife Sounds made for the FM-1.
Hardware add-ons
- fm1-sustain-footswitch - Arduino board that turns a 3.5 mm sustain pedal into MIDI CC64 on the FM-1's TRS MIDI in, with schematics.
- FM-1 Bonus Box - ESP32-S3 companion box: sustain pedal, rotary preset browser with a round TFT, WiFi soundbank manager, USB MIDI keyboard host and a sing-on-key trainer.
Documentation and guides
- FM-1 MIDI Guide - Baud Girl's readable MIDI implementation: channels, CC map for the six effects, SysEx, clock sync.
- fm1-guide - Practical notes: sequencer tutorial, the V15 reverb fix and updating from Linux.
- FM-1 on Tao of Mac - Rui Carmo's running notes and link collection on the device.
- FM-1 SysEx protocol - Handshake, bank transfer and 7-bit payload encoding, documented while recovering the factory banks.
- OTA protocol and architecture docs - USB-MIDI framing, session behaviour and memory layout from the FM-1-RE project.
- Felucca BUILDING.md - How to build a Felucca-family firmware from source.
- fm1-nes APP_UPDATES - How application-only updates preserve the stock bootloader.
Articles and reviews
Videos
Communities
Not about the FM-1, but the same company, often the same chips and the same reverse-engineering crowd.
Contributing
Contributions welcome. Read the contribution guidelines first.