Dinghy, image 1 from its README
Firmware

Dinghy

Hype: warming · 60

Minimal documented starting point for writing your own FM-1 firmware.

forM-VAVE FM-1·by@zvenson

Unclaimed. Is this yours? Sign in with GitHub as @zvenson to claim it.

Download v0.4

dinghy-0.4.fwsc· 598 KB· +4 files

GPL-3.0· zvenson/dinghy·fm1.designburgapps.com·downloads come from the creator’s GitHub releases

10 commits and 4 releases in the last year
4 releases
  1. v0.4Dinghy 0.4Latest5 files

    Dinghy 0.4 brings OberVave's platform over to the base:

    • MIDI: the FM-1's TRS MIDI IN next to USB in one queue (midi_get returns 1 for USB, 2 for TRS); clock, start, stop and continue reach the app. The demo shows an incoming clock's tempo, blinks PLAY on the beat, and PRESETS sets a MIDI channel (OMNI or 1-16) for in and out.
    • Storage: settings up to 4 KB, 8 blobs of 4 KB, 8 slots of 16 KB, each with a CRC (store.h).
    • LCD_IDLE: the app reads MIDI while the screen's DMA runs, so notes don't wait for a redraw.
    • The update loader's screen (FM-1): your name in your colour, a progress bar, what to do.
    • SMK-37 (Pro, Elite, MKE-P37): ./build.sh --board smk37 [--model elite|mke], the same app with velocity, outer keys, 16 coloured pads, faders and the pitch wheel (genkigenki's board layer).
    • Tests and CI: tests/run_tests.sh (host app, flash maps, update path, loader, installer); a tag builds, tests and releases with a build attestation.

    Tested on the host and in CI. The platform code runs on the device in OberVave; Dinghy 0.4 itself has not been tried on an FM-1 or SMK-37 yet.

    Packages: dinghy-0.4.fwsc (FM-1, FM-1_994), dinghy-0.4-smk37.fwsc (SMK-37 Pro), -smk37-elite, -smk37-mke.

  2. v0.3Dinghy 0.31 file
    • Fix: a key stops the note it started. Changing the octave while a key was held left that note hanging.
    • Host mode: build/host/dinghy OUT script.txt [FPS] runs your own script (keys, buttons, MIDI over time) and, with FPS, writes a frame every 1/FPS s: a film of your firmware's screen (see tests/host.c).

    Package identity FM-1_993.

  3. v0.2Dinghy 0.21 file

    Dinghy in lilac: the new logo (the designburg signet on a sine wave, dark purple) and the screen's accent. Nothing else changed: the same 4-voice sine and platform as 0.1. Package identity FM-1_992.

  4. v0.1Dinghy 0.11 file

    The first Dinghy: the smallest firmware for the M-VAVE FM-1 to build your own on.

    • A 4-voice sine on the keys, USB-MIDI in (with velocity) and out, OCT−/OCT+ kept in flash, MASTER volume.
    • Under it, done: updates through the web installers and the FM-1 Firmware Hub, the USB rescue (OCT− at power-on), USB-MIDI, USB audio (44.1 / 48 kHz), keys, encoders, LEDs, the screen, a settings sector, a crash screen.
    • Host mode: tests/run_host.sh runs the app on your computer (screen as PNG, sound as WAV).
    • Docs: README, docs/API.md, docs/RULES.md, docs/MAKE-IT-YOURS.md.

    Tested on the FM-1: install, MIDI pitch and polyphony, USB audio, keys, screen, and back to another firmware.

    Install dinghy-0.1.fwsc with the FM-1 Firmware Hub or python3 tools/fm1_install.py dinghy-0.1.fwsc. Package identity FM-1_991.