Skip to content
altstrument

Velo

Firmware for FM-1 (M-VAVE)

Experiment that reads key velocity and aftertouch from the FM-1's rubber-dome keys with no hardware changes, by sampling two key rows with the chip's ADC; a small FM voice and USB MIDI output show the result.

by Charles Vestal

ActiveSource: openGPL-3.0-only

Brick risk. Flashing this carries a known, documented risk of damaging the device.

Distribution
Build from source yourself
Source
github.com https://github.com/charlesvestal/fm1-velocity

Description

The FM-1 keys give only on or off, but a carbon pill's resistance falls with force. Velo samples that between key-scan ticks and takes velocity from the time between a touch and a press threshold. Twenty of the 27 keys are read; the top seven play at a fixed velocity. The screen shows each press as a curve, and a host script logs presses to CSV. The author parked it on 2026-10-14 with per-key calibration not yet right.

Install notes

Build build/velo.fwsc with ./build.sh and flash it with tools/fm1_install.py. Chords, aftertouch in drive mode and release velocity are untested or not sent.

Version history

Velo version history
VersionDateNotes
main @ 8f62ce02026-10-14No tagged releases; this is the latest commit.

Back to FM-1