Les

FM-1 firmware · V12

M-VAVE FM-1 Open

Open gives the FM-1 eight tracks with DX7 FM, BASS 303, DRUM 808, PSG, PLUCK and SAMPLER source choices. It suits someone building patterns across several kinds of sound, with editing and mixing on the panel. This guide traces the published APP; the native sound engine is a closed binary. Parameter descriptions below identify the values the APP sends, rather than measured sound behavior. No unit was tested, and this draft awaits independent checking.

Turns it into
M-VAVE’s eight-track groovebox, with FM, acid bass, drums, PSG, pluck, samples and Bluetooth controls
Best for
An official alternative to stock, with sequencing and a browser Workbench
Install
V12 Workbench or official site

Where everything is on M-VAVE FM-1 Open

M-VAVE FM-1 Open (official) V12 on the M-VAVE FM-1 F#3 G#3 A#3 C#4 D#4 F#4 G#4 A#4 C#5 D#5 F#5 F3 G3 A3 B3 C4 D4 E4 F4 G4 A4 B4 C5 D5 E5 F5 G5 MASTER TRACK REC+SEEK RECORD GLO+MIX TRACK LEVEL GLO+MIX LEVEL EDIT+PAGE VALUE SOURCE GLO+MIX LEVEL SEQ+TARGET STEP STEP GLO+MIX LEVEL EDIT+PAGE VALUE BPM GLO+MIX LEVEL EDIT+PAGE VALUE PROJECTS HOME+SOURCE MENU SOURCE EDIT+FM ALGORITHM OCT- SEQ+16 STEPS - OCT+ SEQ+16 STEPS + FX EDIT PAGES ENV LFO SOUND MIX HOLDHELD MIXER TRACKS SAVE ARP SEQUENCE PLAY/ STOP REC

TapSwipe across the panel, then tap any control to see what it does on M-VAVE FM-1 Open.

Start here

The modes

ModeHow to get there
Track overviewHOME from another page
Whole-project browserHOME while the overview is showing
SEQ Basic, Step Details, Rhythm/Record, Locks, Sync/LoopSEQ, then ALGORITHM selects one of five pages
Persistent mixerTap and release GLO within 600 ms without using anything else
Temporary mixerHold GLO for 600 ms, or use a key or encoder while holding it; release GLO to close the layer
Source chooserTurn ALGORITHM or KNOB 2 on the overview; HOME + PRESETS also opens it
DX7 quick editEDIT on a DX7 track
DX7 full editHold EDIT for 600 ms on a DX7 track
Other source editEDIT on a non-FM track; hold for 600 ms to enable more pages
Source envelopeENV; press again to return
Source LFOLFO; press again to return
Track sends / shared effectsFX, then PRESETS selects the page; FX again returns
Arp Notes / Swing and HoldHold ARP for 600 ms, then ALGORITHM selects the page
Edit actionsHold SEQ for 600 ms, or press SEQ with EDIT
Save projectSAVE outside Source, Actions and Bluetooth
DX7 patch nameEDIT + REC on a DX7 track, or choose its Actions command
Bluetooth settingsHOME + GLO, or choose Bluetooth / Clock in Actions
MIDI host listIn Bluetooth settings enable the radio, choose HOST, select the device-list action and press SAVE
Startup logoPower on; it lasts up to 1.2 seconds and gives way to panel input

The JSON separates page families, their parameter pages, the note-playing context and recording/held states. These are overlapping contexts, not 49 different top-level screens. A more specific assignment takes priority. White keys below are counted from 1 to 16, left to right; physical pitch names identify positions, not a promise of the note the engine assigns.

Play, choose tracks and load projects

Do thisWhat happens
Play keys on the overview, sound, effects or arp pagesThe APP posts the engine-assigned note at velocity 100; releasing sends note-off
Play keys in a navigation menuNo keyboard note is posted; the white keys have the menu jobs listed below
Turn SELECT on the overview or a basic sound, ENV, non-FM LFO, effects, arp or SEQ pageChooses track 1–8; full sound editors use SELECT for pages instead
OCT- / OCT+ outside SEQ and ActionsMoves the keyboard octave within −2 to +2
Turn MASTERSends the pot reading to the global output control and briefly shows the resulting level; it is excluded from project storage
Turn PRESETS on the overviewImmediately loads a whole project from the last browser bank, preserving whether playback was running
Use PRESETS before any browser loadA positive turn begins at the low end of the factory bank; a negative turn begins at its high end
In the browser, turn SELECT or PRESETSChanges slot and immediately loads that whole project
In the browser, turn KNOB 1Switches USER / FACTORY and loads the selected slot when the bank changes
In the browser, press white key 1–16Loads that slot directly and returns to the overview on success
In the browser, press PLAYLoads the selected project and posts Start on success
Loading failsThe browser shows the error and keeps the current working project

PRESETS on the overview is a whole-project loader. It does not merely pick a sound for one track. The APP asks for an undo checkpoint during loading but shows no unsaved-edits question. Save or export work you need before browsing.

Record and edit a pattern

Do thisWhat happens
Overview: tap REC aloneA release within 600 ms toggles the record request
Overview: hold REC and turn SELECTAfter 600 ms seeks the record cursor without changing the prior recording state; an earlier turn is consumed and prevents a tap toggle
Other pages: RECToggles recording; enabling it moves navigation and detailed-step pages to SEQ Basic when necessary
PLAYPosts Stop when running, otherwise Continue; at rewind with recording and count-in enabled it posts Start
HOME + PLAY, either orderPosts reset, releases tracked notes, turns recording off and returns to the overview
Press SEQOpens Basic and resumes playhead following
Turn ALGORITHM in SEQChooses one of the five parameter pages and pins the view when changing pages
Turn PRESETS in SEQMoves the edit cursor, pins the view and ends recording if the cursor moves
SEQ Basic: KNOB 2Also moves the cursor and ends recording if it moves
SEQ Basic: KNOB 3Selects a drum/sample pad, or changes the selected melodic cell’s pitch while retaining its velocity; an empty melodic cell changes the next insertion pitch
SEQ or Actions: OCT- / OCT+Moves among sixteen-step regions within the track length instead of changing octave
With recording off, white keys in Basic, Rhythm/Record or Sync/LoopRequest step toggles in the visible page of the selected note or drum lane
With recording off, white keys in Step Details or LocksSelect the corresponding cell without toggling it
Keys while recording in a playable contextPost their engine-assigned notes; the closed engine handles recording
Enter Step Details, Locks or ActionsEnds the APP’s recording request
Overview: KNOB 1 / 3 / 4Track level / edit cursor / tempo; KNOB 2 opens Source
SEQ pageKNOB 1KNOB 2KNOB 3KNOB 4
1 BasicTrack levelStep cursorNote/padTempo
2 Step DetailsVelocityGateProbabilityChord
3 Rhythm/RecordSwingMetronomeCount-inLoop length
4 LocksTieLock targetLock valueNote
5 Sync/LoopInternal/MIDI clockTempoLoop lengthUnused

Loop-length controls request 16, 32, 48 or 64 steps. The engine interface describes a running change as taking effect at the next track loop boundary, with shortened cells retained. The APP labels drum gate, chord, tie and note fields unavailable; exact acceptance is inside the engine except that the Locks Note handler explicitly does nothing on drum tracks. On melodic tracks that handler sends the note edit without an unavailable/full-table notice. MIDI-clock tempo can be shown as waiting or lost; Basic’s tempo knob posts an external-clock notice, while Sync/Loop still passes its tempo delta without that notice.

White-key positions are F3, G3, A3, B3, C4, D4, E4, F4, G4, A4, B4, C5, D5, E5, F5 and G5. Their step, browser-slot and action-destination numbers run 1–16 in that order. Black keys have no step-navigation job with recording off. Changing pages releases tracked notes and blocks keys already held until release.

Switching from your firmware

Pick the firmware on your FM-1 now to see what installing M-VAVE FM-1 Open 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)
  • stock Bluetooth data
  • stock voices (128 user patches, banks A-D)

(The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.)

(weakest evidence: reported)

Everything about leaving Stock V15

Everything else on M-VAVE FM-1 Open

Pick a source and shape a sound

Do thisWhat happens
Overview: turn ALGORITHM or KNOB 2Opens Source with a neighboring source previewed
Hold HOME and turn PRESETSOpens Source using the current source plus the turn delta
Source: turn SELECT, ALGORITHM, PRESETS or KNOB 2Changes the preview; nothing is applied yet
Source: SAVERequests the new source and returns on success; the APP warns that switching between drum and pitched sources clears incompatible pattern cells
Source: HOMECancels to the overview
Tap EDITOpens quick editing; from quick or full sound editing it returns to the remembered overview or SEQ page
Hold EDIT for 600 msOpens full DX7 editing or advanced non-FM editing; SEQ, REC or HOME held with EDIT prevents this hold action
Press SEL on DX7Opens the selected operator’s scaling page, alternating with curves when already on scaling
Press SEL on another sourceOpens advanced editing at 303 page 2, or page 1 for the other sources
Turn SELECT in full DX7 editMoves one page by direction within the selected operator, pitch or common context
Turn SELECT in advanced non-FM editMoves one page by direction through the engine’s groups of four descriptors
Turn PRESETS in DX7 quick/full editSends a voice/program delta for that track
Turn PRESETS in melodic non-FM editSends a program delta for that track
Turn PRESETS in drum or sampler editChooses a drum, sample pad or, for 808 outside ENV, the kit controls
Play a mapped drum or sample key in its tone/ENV editorSelects that part for editing and also posts its note
Turn ALGORITHM in sound, envelope, LFO or effects editingOn DX7 sends patch algorithm index 134; on other sources sends the engine’s cutoff-control argument

Continuous FM and unnamed numeric tone values accelerate during fast repeated turns. Page selectors and named options use their selector movement instead. The APP asks the engine for non-FM parameter names and limits; the native tables are unavailable, so this guide does not borrow their names or page counts from the separate web engine.

PageKNOB 1KNOB 2KNOB 3KNOB 4
DX7 QuickAlgorithmFeedbackTransposeTrack level
Operator Tune/LevelDetuneCoarseFineOutput level
Operator RatesRate 1Rate 2Rate 3Rate 4
Operator LevelsLevel 1Level 2Level 3Level 4
Operator Sens/OscAM sensitivityVelocity sensitivityOscillator modeBlank
Operator ScalingLeft depthRight depthBreakpointBlank
Operator CurvesLeft curveRight curveRate scalingBlank
Pitch RatesRate 1Rate 2Rate 3Rate 4
Pitch LevelsLevel 1Level 2Level 3Level 4
CommonAlgorithmFeedbackOscillator syncTranspose
DX7 ENV overlayAttackDecaySustainRelease
DX7 LFO page 1WaveSpeedPitch depthAmplitude depth
DX7 LFO page 2DelayPitch sensitivityLFO syncOscillator sync
Non-FM track LFORateDepthVolume/pan targetWave
303 page 1CutoffResonanceEnvelope amountDecay
303 page 2AccentWaveTuneVolume
303 page 3DriveDrive typeSlideAccent decay
303 ENVEnvelope amountDecayAccent decayCutoff
PSG ENVRelease (guide name; index 3)BlankBlankBlank
PLUCK ENVParameter index 0Parameter index 3Parameter index 1Blank
SAMPLER ENVLength, index 2Choke, index 3BlankBlank
808 ENVDescriptor named DecayDescriptor named AttackDescriptor named ToneDescriptor named Tune
Other source editCurrent page index × 4That index + 1That index + 2That index + 3

The PSG Release name is graded vendor-doc because its native descriptor is closed. The 808 ENV positions are available only when the selected part supplies the named descriptor. Other non-FM ENV positions also require a descriptor. A blank DX7 full-editor position still passes index 255 to its patch API; the closed native API’s response is not known.

On DX7 ENV, turn PRESETS clockwise to request the overlay enabled or counterclockwise to bypass it. The drawing is an illustrative amplitude envelope, separate from the operator rate/level editor. DX7 LFO uses SELECT to choose its two pages; on a non-FM track SELECT instead changes tracks.

Physical black key in full DX7 editJob
F#3Select OP1; hold 500 ms to request its on/off toggle
G#3Select OP2; hold 500 ms to request its on/off toggle
A#3Select OP3; hold 500 ms to request its on/off toggle
C#4Select OP4; hold 500 ms to request its on/off toggle
D#4Select OP5; hold 500 ms to request its on/off toggle
F#4Select OP6; hold 500 ms to request its on/off toggle
G#4Select PITCH, with two envelope pages
A#4Select GLOBAL, the Common page
C#5Request MONO
D#5Request POLY
F#5Keeps its ordinary engine-assigned note job

The ten assigned black keys post no notes in full DX7 editing. On 303 tone editing, C#5 and D#5 become MONO and POLY and post no notes; its other keys keep their normal jobs.

Use edit actions

SELECT chooses one of twenty commands. PRESETS or KNOB 2 moves the target cell; white keys select a position in its sixteen-step region, and OCT buttons move the target by sixteen cells. Moving the target or changing the command cancels confirmation. SAVE executes; HOME cancels an armed confirmation before leaving.

CommandWhat the APP requests
Step Details; Rhythm / RecordOpen SEQ pages 2 or 3
Copy Step / Page / TrackCopy the selected scope, then select the corresponding Paste command
Paste Step / PagePaste only a matching one-cell or sixteen-cell clipboard, with no second SAVE
Paste TrackConfirm with another SAVE, then require a sixty-four-cell clipboard
Clear Step / Page / TrackConfirm, then clear the selected scope
Repeat to 32 / 48 / 64Confirm, then repeat the track to that length
Undo / RedoSwap the engine’s undo state; HOME + SAVE also requests this and returns to the music page
Copy TimbreExport the current track timbre to a RAM clipboard
Paste TimbreConfirm, then import its timbre and source type if ready; the guide warns that crossing between drum and pitched sources clears incompatible steps
DX7 Patch NameOpen its name editor only on a DX7 track
Bluetooth / ClockOpen settings
Stop All / RewindPost reset, clear tracked notes, end recording and return to the overview

Clipboard and undo work stay in RAM. This menu’s implementation is a set of requests to the closed engine; the public APP does not establish all paste, chord, lock or recording semantics.

Mix, effects and arpeggiate

Do thisWhat happens
In either mixer, SELECTChooses the track and its four-track level bank
Mixer KNOB 1–4Adjust track volumes for tracks 1–4 or 5–8, according to the selected track’s bank
Mixer white keys 1–8Request mute toggles for tracks 1–8
Mixer white keys 9–16Request solo toggles for tracks 1–8
Mixer ALGORITHM or PRESETSNo assigned turn action
Tap ARPToggles the selected track’s arp on release and clears tracked held notes
Hold ARP for 600 msOpens settings without that toggle
Arp ALGORITHMChooses Notes or Swing/Hold
Arp SELECTChooses track
PageKNOB 1KNOB 2KNOB 3KNOB 4
Track effectsReverb sendDelay sendTrack levelShared return
Shared effectsReverb timeDelay timeDelay feedbackShared return
Arp NotesRateDirectionOctave rangeGate
Arp Swing/HoldSwingChord holdUnusedUnused

The arp screen names four rates and four directions. Drum tracks do not accept range/gate edits through these controls. Arp settings and enable state are project data; held notes are not. The native timing and sound behavior were not inspectable.

Save, name and back up

Do thisWhat happens
SAVEOpens the project-save page on the last USER slot loaded or saved
Save page: SELECT or PRESETSChooses USER 1–16
Save page: KNOB 1 / KNOB 2Moves the twelve-character working-name cursor / changes its character
Save page: SAVEWrites the chosen slot; the remembered USER slot asks nothing, even after a factory load or file import; a different valid occupied USER slot requires another SAVE
Save page: HOMELeaves for the overview; editing the working name already changed RAM
DX7 patch-name page: SELECT / KNOB 1Moves its ten-character cursor / changes the character
Patch-name page: SAVEOpens project saving, where the name is stored with the project
Matching Workbench: export projectSaves the current working project as .fm1; load and export each saved USER project you need
Workbench: back up device samplesConnect, use Read device sample bank, wait for completion, then Back up browser sample bank to save .fm1s
Workbench: restore device samplesLoad the .fm1s into the browser, then use Write device sample bank and confirm
Workbench: export track / DX7 patchOffers .fm1t / .syx for the selected track

The save page remembers the last USER load or save, not the origin of the working project. A factory load or file import leaves it unchanged, so SAVE followed by SAVE can replace a different saved song without a warning; choose the destination deliberately. Startup attempts to reload that remembered USER project into RAM.

The name editors use spaces, uppercase letters, digits and a hyphen. Project import replaces the working area in RAM; save it separately to retain it on the unit. Loading a sample-bank file changes the browser only; writing it to the device is a separate confirmed action. The browser starts with demo samples, so exporting before reading the device backs up those demos. A project file does not contain its audio.

Bluetooth and clock

Do thisWhat happens
Settings KNOB 1Positive enables the radio master; negative disables it
Settings KNOB 2Positive enables Bluetooth audio; negative disables it
Settings KNOB 3Chooses DEVICE or HOST; MIDI follows the master radio switch
Settings KNOB 4Positive selects MIDI clock; negative selects internal clock
Settings PRESETSChooses the device-list or forget-pairs action
Device-list action: SAVEWith radio enabled and HOST selected, opens the list and requests a scan if idle
Forget-pairs action: SAVE twiceRequests BLE pair clearing; the SDK interface says classic audio pairs remain
Host list SELECTChooses a discovered device
Host list PRESETS, then SAVEChooses and executes Connect, Scan, Disconnect or Settings
HOME during pair-clear confirmationCancels confirmation; otherwise returns to the overview

These preferences save automatically after 1.5 seconds following a change. Loading or saving a different USER slot also queues an immediate remembered-slot preference write. Link status, progress and errors appear on the screen. Native pairing-key storage locations are unknown.

Read the lights and screen

Light or screen areaMeaning
White key lights in SEQ, recording offActive cells in the selected lane; the visible playhead position inverts its light
White key lights in browserSelected slot
White key lights in mixerLower eight: muted tracks; upper eight: soloed tracks
Other key lightsNotes still tracked by the APP, with the editor exceptions below
DX7 editor black lightsEnabled operators light when their mute bits are clear; the selected OP/PITCH/GLOBAL key alternates in 250 ms phases; MONO/POLY shows the selected mode
303 tone editor MONO/POLY lightEngine-reported mono/poly mode
OCT lights in SEQ / ActionsAn earlier/later sixteen-step page exists
OCT lights elsewhereNegative/positive octave offset
HOME, FX, GLO, ENV, LFO, EDITTheir corresponding visible pages
SELDX7 full-edit scaling or curves
SEQSequence editing or Actions
ARPSelected track’s arp enabled, regardless of the visible page
REC / PLAYAPP recording request / engine-reported transport running
SAVEProject-save page, Source chooser or an Actions replacement confirmation

The music header’s \* marks engine-reported unsaved project changes. PLAY / PAUSE / STOP distinguishes running, paused away from rewind and stopped at rewind. The input badge shows CNT 1–4 for count-in, REC for live recording or STEP for stopped step recording; outside recording it shows ARP or LIVE. FOLLOW / EDIT distinguishes following playback from a pinned view. Clock labels are BPM internally or EXT / WAIT / LOST for MIDI clock. A small progress bar fills over 600 ms while a GLO, EDIT, SEQ or ARP hold is pending.

The APP writes one PLAY output and supplies no separate green-transport-light behavior. Full DX7 editing draws the selected algorithm or a schematic envelope; non-FM editing draws descriptor values or part tiles. The overview shows all eight lanes and meters, while SEQ shows sixteen cells with its current parameter strip. Error notices include audio overload, dropped MIDI and recording/chord limits reported by the SDK.

Before you switch firmware

  • Back up first. Export each working or loaded USER project as .fm1 in the matching Workbench. To back up device audio, connect and use Read device sample bank before Back up browser sample bank to save .fm1s; the browser initially holds demo audio, not your unit’s audio. To restore audio, load the .fm1s into the browser, then use Write device sample bank and confirm. File loading alone does not write the unit. Track .fm1t and DX7 .syx exports are also available. Project imports stay in RAM until separately saved. Preferences and pairing keys have no identified backup export. Installing stock V15 (including through Open’s own Workbench) or another mapped firmware with a verified install footprint wipes Open’s sixteen USER projects, preferences, shared staging copy and sample header, including the first 24 KiB of the sample bank. Baud Girl’s installer is not public, so assume the same loss when switching to it. Export projects and device samples before leaving Open. See the switching advice in this section for risks and evidence.
  • 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 M-VAVE FM-1 Open does to the firmware you had before.
    Show the detail

    install through the official Workbench: Installs Open’s program and bundled resources. Saved projects and samples have their own reserved USER area in this package; the native loader is closed, so its exact erase footprint is not verified (after you acknowledge the backup warning and start installation; a forced install asks again). start-up without Workbench: Loads the remembered USER project and preferences and checks the sample bank, using defaults or an empty state when data is missing. The APP does not save projects, complete pending saves or create factory samples at boot. Private SDK writes remain unknown (before any later edit, save or host sample initialization). Workbench sample initialization after install: Right after Workbench successfully installs Open over another mapped firmware, it uploads factory audio without a separate confirmation. The source-built V12 bank erases 0x8D000–0x9FFFF before any project save, overwriting the previous firmware’s data there. The shipped Workbench asset was not compared with the source. Updating Open itself can retain a ready bank; a read or CRC error is not automatically repaired (after a successful Workbench installation of Open from another mapped firmware). Workbench return to stock V15: Installs bundled stock V15, then restores its 128 factory voices over all four voice banks. The incoming program image covers Open’s USER projects, preferences, staging and sample header, including the first 24 KiB of sample storage. If the device already runs V15, it skips reflashing and restores only the voice banks. The native loader’s exact erases and physical voice-bank addresses remain unverified (when you acknowledge backup and confirm stock recovery) [inferred]. Workbench stock recovery while already on V15: Restores all four factory voice banks without reflashing the firmware; their physical flash addresses are not established by this handler (after confirmation, when the connected device is already stock V15).

    • Stock V15: Possibly at risk (layout reported or inferred): stock settings (and possibly patterns); stock Bluetooth data; stock voices (128 user patches, banks A-D). The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): Baud Girl presets (128); Baud Girl patterns (16, with locks). The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • Felucca: At risk by itself: project slot A; project slot B; project slot C; project slot D; FM6 patches of the FM6 user presets. At risk when you act: user sample slot USR1; user sample slot USR2; user sample slot USR3; user presets 1-16; user presets 17-32; the autosave (the music as you left it); FM6 voice bank B1-B32; settings, button calibration, favourites, MIDI LEARN map. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • SLOOP: At risk by itself: song section A (a whole project); song section B (a whole project); song section C (a whole project); song section D (a whole project); the music in progress (autosave). At risk when you act: user sample slot USR1 (header at 0xA0000); user sample slot USR2 (header at 0xB4000); user sample slot USR3 (header at 0xC8000); user sounds U01-U16; user sounds U17-U32; FM6 patch bank B1-B27; user sample slot USR4 (header at 0xE7000); settings, calibration, song order, SYN1-4 kits, MIDI LEARN, theme and favourites. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • X0X: At risk by itself: the whole X0X project (settings, sound, all 32 patterns, song, knob motion). At risk when you act: break loops slot 1; break loops slot 2; break loops slot 3; X0X button calibration. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • JIANT: At risk by itself: song 1 section A (a whole project); song 1 section B (a whole project); song 1 section C (a whole project); song 1 section D (a whole project); FM6 patches of the FM6 user sounds. At risk when you act: song 2: four sections (whole projects); song 3: four sections (whole projects); song 4: four sections (whole projects); song 5: four sections (whole projects); song 6: four sections (whole projects); song 7: four sections (whole projects); song 8: four sections (whole projects); which song is current, every song's rows and scenes; user sounds U01-U16; user sounds U17-U32; the music in progress (RESTORE LAST); FM6 voice bank B1-B32; settings, calibration, favourites, MENU options. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • Melodee: At risk by itself: shared user presets U289-U378; shared user presets U379-U384; shared user presets U109-U126. At risk when you act: project A: patterns, song, sounds, motion, recordings; project B: patterns, song, sounds, motion, recordings; project C: patterns, song, sounds, motion, recordings; project D: patterns, song, sounds, motion, recordings; shared user presets U145-U288; shared user presets U073-U090; shared user presets U091-U108; shared user presets U001-U018; shared user presets U019-U036; shared user presets U037-U054; shared user presets U055-U072; shared user presets U127-U144; settings, factory favourites, calibration, saved template. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • FoMni: At risk when you act: FoMni button calibration; FoMni setup (pages, chord buttons, lights).
    • AMB-1: At risk when you act: AMB-1 panel calibration; AMB-1 pieces and setup.
    • ChoralRoot: At risk by itself: 32 imported DX7 voices. At risk when you act: CZ-1 bank A (16 tones); CZ-1 bank B (16 tones); CZ-1 bank C (16 tones); CZ-1 bank D (16 tones); CZ-1 bank E (16 tones); CZ-1 bank F (16 tones); CZ-1 bank G (16 tones); CZ-1 bank H (16 tones); last global-save session; favourite marks, chord/bass type and filter; 128 saved sounds with their complete engine patches; recorded loop 1; recorded loop 2; recorded loop 3; recorded loop 4; recorded loop 5; recorded loop 6; recorded loop 7; recorded loop 8; recorded loop 9; recorded loop 10; options, playing setup and panel calibration. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • GHOULBOX: At risk by itself: project A; project B; project C; project D; FM6 patches for user sounds. At risk when you act: user sample slot USR1; user sample slot USR2; user sample slot USR3; user sounds 1–16; user sounds 17–32; music in progress (RESTORE LAST); FM6 voice bank B1–B32; settings and panel calibration. The factory-sample write runs by itself right after the Workbench installs Open, before any project save. The source-built V12 bank erases 0x8D000–0x9FFFF without another sample question. The shipped Workbench asset was not compared with the source.
    • FM-106: At risk by itself: older stored user bank, if present (Beta4 does not store new edits). At risk when you act: 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: project A; project B; project C; project D. At risk when you act: user samples USR1; user samples USR2; user samples USR3; settings and panel calibration.
    • OberVave: At risk when you act: pattern 1; pattern 2; pattern 3; pattern 4; pattern 5; pattern 6; pattern 7; pattern 8; saved programs and global settings.
    • Polly: At risk by itself: Optional QY70 style bank; All four Polly songs; Polly shared memory 1; Polly shared memory 2; Polly shared memory 3; Polly shared memory 4. At risk when you act: Polly shared memory 5; Polly shared memory 6; Polly shared memory 7; Polly shared memory 8; Polly shared memory 9; Polly shared memory 10; Polly shared memory 11; Polly shared memory 12; Polly shared memory 13; Polly shared memory 14; Polly shared memory 15; Polly shared memory 16; Polly button and encoder calibration; Polly setup and channel sounds.
    • Skiff: At risk by itself: project A; project B; project C; project D; user sounds’ own FM6 patches; user sound bank 1 (only FM6 sounds can lose their own patches and fall back to a factory patch or the initial voice; other sounds remain; other writes can also erase it); user sound bank 2 (only FM6 sounds can lose their own patches and fall back to a factory patch or the initial voice; other sounds remain; other writes can also erase it). At risk when you act: user sample USR1; user sample USR2; user sample USR3; last session; shared 64-pattern pool; settings, calibration and favourites.
  • What the next firmware does to M-VAVE FM-1 Open's data.
    • Stock V15: 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; Open shared sample audio. 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.
    • Baud Girl FM-1+VA: Possibly at risk (layout reported or inferred): 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; Open shared sample audio. Open’s sixteen USER projects and device preferences are likely to be lost when installing Baud Girl, and its sample bank is also at risk. Her installer and package footprint have not been read, so these losses remain possible rather than source-proven. Export all projects and device samples before leaving Open.
    • Felucca: 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.
    • SLOOP: 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.
    • X0X: 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.
    • JIANT: 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. After M-VAVE Open, if no readable JIANT/Felucca-family settings copy remains, JIANT starts with RESTORE LAST OFF; its autosave writes only after you enable RESTORE LAST.
    • Melodee: 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.
    • FoMni: 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.
    • AMB-1: 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.
    • ChoralRoot: 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.
    • GHOULBOX: 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: 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.
    • Hortator: 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.
    • OberVave: 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.
    • Polly: 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.
    • Skiff: 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.
  • Who reads whose data. No other firmware reads M-VAVE FM-1 Open's data, and M-VAVE FM-1 Open reads none of theirs.
  • 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.

Installing stock V15 (including through Open’s own Workbench) or another mapped firmware with a verified install footprint wipes Open’s sixteen saved projects, preferences, shared staging copy and sample header, including the first 24 KiB of sample storage. The confirmed losses follow from the overlapping installation layouts. Baud Girl’s installer is not public, so assume the same loss when switching to it. Save and export before leaving Open; the switching advice in this section lists these risks and their evidence.

Export each project as .fm1. For audio backup, connect and use Read device sample bank, wait for completion, then Back up browser sample bank to save .fm1s. The browser starts with demos: export alone does not read your unit. To restore, load the .fm1s into the browser, then choose Write device sample bank and confirm. A project file contains no audio. All projects share one sample bank, with no second bank for an interrupted upload. Project staging is transaction recovery, not a backup.

Installing Open can also overwrite the firmware you are leaving before any project save. If no recognized sample header remains, the source-built V12 Workbench uploads its 76,436-byte factory bank, erasing 0x8D000–0x9FFFF without another sample prompt. This includes Felucca projects, JIANT song 1’s sections A–D, SLOOP sections A–D, X0X sound/stream data, overlapping FM6 or working-project copies, and Melodee bank data. The install’s backup checkbox is the warning. A valid bank is kept; read/CRC errors require restoring by hand. The computed length describes this tag’s source-generated bank; equivalence of the shipped Workbench module was not checked.

Open’s own Workbench stock-return action installs V15 and then replaces four stock voice banks with 128 factory voices, after confirmation. On a unit already running V15 it skips the firmware install and restores only those voices.

Open’s package places projects at 0x7C000–0x8BFFF, preferences within slot 16 at 0x8B000, shared staging at 0x8C000, and sample capacity at 0x8D000–0xFEFFF. Physical addresses are calculated from the package descriptor and relative SDK API. Preferences save automatically after edits and remembered-slot changes. Firmware startup reads records and reloads the remembered USER project into RAM without an APP storage write. Native loader details and private pairing-key writes remain closed.

V12 accepts the older 4048-byte Open project format, adds arp defaults in RAM, and writes the new 4064-byte format on the next save. A preference write can also migrate the project sharing its sector. The Workbench refuses a new project for an older device that reports only the old size; no reverse converter was found. Keep version-matched exports before going backward.

Where the docs and the firmware disagree

The Workbench contains the main ten-chapter user guide, with English text in sdk/I18n.js; README is the release/build overview. The remaining discrepancies concern its wording and the APP’s screen help:

Screen hintHandler behavior
Generic sound footer says SEL PAGESELECT turns full-edit pages; SEL jumps to scaling/curves or the non-FM advanced starting page
Guide describes SCL as opening scaling without a source restrictionOn non-FM tracks SEL opens advanced tone editing, at 303 page 2 or the other sources’ page 1

What remains unverified

The native engine’s DSP, sequencer, recording, arp, undo implementation, non-FM descriptor tables and exact key-to-note/pad assignments are closed. APP request paths and displayed labels are mapped; their hidden implementation is not claimed as source-read evidence. STEP_EDIT and RHYTHM enum values have no separate physical entry path at this tag, so this map uses the reachable SEQ pages instead. The JSON and storage fragment identify these gaps explicitly.

Mapped from m-vave/fm1_open at V12 (3be7fbd), 2026-10-16. Every control line is traced against the published APP source; the pinned sources are in [mvaveopen.json](mvaveopen.json). APP licence: GPL-3.0-only with the FM1 SDK linking permission; native SDK and other components retain separate terms. This independently written guide copies no firmware tables or figures and is not affiliated with M-VAVE.

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.