Firmware

smack-alchemy

Hype17/100

Smack for the Hermetic Alchemy Lab V2: live loop capture, slicing and seeded glitch, with USB audio, Launchpad / Launch Control XL / Haute42 control and SD-card firmware switching

smack-alchemy is custom firmware for the Hermetic Modular Alchemy Lab, by @timncox. Latest release v0.2.0 (September 2026).

forHermetic Modular Alchemy Lab·by@timncox

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

Downloads
0
Stars
0
Forks
0
Commits
30
Last commit
Download v0.2.0

smack_alchemy.bin· 376 KB

Custom license· timncox/smack-alchemy·timncox.github.io/smack-alchemy/·downloads come from the creator’s GitHub releases

30
Commits
1
Releases
30 commits and 1 release in the last year
Activity · last 12 months

smack-alchemy

Smack — live loop capture + seeded per-slice glitch — for the Hermetic Modular Alchemy Lab V2, built on the Alchemy SDK.

Same C engine as smack-versio, recompiled for six pots on two pages, three buttons, six CV jacks and 102 LEDs. Records everything you play into a ring, grabs the last LENGTH steps on demand, cuts the loop into slices and runs a seeded pattern of effects across them.

Status: v0.1.0 builds and passes its native suites. Nothing has been heard yet. See DESIGN.md for the control map, what is verified and what is not.

Build

Requires arm-none-eabi-gcc, make, dfu-util.

git clone --recurse-submodules <this repo>
cd smack-alchemy
make libdaisy        # once
make                 # build/smack_alchemy.bin
make test            # native suites, no hardware

Flash

Front USB-C with the factory bootloader: hold B3 during the ~2 s boot window (rings spin a warm-white comet), the rings switch to a slow breathe, then:

make program-dfu

or the web programmer. Once this firmware is running on the front port, make program-live reboots and flashes without touching the module.

Bench setup (Hermetic's intdfu bootloader on the Seed's micro-USB): same gesture on the micro-USB port; build with BENCH_USB=1 if you want HostLink there too.

Firmware on the SD card

Put .bin files built for the Alchemy Lab bootloader in a folder named alchemy on a FAT32 card. Hold B2+B3 for two seconds, tap B1 to the Firmware page, pick a file with the top-left pot, then turn the top-right pot down and all the way up. It writes, verifies, and reboots into the chosen firmware.

The site

docs/index.html is the operation manual, a single file meant for GitHub Pages from main:/docs. Its panel drawing is generated from the SDK's KiCad front-panel template by tools/emit_panel_geometry.py; run it with --check before publishing and --write after the template changes, and never hand-edit the coordinates. The repository URL the page links to is one constant at the top of the file.

Files on the card over USB

tools/hostlink-fs.mjs speaks HostLink's filesystem block, so images reach the card without pulling it:

node tools/hostlink-fs.mjs info                       # mounted? FAT32? size
node tools/hostlink-fs.mjs ls /alchemy
node tools/hostlink-fs.mjs mkdir /alchemy
node tools/hostlink-fs.mjs put build/smack_alchemy.bin /alchemy/smack_alchemy.bin --overwrite

The picker lists files in on-disk order, one dot each, so the order you upload them is the order the FILE pot walks.

Not a Hermetic Modular product

Custom firmware. Hermetic Modular did not write, test or endorse it; ask here, not there.

License

MIT (this firmware). The vendored engine is Tim Cox's; see the file headers.

src/usbd_ctlreq_uac.c is STMicroelectronics' usbd_ctlreq.c from the STM32 USB Device Library (as shipped in libDaisy), changed only to allow three interfaces; it stays under ST's license, in src/LICENSE-ST-USB.md.