Firmware

Joy / Sorrow

Hype: hot · 83

Firmware set with build guides for Patch.Init().

forElectro-Smith Patch.Init()·by@Eight4aWish

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

Download mirth-v1.1.0

mirth-v1.1.0-card.zip· 1.4 MB· +2 files

Custom license· Eight4aWish/eurorack_daisy_patch_init·eight4awish.com/modules/·downloads come from the creator’s GitHub releases

371 commits and 17 releases in the last year

eurorack_daisy_patch_init

Makefile-based firmware projects built on top of Electrosmith libDaisy and DaisySP, with some ports that also use Mutable Instruments' eurorack sources.

This repo is intended to be self-contained via git submodules (no shared external ../deps tree).

Released modules

Firmwares offered as finished modules are named after the nursery rhyme ("one for sorrow, two for joy…" — hence Eight4aWish):

NameFirmwareVersionBased onLicence
Sorrowdaisy_grids/v2.4.1Mutable Instruments GridsGPL-3.0-or-later
Joydaisy_braids_oled/v1.4.0Mutable Instruments BraidsMIT
Joy Litedaisy_joy_lite/v1.4.0Mutable Instruments BraidsMIT
Mirthdaisy_neural/v1.0.0NAM A2-Lite neural amp captures, and twelve not-ampsMIT
Mirth Litedaisy_neural/ (make LITE=1)v1.0.0as Mirth, for a stock patch.init()MIT
Secretdaisy_chaos/v1.1.0original (the Teensy Chaos), on the Hermetic Modular Alchemy SDKMIT
Wishdaisy_beads/v1.0.0Mutable Instruments Beads, on the Hermetic Modular Alchemy SDKMIT
Wish on Daisy patch.Init()daisy_beads_patch_init/v1.0.0Mutable Instruments Beads, for a stock patch.init()MIT

Joy and Joy Lite are the same macro-oscillator generation (shared calibration and DSP, so they carry the same version): Joy is the full 48-model version with an OLED navigator; Joy Lite is screenless — a curated 16 models (the ones Plaits doesn't cover) navigated by LED + button + toggle.

These are independent community works for the Electrosmith Daisy Patch Init, and Secret and Wish for the Hermetic Modular Alchemy Lab. Product names of other makers are used only to describe each firmware's origin — not affiliated with, or endorsed by, Mutable Instruments, Electrosmith or Hermetic Modular.

Build guides and downloads

Prebuilt .bin files, flashing instructions, panel STLs and a wiring guide for each module: https://eight4awish.com/modules/

Getting in touch

Email info@eight4awish.com.

I usually have a few spare front panels over from each print run — if you would like one, say which module and roughly where you are and I will come back to you on postage.

Questions about building or flashing are best raised as an issue, so the answer stays available to whoever hits the same thing next.

Clone

git clone --recurse-submodules <repo-url>
# or, if already cloned:
git submodule update --init --recursive

Submodules are expected at:

  • deps/daisy/libDaisy
  • deps/daisy/DaisySP
  • deps/mutable/eurorack

Build

These projects link against the static libraries built by libDaisy and DaisySP (and for some effects, DaisySP-LGPL).

You can either build the libraries once up-front:

make -C deps/daisy/libDaisy
make -C deps/daisy/DaisySP

…or just run make in a project directory; most project Makefiles will build any missing libraries automatically.

Most projects default to using repo-local deps. Typical usage:

cd daisy_multiosc
make

If you keep Daisy deps elsewhere, you can override on the command line:

make DAISY_ROOT=/path/to/daisy

(That directory must contain libDaisy/ and DaisySP/.)

Projects

  • daisy_multiosc/ – boot-selectable multi-engine synth for the Daisy Patch Init: pick a voice at power-up, all sharing one universal panel + OLED legend (BOOT_QSPI). Engines: FM4OP (4-op FM), INTVL (dual interval oscillator), SCAN (scanned synthesis), WAVES (plain VCO: sine, triangle, saw, square). See its README, the control contract in docs/PANEL.md, and docs/ROADMAP.md.
  • daisy_grids/ – Sorrow — drum machine: a pool of ten DaisySP drum models rolled by the B8 toggle, three pattern banks (one Grids' own, two derived here from open MIDI corpora via a self-organising map), per-part densities and automatic clock-resolution detection, based on Mutable Instruments Grids (GPL-3.0-or-later). Runs BOOT_SRAM, so it needs the Daisy bootloader.
  • daisy_braids_oled/ – Joy — macro oscillator (48 models) with 64x48 OLED menu navigation, based on Mutable Instruments Braids; on-module V/Oct calibration (hold B7 at power-up)
  • daisy_joy_lite/ – Joy Lite — screenless sibling: a curated 16 Braids models (the ones Plaits doesn't cover) in two toggle banks, model number shown by LED blink
  • daisy_multifx_oled/ – Multi-effect processor with 64x48 OLED: 16 effects in a 4×4 grid (Reverb / Delay / Tone / Misc banks), built on the shared multifx_core library (also runs on a bare Daisy Seed with a homebrew front end — see daisy_multifx_seed/)
  • daisy_fm4op/ – 4-op FM synth (standalone build, and the FM4OP engine for daisy_multiosc)
  • daisy_interval_osc/ – INTVL — Nick Donaldson's IntervalOsc: dual oscillator with quantized interval offset (ndonald2/DaisyPatches, MIT — see daisy_interval_osc/LICENSE-daisypatches.txt). His patch and README are kept as written; the multiosc engine is a port of that DSP onto the universal panel
  • daisy_scanned/ – scanned-synthesis engine source for daisy_multiosc (no standalone build)
  • daisy_neural/ – Mirth and Mirth Lite, released v1.0.0 2026-10-03: neural audio networks on the patch.init, all aimed at one module — the Dual Pingable LPG from eurorack_electronics, whose vactrol has the slow memory a static curve cannot reproduce. A NAM A2 capture first, then a CV-conditioned GRU so the gate gets a real knob. Release name Mirth. The NAM A2 engine runs captures off the microSD card (AMPS) — run on hardware 2026-09-28, 64% CPU, built BOOT_SRAM with the Daisy bootloader — plus twelve not-amps, captures bent inside the network with one steer control each and a dry/wet mix (NOT-AMPS). The sets were declared final on 2026-10-02. Bypass doubles as the pass-through firmware the AC/DC coupling bench check needs. The A2 engine is from bkshepherd/DaisySeedProjects (MIT — see daisy_neural/LICENSE-daisyseedprojects.txt). The captures it ships are a CC0/CC BY starter set, credited in STARTER_CAPTURES.md. See its README and CLAUDE.md
  • daisy_beads/ – Wish — released v1.0.0, 2026-10-12: a granular texture synthesizer for the Hermetic Modular Alchemy Lab (V2), based on Mutable Instruments Beads, from the source Émilie Gillet published on 2026-10-12. Beads' own DSP behind six knobs on two layers (the attenuverters become randomisers on a held-B3 layer), three buttons and six CV/gate jacks. Built like Secret on the Alchemy SDK, with a Mac render check (make host-test). See its README
  • daisy_beads_patch_init/ – Wish on Daisy patch.Init() — released v1.0.0, 2026-10-12: Wish on a stock patch.init(), no screen. The same Beads DSP, pot laws and load governor as daisy_beads/, which it builds from; four knobs on three layers (PLAY, TONE, and RANDOM while B7 is held), FREEZE on B7, SEED and FREEZE on the gate inputs, Beads' grain gates on GATE OUT 1, and Joy's V/OCT calibration. See its README
  • daisy_chaos/ – Secret — released v1.1.0, 2026-10-12 (v1.0.0 2026-10-02), twelve models: chaotic-attractor oscillator for the Hermetic Modular Alchemy Lab (V2), with V/Oct and a TAME control that settles each model on one of its own periodic orbits (delayed feedback control). Successor to the Teensy Chaos module in eurorack_modules. Unlike the other apps it builds against the Alchemy SDK's own pinned libDaisy (deps/alchemy-sdk, MIT). See its README and docs/SECRET.md

Shared code

  • common/multiosc_core/ – host/framework for daisy_multiosc: the Engine interface, boot chooser, B7 gestures (short = cycle, long = Play/Edit), soft-takeover, and the OLED legend. See its README.
  • common/multifx_core/ – portable, DaisySP-only MultiFX DSP/UI core (reverb, delay, tone and misc effect banks, output voicing, and a Bank/Patch navigation model) shared by daisy_multifx_oled (and its homebrew Daisy Seed variant), and intended for reuse on other Daisy boards. See its README.
  • common/chaos_core/ – platform-independent chaotic-attractor DSP (<math.h> only): the ChaosBase interface, twelve RK4 attractors in two banks, the Voice renderer, and host tools (characterise, periodmap, pitchmap). Moved here from eurorack_modules. See its README.
  • common/voct_cal.h + common/joy_dsp.h – shared by Joy and Joy Lite: the two-point V/Oct calibration math, and the envelope + fixed-point DSP helpers. Only each build's front-end (OLED navigator vs screenless LED/toggle) differs.
  • common/ also holds the shared oled_soft_i2c SSD1306 driver used by the OLED projects.
  • common/tools/ – host-side panel checks (make check): builds the real OLED driver and the real legend/menu layout with a PC compiler and asserts nothing falls off the 64x48 screen. The panel fails silently — a row one pixel too low draws nothing at all — so this catches layout bugs without a bench cycle. See its README.

Credits & Licenses

This repository combines original code with several third-party ports. Original code and integration work is MIT-licensed (see LICENSE). Vendored and submoduled sources retain their own licenses and copyright headers, which are kept intact. Names below are trademarks/marks of their respective owners; the ports here are community works and are not official or endorsed.

ComponentAuthor / upstreamLicense
libDaisy, DaisySPElectrosmithMIT
DaisySP-LGPL (linked by daisy_interval_osc, daisy_multiosc)Electrosmith + upstreamsLGPL-2.1
Alchemy SDK (deps/alchemy-sdk, linked by daisy_chaos / Secret and daisy_beads / Wish) – Alchemy Lab board support and frameworkHermetic Modular (alchemy-sdk)MIT. Everything compiled into secret.bin and wish.bin, with the notices a binary must carry: daisy_chaos/NOTICES.txt, daisy_beads/NOTICES.txt
daisy_chaos/panel/ (Secret faceplate) – the KiCad front-panel template it is made fromHermetic Modular (alchemy-sdk/panel)MIT (notice)
daisy_braids_oled (Joy) – Braids DSPÉmilie Gillet (Mutable Instruments, eurorack)MIT
daisy_beads (Wish) and daisy_beads_patch_init (Wish on Daisy patch.Init()) – Beads DSP, and the one header it changes (src/upstream/)Émilie Gillet (Mutable Instruments, eurorack)MIT
daisy_interval_osc (INTVL) – IntervalOsc patch + the DSP behind the multiosc engineNick Donaldson (ndonald2/DaisyPatches), after Electrosmith DaisyExamplesMIT (notice)
daisy_neural (Mirth) – NAM A2 runtimeKeith Shepherd (bkshepherd/DaisySeedProjects), after forum code by nadavbMIT (notice)
daisy_neural (Mirth) – the twelve starter captures, and the compiled-in fallback (Orange TH100)their authors on TONE3000, each credited in STARTER_CAPTURES.mdCC0 or CC BY, per capture. Captures are never committed; the starter set ships as a release asset
daisy_grids (Sorrow) – Grids pattern generatorÉmilie Gillet (Mutable Instruments)GPL-3.0-or-later
daisy_multiosc (host + SCAN engine), daisy_scanned, daisy_fm4op, daisy_multifx_*, daisy_chaos, daisy_beads, common/, integration and the ports of the aboveDavid BaghurstMIT

Notes:

  • Modifications. Ported sources have been modified for this hardware (for example, replacing the panel toggle switch with an OLED screen and on-screen control legends). Modifications are noted in the relevant file headers alongside the original copyright notices; the original notices are never removed.
  • GPL (Sorrow). Mutable's Grids is GPL-3.0-or-later — unlike most of the eurorack sources, which are MIT. So daisy_grids (Sorrow) is copyleft: distributing it, source or binary, obliges you to pass on the complete corresponding source under the GPL. It cannot be relicensed to MIT/CC0. The full GPL text is daisy_grids/COPYING.
  • Notices with every release binary. A .bin is our code compiled together with libDaisy, ST's HAL and CMSIS (and, by app, the Alchemy SDK, DaisySP or Braids), and those licences ask for their notices to go with a binary as well as with the source. common/tools/notices.py writes <app>/NOTICES.txt from the licence files in the sources each build uses. Each release attaches it as <tag>-NOTICES.txt (Secret, Joy, Joy Lite and Sorrow since 2026-10-02; Wish and Wish patch.Init() from their first releases).
  • LGPL. daisy_interval_osc links Electrosmith's DaisySP-LGPL. Because full source is published here, LGPL relinking obligations are satisfied. If you distribute prebuilt binaries (e.g. attaching .bin files to a release), include a pointer to this source so the LGPL portions can be relinked.
  • Trademarks vs. copyright. The licences above grant rights to the code, not to product names ("Braids", "Grids", "Beads", "Mutable Instruments", "Daisy"). Released modules therefore carry their own names (Sorrow, Joy); the originals are cited only to describe lineage. These are community works and do not imply endorsement.