Wakes, image 1 from its README
Firmware

Wakes

Hype: warming · 72

Sample player firmware that combines Mutable Instruments engines.

forTeenage Engineering / KANO Stem Player (SP-1)·by@Worldwave

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

Download v0.9.0

wakes-sp1-fresh.bin· 530 KB· +7 files

MIT· Worldwave/Wakes·downloads come from the creator’s GitHub releases

36 commits and 11 releases in the last year

Wakes: a love letter to Mutable Instruments, by Worldwave

Wakes is a semimodular synthesizer, built as a custom firmware for the SP-1, an unreleased Teenage Engineering stem player that was turned into a dev board by its community.

Wakes combines code from three Mutable Instruments modules:

  • Plaits: A macro-synthesizer voice, featuring multiple sound engines
  • Marbles: A playful random sequencer
  • Yarns: A MIDI translator

The development of Wakes is unaffiliated with Teenage Engineering or Mutable Instruments.

CRITICAL: Flash custom firmware on the SP-1 at your own risk. SP-1s are abandonware, they do not have manufacturer support. There is no way to go back to the base firmware once you've flashed it away.

Wakes is a work of love by Worldwave | Adara Barami. If you'd like to support the Worldwave project, or just thank me in a helpful way for something that I did, you could donate to my Ko-Fi! Thanks for your consideration 🙏🏻💜

📖 Manual

Wakes – Manual (PDF): The manual details the layout of each page, with every control and how to use them, in an aesthetically pleasing and readable format. Once you've installed Wakes on your SP-1 using the Flashing section below, start here.

Status

v0.9.0, pre-release for beta testing. Report problems with the bug form under Issues.

Flashing

  1. Wakes features new storage protocols for the SP-1. If you've never used Wakes before, or are updating from previous versions below v0.9.0, you need to format your storage partition. use the fresh bin. Download the latest Fresh bin wakes-sp1-fresh.bin here.
  2. v0.9.0 introduces breaking changes, so it is not recommended to update using the normal wakes-sp1.bin, however you can still Download the latest regular bin wakes-sp1.bin here.
  3. Older Wakes versions and release notes are available through the repo's releases page.
  4. Open https://solderless.engineering. Hold down T1+T4. Keep them held while connecting the SP-1 over USB-C.
  5. Follow solderless.engineering's instructions on how to connect to your SP-1 to flash it.
  6. Select the .bin in Solderless Engineering's "firmware utility" page, flash it, and once done, you can unplug.
  7. The first time you turn Wakes ON after flashing a fresh bin, it will perform a short format of the eMMC card. Give it a moment.

The T1+T4 recovery trigger in step 4 lives in Teenage Engineering's bootloader, not in Wakes, so it works with whatever firmware is installed. Wakes never writes below the flash memory's 0x20000 (and neither should your CFW's), because that's where the bootloader lives.

Configuration

Wakes keeps its settings as .cnfg files on its own drive, in WAKES/CNFG/: You can customize your engine stack (engines.cnfg), MIDI handling (midi.cnfg), USB audio settings (audio.cnfg) and logging (logs.cnfg). Plug the SP-1 into a computer while it's in STANDBY (OFF, with USB plugged in), edit a file in a text editor, eject, and turn it ON to apply. Each file contains a detailed guide on how to use it. Delete a file to reset it to defaults; Wakes writes a fresh copy with the defaults at the next ON. No fork or build needed.

The files in this repository's config/ are the defaults built into the firmware, not your device's settings. Edit them only to build Wakes with different defaults (config/README.md).

Building

Zephyr v4.3.1 and Zephyr SDK 0.17.4, both pinned. The workspace path must not contain spaces, and the clone must be named wakes-sp1.

mkdir sp1-ws && cd sp1-ws
git clone https://github.com/Worldwave/Wakes wakes-sp1
west init -l wakes-sp1 && west update
cd zephyr && git apply ../wakes-sp1/zephyr-patches/nordic-cmsis-system-core-clock.patch && cd ..
pip install -r zephyr/scripts/requirements.txt
west build -p always -b stem_player wakes-sp1/firmware -- -DBOARD_ROOT="$PWD/wakes-sp1"

Output: build/zephyr/wakes-sp1.bin. The Zephyr patch is required and is lost on every west update. Windows setup and troubleshooting: docs/BUILD.md.

Reference

docs/UI-PAGES.mdevery control on every page, in detail
config/engines.cnfgthe default engine stack: which engine sits in each of the 24 slots, and what every engine does
docs/PLAITS-ENGINES.mdevery engine, its faders and its CPU cost
docs/MARBLES-SETTINGS.mdMarbles models, ranges and scales
docs/DEFAULTS.mdevery default, and what a reset restores
docs/MIDI.mdMIDI over USB: what it does, and how to change it
config/midi.cnfgthe MIDI script: channel, legato, CC numbers (the default; Wakes reads WAKES/CNFG/midi.cnfg on its drive at every ON)
config/audio.cnfgUSB audio out: its level (parked or on VOL) and the speaker while a host records (the default; Wakes reads WAKES/CNFG/audio.cnfg on its drive at every ON)
config/logs.cnfgthe log Wakes writes to its drive, WAKES/LOGS/ (the default; Wakes reads WAKES/CNFG/logs.cnfg on its drive at every ON)
docs/SAFETY.mdrules for anyone changing the firmware

Licence

MIT, Copyright (c) 2026 Worldwave | Adara Barami. See LICENSE. A few files are Apache-2.0 instead, because they derive from Zephyr (Apache-2.0); NOTICE lists them.

Plaits, Marbles and stmlib are by Émilie Gillet (MIT), included unmodified in third_party/eurorack/; the MIDI note handling is ported from her Yarns. The USB-MIDI class is feldd's (bnjreece/feldd-sp1-firmware, MIT), included unmodified in third_party/feldd/. The board support builds on chattock/sp1-tape-looper, timknapen/SP-1-dev and ericlewis/sp1-midi (all MIT). Details in NOTICE and LICENSES/.