Les

FM-1 firmware · v0.4

FoMni

Beta: FoMni was marked beta in the FM-1 Firmware Hub catalog checked on 2026-10-13.

Turns it into
An Omnichord-style chord harp: strum the white keys, chords on the black keys, ten rhythms with auto bass; optional USB text for a computer screen reader
Best for
Playing songs straight away; kids and non-players; calm, instant music; screen-reader support
Install
hub or GitHub release

Where everything is on FoMni

FoMni v0.4 on the M-VAVE FM-1 Hold ENV and LFO together: MINOR 7TH. CHORD F CHORD C CHORD G CHORD Dm CHORD Am CHORD Em CHORD G7 CHORD E7 CHORD D7 CHORD Bb CHORD A7 STRING 1 STRING 2 STRING 3 STRING 4 STRING 5 STRING 6 STRING 7 STRING 8 STRING 9 STRING 10 STRING 11 STRING 12 STRING 13 STRING 14 STRING 15 STRING 16 VOLUME TEMPO VOICE 1 SEQ:RHYTHM FX:REVERB VOICE 2 SEQ:TEMPO FX:SPACE SUSTAIN SEQ:DRUMS FX:WIDTH CHORD LEVEL SEQ:AUTO BASS FX:CHORD REV TRANSPOSE RHYTHM OCT - WITH OCT+ UPDATE 5S OCT + SOUND PAGE CHORDS PAGE HOLD MINOR HOLD7TH NEXT PAGE SETUP PAGE PLAY PAGE SAVE RHYTHM SYNC START CHORD HOLD RHYTHM PAGE

TapSwipe across the panel, then tap any control to see what it does on FoMni.

Start here

FoMni turns the FM-1 into a chord harp in the spirit of the Suzuki Omnichord. Hold a chord button with one hand and run a finger along the white keys with the other to strum it. Ten built-in rhythms can play along, with the bass and chord following them. There are no patterns to program: one screen and four knobs per page. It suits anyone who wants to sit down and play songs, or a calm, instant instrument for kids and non-players. Version 0.4 can also send text to a computer screen reader over USB.

Play

Do thisWhat happens
Hold a black keyPlays that chord and its bass. By default, left to right: F, C, G, Dm, Am, Em, G7, E7, D7, Bb, A7.
Hold ENV + a black keyThat root as a minor chord.
Hold LFO + a black keyThat root as a 7th.
Hold ENV + LFO + a black keyThat root as a minor 7th.
Run a finger along the white keysStrums the chord: each key is one string. The keys go in threes (root, third, fifth), with every note folded into one octave, so a group doesn't always rise in pitch.
OCT- / OCT+Strum plate an octave down or up (one octave each way).
Turn PRESETSTranspose everything, -6 to +6 semitones.
ARPCHORD HOLD on or off. With it on, a chord rings on once you lift your hand, until you tap that chord's button a second time.
MASTERVolume.

ENV and LFO do nothing pressed alone; they only change the chord buttons.

Rhythm

Do thisWhat happens
PLAYStarts or stops the rhythm (straight away, on the press).
RECSYNC START on or off. When it's on, PLAY waits and the rhythm starts with your first chord. Press PLAY again to stop waiting.
Turn ALGORITHMPick one of the ten rhythms.
Turn SELECTTempo, 60-240.

The pages

KNOB 1–4 follow the page on screen. Choose a page with its button; EDIT advances through the five pages.

ButtonPageKNOB 1KNOB 2KNOB 3KNOB 4
HOMEPlayvoice 1 (shimmering harp)voice 2 (plain harp)sustainchord level
SEQRhythmrhythmtempodrums levelauto bass on/off
FXSoundstrings' reverbspace (reverb size)stereo widthchord reverb
SELChordsroottypetransposeoctave
GLOSetuptune (±50 cents)MIDI outlightsnothing

Change a chord button: press SEL for the Chords page, press the black key you want to change, then turn KNOB 1 (root) and KNOB 2 (type).

Switching from your firmware

Pick the firmware on your FM-1 now to see what installing FoMni does to its data.

1 · Back up first, on Stock V15

  • Stock V15 has no way to back up your voices or patterns. The FM-1 only sends notes over MIDI, never voice data.
  • One indirect way to back up, from Baud Girl's own docs (not tested by us): installing her FM-1+VA keeps your saved stock presets and patterns, and its browser Device Manager can then save all 128 presets and 16 patterns as files. FM-1+VA is closed source; install it at your own risk.

2 · What happens to your Stock V15 data

Possibly at risk

(the layout is reported or inferred, not read in code)

  • stock settings (and possibly patterns)

(weakest evidence: reported)

Everything about leaving Stock V15

Everything else on FoMni

Saving

FoMni keeps one setup. Autosave needs an edit marked unsaved, a stopped rhythm, released keys and buttons, silent strings, chord and bass, and four seconds on its activity timer. Buttons, keys and KNOB 1–4 reset that timer. SELECT, ALGORITHM and PRESETS do not, so their edits can save immediately when the other conditions allow. Switching off does not save: edits since the last successful save can be lost. SAVE stores the setup straight away. Saving and completed hardware calibration replace their stored settings without a confirmation or a panel undo.

Press SAVE before starting an install. If an update stops early and returns to FoMni, recent edits can remain in memory while the unsaved dot disappears. Autosave no longer sees them as needing a save, until another edit marks the setup unsaved again. Press SAVE after an early return if you want to keep those edits.

Do thisWhat happens
SAVE with a screen reader connectedThe reader receives the result. A flash-error message is marked to be spoken fully, without later speech cutting it short.

Use a screen reader

Plug the FM-1 into your computer by USB, then open the FM-1 Screen Reader in Chrome and connect it. The reader can speak or pass the text to your computer's own screen reader. These readouts work during normal operation; safe mode and hardware calibration use separate screens without this reader output.

Do thisWhat happens
Connect the reader, or request a screen summary in itReceives the page and its active knob values, the selected button number on Chords, the chord, rhythm, tempo or EXT, transport state, and enabled CHORD HOLD / SYNC START flags.
Change pages, turn KNOB 1–4, SELECT, ALGORITHM or PRESETS, play a chord, or use the transport and action buttonsReceives page changes after a 200 ms pause, value changes after a 120 ms pause, chord names, transport changes and button messages. A continuing value change is sent at least every 480 ms.
Disconnect the readerReader text stops. A stop-listening request ends the session; it also expires after more than five seconds without a heartbeat.

MASTER changes volume without a reader announcement. FoMni sends text, not spoken audio. There is no extra panel page or setting to enable it.

Hidden gestures

Do thisWhat happens
Hold OCT- and OCT+ for 5 secondsUpdate mode for installing firmware. A countdown shows from 2 s; let go to cancel.
Hold OCT- and OCT+ while switching onHARDWARE CALIBRATION: press each button and turn each knob when asked.
If FoMni fails to start twiceIt starts in safe mode: no sound, USB on so you can reinstall. Press PLAY to try again.

What the lights mean

  • HOME, SEQ, FX, SEL or GLO: lit for the page on screen.
  • PLAY (green): flashes on each beat while the rhythm plays; blinks while SYNC START waits for a chord.
  • REC: SYNC START is on. ARP: CHORD HOLD is on.
  • Keys: the chord button that's sounding, and each white key while its string rings.
  • Setup > Lights: On (key lights, and unlit buttons glow faintly so you can read them), Keys (key lights only), Off.

Before you switch firmware

  • FoMni has no setup backup or export. Write down the chord buttons and page values you want to keep.
  • Coming from M-VAVE Open: v0.4's installer recognizes the official Open firmware and its community builds. It requires stock V15 first, then FoMni. Choosing FoMni directly stops before an update starts. Back up anything Open lets you save before restoring stock: that step may erase it. Whether Open's saved work survives has not been established.
  • Back up in the firmware you are leaving first, with its own tool (above). Anything below marked at risk can be written over; whether an older saved copy survives depends on how often you saved, so do not count on it.
  • What installing FoMni does to the firmware you had before.
    Show the detail

    install (update loader): Writes the program area (every install or update). install (update loader): Erases every sector in this range whose last 256 bytes hold a valid update record (0xE4000; 0xE8000 coming from stock). No 0x97000-0xDFFFF skip (only sectors whose tail is a valid update record). every start-up: Erases the five-sector update staging area only when any of its first four bytes at 0xE0000 or the first eight update-record bytes at 0xE4F00 are not erased (0xFF). Other occupied bytes alone do not trigger cleanup (only when a probe at 0xE0000 (4 bytes) or 0xE4F00 (8 bytes) is not blank). every start-up: Nothing else: project_load and panel_init only read. update (leaving through an installer's upgrade command): Erases the five staging sectors, stages the incoming firmware's loader there and writes its update record at 0xE4F00 (only when an installer starts an update from this firmware). install (CLI or web installer, arriving from M-VAVE Open firmware): Recognizes FM1_OFFICIAL_OPEN / FM1_COMMUNITY_n and refuses direct FoMni installation. Requires the approved stock FM-1 V15 package first; command 49 must return a 47-byte FMC1 idle reply, and command 50 must acknowledge the image length and approved SHA-256 before updating. The stock loader's whole-image behavior is described only by comments, so no new stock erase range is asserted here (Only while an Open identity is running; direct FoMni selection is refused before the update starts. CLI verifies the file digest; the web page verifies the stock digest before enabling its button).

    • Stock V15: Possibly at risk (layout reported or inferred): stock settings (and possibly patterns).
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): Baud Girl presets (128); Baud Girl patterns (16, with locks).
    • Felucca: At risk by itself: settings, button calibration, favourites, MIDI LEARN map. At risk when you act: user presets 1-16.
    • SLOOP: At risk by itself: settings, calibration, song order, SYN1-4 kits, MIDI LEARN, theme and favourites. At risk when you act: user sounds U01-U16.
    • X0X: At risk by itself: the whole X0X project (settings, sound, all 32 patterns, song, knob motion). At risk when you act: X0X button calibration.
    • JIANT: At risk by itself: settings, calibration, favourites, MENU options. At risk when you act: user sounds U01-U16.
    • Melodee: At risk by itself: settings, factory favourites, calibration, saved template. At risk when you act: shared user presets U001-U018.
    • AMB-1: At risk by itself: AMB-1 pieces and setup. Carried over: AMB-1 panel calibration.
    • ChoralRoot: At risk by itself: options, playing setup and panel calibration.
    • GHOULBOX: At risk by itself: settings and panel calibration. At risk when you act: user sounds 1–16.
    • M-VAVE FM-1 Open: At risk by itself: Open shared sample audio. At risk when you act: Open USER project 1; Open USER project 2; Open USER project 3; Open USER project 4; Open USER project 5; Open USER project 6; Open USER project 7; Open USER project 8; Open USER project 9; Open USER project 10; Open USER project 11; Open USER project 12; Open USER project 13; Open USER project 14; Open USER project 15; Open USER project 16; Open device preferences. Installing this firmware replaces Open’s sixteen USER projects, preferences and sample header before its first start, including the first 24 KiB of sample storage. This follows Open’s source-defined USER layout and the incoming program range; export projects and device samples before leaving Open.
    • FM-106: At risk by itself: octave, last selected preset and MIDI preferences. A valid user bank stored by an earlier FM-106 build can still be present and readable in Beta4; the bank risks listed here, if any, apply if it exists. FM-106 Beta4’s new user-sound edits are only in memory: panel save, delete and librarian bank commit do not store them, even when they report success. Read the unit into the librarian and export both user banks before switching or powering off; those exports omit sequence notes, locks and extended controls.
    • Hortator: At risk by itself: settings and panel calibration.
    • OberVave: At risk by itself: saved programs and global settings; pattern 1 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 2 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 3 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 4 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 5 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 6 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 7 (its B-track sound can change if it uses a saved program; its pattern notes remain); pattern 8 (its B-track sound can change if it uses a saved program; its pattern notes remain).
    • Polly: At risk by itself: Polly setup and channel sounds. Carried over: Polly button and encoder calibration.
    • Skiff: At risk by itself: settings, calibration and favourites. At risk when you act: user sound bank 1.
  • What the next firmware does to FoMni's data.
    • Stock V15: Possibly at risk (layout reported or inferred): FoMni button calibration.
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): FoMni button calibration.
    • Felucca: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • SLOOP: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • X0X: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • JIANT: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • Melodee: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk by itself, under a condition: FoMni button calibration.
    • AMB-1: At risk by itself: FoMni setup (pages, chord buttons, lights). Carried over: FoMni button calibration.
    • ChoralRoot: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • GHOULBOX: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
    • M-VAVE FM-1 Open: At risk when you act: FoMni button calibration; FoMni setup (pages, chord buttons, lights).
    • FM-106: At risk by itself: FoMni setup (pages, chord buttons, lights).
    • Hortator: At risk by itself: FoMni setup (pages, chord buttons, lights).
    • OberVave: At risk by itself: FoMni setup (pages, chord buttons, lights).
    • Polly: At risk by itself: FoMni setup (pages, chord buttons, lights). Carried over: FoMni button calibration.
    • Skiff: At risk by itself: FoMni setup (pages, chord buttons, lights). At risk when you act: FoMni button calibration.
  • Who reads whose data. Other firmwares reading FoMni's data: AMB-1 reads and uses FoMni's FoMni button calibration; Polly reads and uses FoMni's FoMni button calibration. What FoMni reads of other firmwares' data: FoMni reads and uses AMB-1's AMB-1 panel calibration; FoMni reads and uses Polly's Polly button and encoder calibration. Everything else of another firmware's looks empty or foreign to the reader.
  • Every way each write can happen, for all mapped firmwares: the flash atlas's table. Read in each firmware's source (closed ones: their docs or third-party reports); nothing was tested on a unit.
  • Going back to stock: FoMni's own installer warns that chords and sounds saved in FoMni may be lost.
  • Updating from FoMni v0.3.2 to v0.4 keeps the same setup and calibration formats. Older v0.1 setups are still converted when loaded.

Where the docs and the firmware disagree

  • PLAY with SYNC START: the README's PLAY row says PLAY turns the rhythm on and off. With SYNC START on and no chord held, PLAY waits for your first chord instead (the README's REC row hints at this), and a second press cancels the wait.
  • Hidden gestures: the README still leaves out the OCT- + OCT+ update hold and power-on calibration. Its safe-mode warning gives no threshold; the source enters safe mode after two failed starts.

Not in the README

  • The octave limit: OCT- / OCT+ move the strum plate one octave each way, no further.
  • The 5-second update gesture and power-on calibration.
  • What PLAY's light does (green, flashing on each beat, blinking while SYNC START waits).

Mapped from charlesvestal/fm1-fomni at v0.4 (6ecd227), 2026-10-16. Every line was taken from the firmware's source at that release and its README; the file and line for each is in fomni.json. Nothing was tested on a unit. Refreshed from the checked v0.3.2 map; its check history remains in the JSON. FoMni is GPL-3.0-only, by Charles Vestal. Omnichord is a trademark of Suzuki. This is an independent guide written in our own words, not affiliated with FoMni, Suzuki or M-VAVE. M-VAVE and FM-1 are trademarks of their owners.

Les is in closed beta

Ask about your own setup

Say what you're after and what else is on your desk. Les takes you there one step at a time, on your gear, and shows you why each step works.

Get an invite to the open beta.

We add the gear people name here first.

We'll email you when the open beta opens, plus an occasional note on what's new in Les. Unsubscribe anytime. Privacy

Les is independent and not affiliated with M-VAVE or the firmware authors. M-VAVE and FM-1 are trademarks of their owners.