Dinghy
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.
dinghy-0.4.fwsc· 598 KB· +4 files
GPL-3.0· zvenson/dinghy·fm1.designburgapps.com·downloads come from the creator’s GitHub releases
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_getreturns 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.- dinghy-0.4.fwsc598 KB337↓
- dinghy-0.4-smk37-elite.fwsc636 KB57↓
- dinghy-0.4-smk37.fwsc636 KB56↓
- dinghy-0.4-smk37-mke.fwsc636 KB52↓
Show all 5 filesHide 1 files
Other files- MIDI: the FM-1's TRS MIDI IN next to USB in one queue (
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.
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.
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.shruns 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.fwscwith the FM-1 Firmware Hub orpython3 tools/fm1_install.py dinghy-0.1.fwsc. Package identity FM-1_991.
