
Panel daisy
ohmtech-rdi/eurorack-blocks
Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust

Open-source modular real-time embedded DSP guitar multi-effects platform based on Teensy 4.1, with custom hardware, C++ firmware, and real-time control.
DSP MX is an open-source printed circuit board by MahmoudBasio, from the MahmoudBasio/DSP-Guitar-MultiFX repository on GitHub, published under the MIT licence. It is a 2-layer board of 133.6 × 112.9 mm with 46 parts on 90 nets, routed with 495 tracks and 75 vias.
It is built around the TL072. Its parts include 16 connectors, 13 resistors, 10 capacitors and 2 ICs. It belongs with the audio and music boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.
An open-source modular real-time embedded DSP platform for guitar multi-effects, built around the Teensy 4.1.
The project combines real-time audio processing, embedded firmware, custom electronics, user-interface hardware, PCB design, and mechanical design into a complete standalone multi-effects platform.

DSP Guitar MultiFX was developed as an open and extensible platform for implementing real-time audio effects on embedded hardware.
The system uses a Teensy 4.1 with the SGTL5000-based Teensy Audio Board and a modular C++ firmware architecture designed to make additional effects easy to integrate.
Current effects include:
The project includes the complete firmware alongside hardware design files, PCB resources, mechanical design, documentation, and bill of materials.
IEffect interface for additional effectsCurrent experimental evaluation is performed at 44.1 kHz using 128-sample audio blocks.
| Metric | Measured Result |
|---|---|
| Sample Rate | 44.1 kHz |
| Audio Block Size | 128 samples |
| Block Duration | ≈ 2.90 ms |
| Maximum DSP Processing Time | 145.29 µs |
| Maximum Reported CPU Usage | 5.01% |
| Configuration | Maximum CPU Usage |
|---|---|
| Bypass | 4.70% |
| Delay | 3.03% |
| Reverb | 2.86% |
| Chorus | 4.98% |
| Delay + Reverb + Chorus | 5.01% |
These values were recorded for an earlier experimental firmware configuration. They have not been revalidated for the current routing and UI revision.
These measurements predate the optional chorus wet-filter routing and expanded UI. Repeat timing, CPU-load, and frequency-response measurements on that revision; see audio routing and controls.
See Experimental measurements for the measurement procedure, original oscilloscope captures, frequency-response data, delay timing and feedback ratios, and reverb/chorus test configurations.
The frequency-response sweep characterizes an earlier effects-off sketch with a shared 3.2 kHz pre-filter. It does not characterize the current unfiltered dry path. Harmonic, noise and latency estimates remain preliminary; their limitations and missing acquisition details are disclosed in the report.
The platform separates audio processing, DSP effects, system control, and user-interface functionality into independent modules.
Guitar Input
│
▼
Analog / Audio Interface
│
▼
SGTL5000 Codec
│
▼
Teensy 4.1
│
├── Audio Routing
├── DSP / Effects
├── Effect Manager
├── System Control
└── User Interface
│
▼
Audio OutputThe firmware source is divided into:
firmware/src/
├── audio/
├── core/
├── dsp/
├── effects/
├── ui/
└── main.cppThis organization keeps individual effects separated from audio routing and interface logic.
The platform is built around:
| Top | Bottom |
|---|---|
![]() | ![]() |

Hardware design resources are available in the Hardware directory.
The firmware is implemented in C++ using the Arduino framework for Teensy and built using PlatformIO.
Current PlatformIO dependencies include:
The repository is configured for:
platform = teensy
board = teensy41
framework = arduinoThe DSP architecture is designed to make effects modular.
To implement a new effect:
firmware/src/effects/.This allows new algorithms such as distortion, tremolo, or additional modulation effects to be integrated without redesigning the complete audio system.
DSP-Guitar-MultiFX/
├── BOM/ # Bill of materials
├── Docs/ # Technical documentation
├── Hardware/ # PCB and hardware design
├── Images/ # Project images and renders
├── Mechanical/ # Mechanical / enclosure design
├── firmware/ # Teensy firmware
└── README.mdClone the repository:
git clone https://github.com/MahmoudBasio/DSP-Guitar-MultiFX.git
cd DSP-Guitar-MultiFX/firmwareOpen the firmware directory using VS Code + PlatformIO.
Build the project:
pio runUpload to the Teensy 4.1:
pio run --target uploadThis platform is also being developed and experimentally evaluated as part of research into modular, low-cost, open-source real-time embedded DSP systems.
Experimental results, architecture details, resource utilization, latency, and audio-performance measurements are being documented as part of the associated research work.
Publication information and DOI will be added here when available.
If you use this project in academic or research work, please cite the repository using the citation information provided in CITATION.cff.
Publication citation information will be added following publication of the associated research article.
This project is released under the MIT License. See LICENSE for details.
Mahmoud Basiony
Robotics • Embedded Systems • Real-Time DSP
Tamer Mohamed
Robotics • Mechanical Designer • Real-Time DSP
Active development.
Planned work includes additional DSP effects, expanded experimental characterization, audio-quality measurements, and further hardware refinement.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 10u | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C1, C3, C7, C8, C9 |
| 3 | 10k R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R3, R4 |
| 3 | 1k R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R5, R8, R9 |
| 2 | 100k R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R12 |
| 2 | 2.2k R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R6, R7 |
| 2 | 5v/GND | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J8, J16 |
| 2 | Conn_01x24_Socket | Connector_PinHeader_2.54mm:PinHeader_1x24_P2.54mm_Vertical | J7, J10 |
| 1 | 1 M R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R13 |
| 1 | 1 nf C | Capacitor_THT:C_Radial_D5.0mm_H5.0mm_P2.00mm | C5 |
| 1 | 100 nf C | Capacitor_THT:C_Radial_D5.0mm_H5.0mm_P2.00mm | C4 |
| 1 | 100k | Potentiometer_THT:Potentiometer_Runtron_RM-065_Vertical | RV1 |
| 1 | 1M R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R10 |
| 1 | 1u f | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C2 |
| 1 | 47 pf C | Capacitor_THT:C_Radial_D5.0mm_H5.0mm_P2.00mm | C6 |
| 1 | 470pf C | Capacitor_THT:C_Radial_D5.0mm_H5.0mm_P2.00mm | C10 |
| 1 | 560k R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R11 |
| 1 | CLK/DATA | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J12 |
| 1 | GND | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J4 |
| 1 | GND/SwEN | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J11 |
| 1 | Guitar_In1 | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J1 |
| 1 | Guitar_In2 | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J2 |
| 1 | Guitar_output | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J3 |
| 1 | Power_in | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J6 |
| 1 | SCL/SDA | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J9 |
| 1 | SW1/SW2 | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J14 |
| 1 | TL072 | Package_DIP:CERDIP-8_W7.62mm_SideBrazed_Socket | U3 |
| 1 | Teensy4.0_AudioShield_REVD | teensy_audio_shield:4.0audioshield | U1 |
| 1 | UART | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J5 |
| 1 | sw3/sw4 | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J13 |
| 1 | sw5/GND | TerminalBlock:TerminalBlock_Wuerth_691311400102_P7.62mm | J15 |
The 42 most common of 46 parts.

ohmtech-rdi/eurorack-blocks
Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust

ctag-fh-kiel/ctag-tbd
CTAG TBD >>to be determined<< an extendible open source Eurorack sound module

plinkysynth/plinky_public
a public release of the plinky sw and hw



matthewcieplak/super-sixteen
Code and schematics for the Super Sixteen Eurorack sequencer

mzuelch/CATs-Eurosynth
Analog Synth Eurorack Modules

StoneRose35/cortexguitarfx
guitar effects processor implemented on various arm cortex platforms
It measures 133.6 × 112.9 mm and has 2 copper layers, 1.6 mm thick.
46 parts, built around the TL072. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the MahmoudBasio/DSP-Guitar-MultiFX repository on GitHub, at the commit this page was made from: the board is Hardware/PCB/DSP_MX.kicad_pcb and its schematic Hardware/PCB/DSP_MX.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).