The eurorack-blocks
project allows to develop your own custom Eurorack module for either
prototyping or fun in the comfort of your day-to-day IDE and debugging in a
virtual Eurorack environment,
and when ready, to auto-magically generate all the needed files to manufacture
the eurorack module for you to use in a real Eurorack modular system.
eurorack-blocks
is using Daisy Patch Submodule
,
a DSP platform for Eurorack synthesizer modules. It features a lightning fast STM32 processor,
high fidelity stereo audio codec, and enough RAM for 10 minute long buffers
— all with standard signal levels and conditioning for the Eurorack ecosystem.
The documentation as well as the Getting Started guide can be found on Read the Docs.
The full project's manifest can be read here.
// Bypass.h
#include "artifacts/BypassUi.h"
struct Bypass {
BypassUi ui;
void process () {
ui.audio_out = ui.audio_in;
}
};
// Bypass.erbui
module Bypass {
width 8hp
material aluminum black
header { label "BYPASS" }
control audio_in AudioIn {
position 4hp, 40mm
style thonk.pj398sm.knurled
label "IN"
}
control audio_out AudioOut {
position 4hp, 80mm
style thonk.pj398sm.knurled
label "OUT"
}
}
raf:bypass$ erbb configure 👈 Generate IDE project and hardware files
raf:bypass$ ls artifacts/
...
drwxr-xr-x 4 raf staff 128 Apr 23 18:14 project_vcvrack.xcodeproj 👈 Xcode Project
...
raf:bypass$ erbb build 👈 Build the firmware
ninja: Entering directory `.../eurorack-blocks/samples/bypass/artifacts/out/Release'
[185/185] LINK bypass-daisy
OBJCOPY bypass-daisy
raf:bypass$ erbb install dfu 👈 Upload the firmware
Enter the system bootloader by holding the BOOT button down,
and then pressing, and releasing the RESET button.
Press Enter to continue...
...
raf:bypass$
Before reading sample code, make sure to grasp the concepts in the documentation. Sample projects are a good place to continue learning:
bypass
is the example used above,drop
shows the usage of almost every blocks,reverb
illustrates how to utilize all the platform memory,kick
illustrates how to use factory samples and make big programs.
Setting up the development environment is described in the documentation.
eurorack-blocks/
blocks/
boards/
build-system/
include/
src/
submodules/
blocks
contains all the atomic blocks hardware for design validation and software tests,boards
contains all the boards hardware to design with,build-system
contains the build system used to build and deploy the tests and samples,include
contains the software implementation of the blocks,src
contains the software implementation of the blocks,submodules
contains the software dependencies as submodules.
All files in this repository, excluding submodules/
, are provided with the CC BY-SA 4.0 license, except:
- The D-DIN Font, under SIL Open Font License,
- The Indie Flower Font, under SIL Open Font License,
- The Arpeggio project, under the MIT License.