PORT KIT

Migrate FM-1 firmwares to the SMK-37. Develop agnostic of the board.

github.com/genkigenki/fm1-to-smk37
// fm1-to-smk37 · what it is

Same chip. More controls.

The FM-1 and the SMK-37 share the JieLi AC791N, the boot chain and the update loader. The kit holds what a coding agent needs to move an FM-1 firmware across: a board patch series, the hardware map, a playbook with hard rules, mapping patterns from the ports so far, and a setup file for your decisions.

// how it works with Claude

Steps to migrate

claude

> Clone <firmware repo> and github.com/genkigenki/fm1-to-smk37, then port the firmware to the SMK-37. Follow fm1-to-smk37/AGENTS.md step by step. Ask me the setup questions first. Keep the FM-1 build byte-identical. Never write the protected flash ranges. Ask me before you flash the SMK-37.

Start Claude

Open Claude Code in an empty folder on your PC (Windows with WSL, or Linux) and paste the prompt. It clones the firmware and the kit and sets up the toolchain; you approve each command.

Extend features

Claude asks what the pads, faders, outer keys and wheels should do, and maps them.

Automatic build

Board layer, both builds and tests.

Test

You test the build and give feedback; Claude fixes.

Publish

An upstream pull request and your own release.

// mapping patterns

What the SMK-37 adds

The controls the FM-1 does not have, and how the ports use them.

16 RGB velocity pads
RGB pads16 velocity pads with RGB LEDs: track colours, playhead, state at a glance.all ports
Pads as 16 steps in track colours
Pads as stepsThe FM-1's 16 white keys in reading order, in the track colours.Snoop37 · X0X37 · Felucca
Pad sound picker
Sound pickerTurn the sound knob: one kind of sound on the pads. Tap to pick and preview.Snoop37
Pads gate voices, a CHAOS pad
Voices + CHAOSPads switch voices on and off; one pad for CHAOS.Makkuro37
Pads as a strum plate
Strum plateHold a chord on the keys, swipe a row of pads.FoMni37
Fader banks
Fader banksLevel, filter, reverb, delay per track. A fader takes over once moved.Snoop37 · Makkuro37 · FoMni37
Outer keys extend the range and play drums
Ten more keysMore notes on synth tracks, drums on the drum track.Snoop37
Pitch and mod wheels
Pitch and mod wheelsBend and vibrato, or one macro. Self-calibrating.all ports
// ported with the kit

Examples

Makkuro37

new firmware · genkigenki

A microtonal drone synth. Pads switch eight voices.

Snoop37

SLOOP · the reference port

Track-colour pads, sound picker, fader banks.

PR isod89/sloop-fm1#112

X0X37

fm1-x0x · Charles Vestal

Drum machines and 303s, pads as the step grid.

PR charlesvestal/fm1-x0x#13

FoMni37

fm1-fomni · Charles Vestal

A chord harp: strum the pads, chords on the keys.

PR charlesvestal/fm1-fomni#2

MAKU37

maku · okumurari2

An ambience machine: verbs on the buttons and wheels, likes on the pads.

PR okumurari2/maku#3

Also: the SMK-37 as a build target in Felucca, hugelton/Felucca#237.

// part of the kit

Develop for both

One source tree builds the FM-1 and the SMK-37. The kit describes how: docs/07-develop-for-both.md.

Capability layer

Features ask what the board has (pads, faders, wheels, outer keys, RGB), with an FM-1 fallback in the same place.

Build matrix

FM-1 byte-identical, SMK per model, host tests, on every change.