01/Quickstart
Your First Firmware
Get a properly set up SDK environment and get a custom firmware deployed fast.
Install the toolchain
brew install git make dfu-util
brew install --cask gcc-arm-embedded
sudo apt install git make gcc-arm-none-eabi dfu-util
Clone the template
alchemy-template is the recommended starting point: a standalone project that vendors the Alchemy SDK and libDaisy as git submodules and builds with the standard Daisy make workflow. It ships as a complete, working firmware: a dual mono three-band EQ that opts into the full framework stack.
If you aren't familiar with git submodules: they're essentially mini-linked git repositories within your git project. They version separately from your main repo, so you can choose when to bump SDK versions by just pulling down the latest into that submodule.
git clone --recurse-submodules https://github.com/hermetic-modular/alchemy-template.git my-module
cd my-module
make libdaisy # Do once
make # build the firmware -> build/stereo_eq.bin
Flash it
- 1
Connect the front USB-C port
The panel port, not the one on the Daisy Seed inside. - 2
Enter update mode
During the ~2 second window after power-on, while the rings spin a warm-white comet, press B3 (or just hold it while powering on). The rings switch to a slow breathe and the module waits in DFU mode until flashed or reset. - 3
Program
Runmake program-dfu. When it finishes, the module reboots into your build. Even more conveniently, you can runmake program-liveto force a reboot and flash of the module outside the bootloader, if hostlink is enabled.
Tip
.bin straight from the browser over the same port.Make it yours
- 1
Rename the firmware
ChangeTARGETat the top of the Makefile (this names the.bin), rename thesrc/files to taste, and updateCPP_SOURCESto match. - 2
Bring your own DSP
Replacestereo_eq_dsp.*with your process function, then rewire the knobs, pages, and CV routing in the main file.
Two Examples
The template is the full-stack on-ramp: pagination, pot catch, param lock, CV routing, presets, settings, LED animations, all live from the first build. The SDK's examples/kick is the more minimal contrast: one page, six knobs, no persistence, about 130 lines. You can also go bare metal with the BSP or pure libDaisy, and opt out of the Framework entirely.
Next: the five ideas those lines are built from. Fundamentals breaks down the philosophy more.