Hermetic Modular
Hermetic Modular

Alchemy Lab
Hardware Manual

The platform reference for the Alchemy Lab. Every firmware manual treats this as its preamble. For firmware-specific operation, see the module manuals.

The Alchemy Lab is a 12 HP, 3U Eurorack module: six pots ringed with addressable LEDs, three buttons, ten jacks, front USB-C, a rear micro SD slot, and a rear expansion header. What it does is decided by firmware.

01

At a glance

Format. 3U Eurorack, 12 HP, skiff-friendly depth.

MCU. STM32H750 at 480 MHz, on a Daisy Seed 2 DFM.

Audio I/O. Stereo codec in (J1, J2) and out (J9, J10). Inputs AC-coupled, outputs DC-coupled. 24-bit at the codec; firmware defaults to 48 kHz, 32 kHz and 96 kHz also available.

CV jacks. Six field-programmable jacks (J3–J8). Each can be CV in or CV out under firmware control. ±5 V range at the panel.

Controls. Six pots ringed with 16 addressable LEDs each, three buttons (B1, B2, B3) with two LEDs each. 102 RGB LEDs total. Roles defined by firmware.

USB-C. Front-facing. DFU during the bootloader window; USB MIDI when the firmware exposes it.

Storage. Rear micro SD slot on SDMMC1, exposed as FatFS volume 0:.

Expansion. Rear 20-pin header — SPI1, I²C, USART1, ±12 V, 3V3A, ground, and B4–B8.

Power. +12 V: 100–199 mA (varies with LED brightness). −12 V: 50 mA. +5 V: not used. Standard Eurorack 16-to-10 pin power cable on a 10-pin module header.

02

Front panel

Six pots in a 3×2 grid in the middle band, each wrapped in a 16-LED ring laid out as a twelve-hour clock face.

Three buttons (B1, B2, B3) sit between the pots. Each has two LEDs underneath. Button roles are firmware-defined — the running firmware tells you what they do on the rings.

The front USB-C connector is on the front panel.

03

Jacks

Ten jacks total. J1, J2 are codec inputs; J3–J8 are field-programmable; J9, J10 are codec outputs. All output ±5 V at the panel; CV inputs accept ±5 V.

J1, J2 — codec inputs. AC-coupled stereo audio for typical application. Also usable as 1-bit trigger inputs via rising-edge detection against a configurable threshold.

J3-J8— Switched Jacks. As output at 12 bits. As input, sampled by the on-MCU ADC at 16 bits at audio rate. Direction is firmware-selected via an analog switch.

J9, J10 — codec outputs. DC-coupled, 24-bit, audio-block latency. Firmware can claim these as precision CV outputs via EnableCvOutput().

Calibrated boards are accurate to ±10 mV on input and ±50 mV on the switched outputs. Uncalibrated falls back to nominal coefficients (3–5 % of full scale).

04

LED panel

102 individually addressable RGB LEDs: 16 per pot ring (96 total) plus 2 under each button. Global brightness defaults to 30 %. Do not push this higher for thermal and power draw reasons.

The SDK animation library composes onto rings as Fill, Selector, Pip, LevelArc, ColorMorphArc, CatchPip, ActionGesture, SlotIndicator, Sparkle, and other primitives. Firmware manuals describe how each effect uses them.

05

Audio engine

48 kHz default sample rate; 32 kHz and 96 kHz also available in the codec configuration. 24-bit codec. Audio is processed in 24-sample blocks (~2 kHz control rate at 48 kHz) in float throughout the DSP path. This can be configurated differently via the BSP, see the SDK.

06

USB-C and MIDI

The front USB-C port is the DFU port during the bootloader window and a USB MIDI device once a firmware exposes it. USB MIDI is supported on the platform.

USB host/device connections are additionally configurable for advanced connectivity use cases.

07

Calibration

Hold B1 + B2 while the module powers up (or while you reset it) to run the factory calibration. The procedure takes roughly 15 seconds. Ensure no jacks are plugged in.

The firmware reads the STM32 VREFINT reference (falling back to an assumed 3.30 V VDDA if VREFINT is out of range), then sweeps each of J3–J8 through a DAC → jack → ADC loopback to fit per-jack linear coefficients. The result is a 120-byte record written to a dedicated QSPI sector at 0x9075F000. Because the record lives in QSPI rather than the application image, calibration survives firmware reflashes — calibrate once per board.

The rings narrate the sweep; confirm all six rings move through their full range without locking on saturation before accepting the result. Firmware queries via hw.IsCalibrated() and applies calibration transparently through SetVolts() and Volts().

In other words, an advantage of using the SDK is transparent application of calibration for all get/set voltage actions.

08

Bootloader and firmware updates

On every power-on the module spends about two seconds in its bootloader. The rings render a warm-white comet during the window. Press B3 inside the window — or hold B3 before applying power — to latch into update mode. The rings switch to a slow breathe and the front USB-C port enumerates for DFU until you flash or reset.

This bootloader is flashed independently of the core firmware via the Daisy USB port.

The simplest way to flash new SDK firmwares is the web flasher at hermeticmodular.com/program. Plug in USB-C, enter the bootloader, and click the firmware you want. dfu-util works the same way at the command line.

A running firmware can re-enter DFU programmatically by calling daisy::System::ResetToBootloader(daisy::System::BootloaderMode::DAISY_INFINITE_TIMEOUT). The bootloader source is open at github.com/hermetic-modular/alchemy-lab-bootloader.

09

Expansion header

The rear 20-pin header exposes SPI1, an I²C bus, USART1, +12 V, −12 V, 3V3A, ground, and direct connections to Daisy Seed 2 pins B1–B8 (firmware-addressable buttons). The 3V3A rail is for low-current analog accessories, not a Eurorack-grade supply.

The authoritative pin map is in the Alchemy SDK README. Refer to it before soldering anything to the header.

10

Open SDK

MIT licensed. C++ / CMake on top of Electrosmith's libDaisy. The Alchemy framework adds LED animations, pot-catch, parameter-lock, presets, pagers, a CV matrix, a musical clock, and a control-loop driver. Worked examples ship for stereo EQ, kick drum, clock sync, CV playground, calibration test, and LED test. Clone, build with the cmake preset for your board, flash over USB-C.

11

Care

Power down the case before inserting or removing the module and observe the red-stripe convention on the power cable. The front USB-C and rear micro SD are not hot-swap-rated; insert and remove cards and cables with the module powered off.

12

Safety, warranty, and assumption of risk

Please read this section in full before powering, modifying, or expanding the module. Use of the Alchemy Lab — including powering it, connecting signals to it, flashing firmware, soldering or applying third party accessories to the expansion header, or running third-party or user-written code — constitutes acceptance of the terms below, including the limitations of warranty and liability. If you do not accept these terms, do not use the module and contact us for return information.

Power and electrical safety

The Alchemy Lab is designed for Eurorack power only: regulated ±12 V supplied through a standard 16-to-10 pin Eurorack power cable on a Doepfer-compatible bus board. Do not connect any other voltage, AC source, or laboratory supply to the module's power header. Always observe the red-stripe convention — the red stripe on the ribbon corresponds to −12 V. Reversed power cables can permanently damage the module and are not covered by warranty.

Power down your case before inserting or removing the module, or before connecting or disconnecting the rear expansion header. Do not hot-plug the power ribbon. Do not draw current from any rail beyond the limits documented here. Do not bridge or short any pin on the expansion header to any other pin, to chassis ground, or to any external supply.

Signal limits

CV and audio inputs accept up to ±12 V at the panel. Do not apply voltages outside this range, do not connect mains voltage, line-level outputs above ±12 V, speaker outputs, guitar pickups driven by external power, or any source capable of delivering more than a few milliamps into a short. Inputs are protected against typical Eurorack-environment faults but are not isolated. Switched jacks (J3–J8) may be configured as outputs by firmware. Do not connect switched jacks to low-impedance loads, batteries, or powered devices.

Listening and monitoring

Firmware may produce signals at the full output range without warning, including very low frequencies, very high frequencies, sudden transients, feedback, and content substantially louder than the input. Reduce monitoring levels before loading new firmware, before connecting new cables, before changing routing, and before adjusting any control whose effect you do not yet know. Protect your hearing and your speakers, headphones, and amplifiers. Hermetic Modular is not responsible for hearing damage, equipment damage, or losses caused by output content from this module. Eurorack signals are VERY HOT! Be careful with your ears, particularly with headphones, which should never be used directly connected to the output jacks.

Environment and handling

Operate the module indoors, in a dry environment, at normal room temperature . Do not expose the module to liquids, conductive dust, solvents, or corrosive atmospheres. Allow ventilation around the module and the host case. The Alchemy Lab contains static-sensitive components — handle the bare PCB by its edges, ground yourself before touching the rear of the module, and avoid touching the expansion header pins, the Daisy Seed 2 DFM, or any exposed component leads unnecessarily.

USB, SD, and accessories

Use standards-compliant USB-C cables and a known-good host. Do not use USB-C cables of unknown origin, damaged cables, or "fast charge" cables that negotiate non-standard voltages. Generally, insert and remove the SD card with the module powered off; removing the card while in use can corrupt the filesystem and any unsaved firmware data.

Expansion, modification, and user code

The rear expansion header, the open SDK, and the firmware-update path are provided so that you can extend and customize the module. You assume all responsibility for anything you connect to the expansion header, anything you solder to the module, any firmware you write or flash from third parties, and any consequences thereof — including damage to the module, damage to connected equipment, and loss of data.

Firmware that exceeds documented limits — including but not limited to running the LED array at sustained high brightness, driving switched jacks into hard shorts, disabling safety interlocks, overclocking the MCU, disabling thermal limits, or misconfiguring the codec or power-management peripherals — is not supported and may damage the module. Such damage is not covered by warranty.

Repair

The Alchemy Lab is designed to be serviceable and many parts (Daisy Seed 2 DFM, panel hardware) are replaceable. However, do not attempt repair beyond the scope documented in the SDK and platform documentation without contacting us first. Unauthorized repair, modification, or removal of the Daisy Seed 2 DFM may void the warranty for the affected components. If you suspect a hardware fault, email hello@hermeticmodular.com before opening or desoldering anything, and we'll work to help you out.

Limited warranty

Hermetic Modular warrants the Alchemy Lab against defects in materials and workmanship for one (1) year from the date of purchase by the original retail purchaser. During the warranty period we will, at our option and as the exclusive remedy, repair or replace any module found to be defective when used in accordance with this manual and the published platform and SDK documentation. Proof of purchase is required. Return shipping arrangements and any applicable duties or taxes are the responsibility of the owner unless otherwise agreed in writing.

This warranty does not cover: damage from reversed, over-voltage, under-voltage, or non-Eurorack power; damage from connecting signals outside the documented ranges; damage from liquid, impact, ESD, dust, corrosion, or other environmental causes; damage caused by third-party or user-written firmware; damage caused by modifications, soldering to the module, or anything connected to the expansion header; cosmetic wear; or any module whose serial or identifying marks have been removed or altered. Operation of the module outside the instructions in this manual voids the warranty for the affected fault.

We want you to have a good experience with our modules. If you have any issues, please reach out, and we will work to help you.

Disclaimers and limitation of liability

Except for the limited warranty above, the Alchemy Lab and its firmware and SDK are provided "as is," without warranty of any kind, express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. To the maximum extent permitted by applicable law, Hermetic Modular's total liability arising out of or relating to the module, its firmware, the SDK, or this manual — under any theory of liability — is limited to the amount you paid for the module. In no event shall Hermetic Modular be liable for any indirect, incidental, special, consequential, or punitive damages, including lost performances, lost recordings, lost data, hearing damage, equipment damage, or business interruption, even if advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of certain damages, so some of the above limitations may not apply to you.

The Alchemy Lab is a musical instrument and a developer platform. It is not designed, tested, or authorized for use in any other applications.

Compliance

The Alchemy Lab is intended for use as a component of a host Eurorack system. Regulatory compliance (FCC, CE, UKCA, and similar) is determined by the complete system into which the module is installed and by the configuration in which it is operated. The owner is responsible for compliance in their jurisdiction.

If anything in this section is unclear, or if your intended use is unusual, please contact hello@hermeticmodular.com before powering the module.

← Back to all manuals