Skip to the content
PCBKitNew board
2 layers65 × 56.5 mmDigitSynth, the printed circuit board in 3D

A real-time audio effects processor built on Raspberry Pi — apply filters and effects to live audio using MIDI control messages.

Size
65 × 56.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
56
Nets
63
Pads
193
Tracks, vias
306, 30
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
22 Jan 2026
Updated
20 Apr 2026

Overview

DigitSynth is an open-source printed circuit board by RTES-Group, from the RTES-Group/DigitSynth repository on GitHub, published under the MIT licence. It is a 2-layer board of 65 × 56.5 mm with 56 parts on 63 nets, routed with 306 tracks and 30 vias.

It is built around the BZX84C5V6. Its parts include 17 resistors, 9 connectors, 1 capacitor, 1 IC and 1 diode. It belongs with the audio and music boards of this library.

Main components

1

README

README.md

DigitSynth

DigitSynth is a wearable MIDI controller that interacts with the Roland JD-Xi synthesiser. It allows the user to trigger chords and shape the resulting sound in real time using finger movements.

Hardware Requirements

Bill of Materials

The table below outlines the hardware components used in this project. Exact component matches are not required, and suitable alternatives will yield comparable results. However, as the software has been developed specifically for the Raspberry Pi, it is strongly recommended to retain this as the target platform.

ComponentPart NumberQuantityApprox. Cost (unit)
Raspberry Pi 5Pi 5 4GB1£105.60
Adafruit ADS111510851£11.18
Adafruit TLC5971114551£6.73
Spectra Symbol Flex Sensor FLXFLX-L-055-123-MP4£8.51
Tactile Switch, 4.3mmMCDTS2-1N4£0.17
Kingbright L-7113IT 5mm 2V Red LED 80mcd56-02508£0.08
Pisugar S Plus 5000 mAh Raspberry Pi UPSPisugar S Plus1£29.99

A MIDI-receiving device is required to complete the setup, either a hardware synthesiser or a software synthesiser running on a connected laptop. In this project, a Roland JD-Xi synthesiser was used, receiving MIDI directly from the Raspberry Pi over USB-B.

Wiring Diagram:

Wiring diagram

Architecture

UML class diagram

DigitSynth UML class diagram

Software Requirements

Toolchain

Our build system is CMake, but we provide a simple top-level Makefile to make things easy. Feel free to run the cmake commands manually if you are so inclined. The install-deps.sh script will automatically install dependencies required by DigitSynth.

Installing

A simple install can be performed using the .deb package in the latest release. Download digitsynth-aarch64.deb, then run bash sudo dpkg -i digitsynth-aarch64.deb in your terminal after navigating to the directory into which the archive was downloaded. The standalone binary can also be found in the release. Note that dependencies still need to be installed.

Building

1.1 Clone the Repository

bash
git clone https://github.com/RTES-Group/DigitSynth.git
cd DigitSynth

OR

1.2 Download the release

Find the latest release on the right-hand side of this page. Download either the .tar.gz or .zip. After downloading and navigating to the download directory:

zip
bash
unzip DigitSynth-xx.xx.xx.zip

cd DigitSynth-xx.xx.xx
tar.gz
bash
tar -xf DigitSynth-xx.xx.xx.tar.gz

cd DigitSynth-xx.xx.xx

2. Install Dependencies

Dependencies
LibraryPurposeSource
IIR Filter LibraryDigital IIR filter design and processingberndporr/iir1
RtMidiReal-time MIDI input/outputthestk/rtmidi
ADS1115 APIFlex sensor measurementberndporr/rpi_ads1115
libgpiodGPIO managementligpiod
libasound2-devALSA development headerslibasound2-dev

Simply run the install-deps.sh script:

bash
./install-deps.sh

3. Enable SPI and I2C on the Raspberry Pi:

SPI must be enabled before the project will run:

bash
sudo raspi-config
# Navigate to: Interface Options → SPI → Enable
# Navigate to: Interface Options → I2C → Enable

4. Build the project:

bash
cd application/
make

5. Run:

bash
build/digitsynth

Unit tests

To run unit tests:

bash
make test

User Guide

A full user guide covering button modes, controls, and MIDI mapping is available here:

DigitSynth User Guide


Demonstration Videos

Demo 1LED Mode DemoDemo 2
Demo 1Demo 2Demo 3

Social Media

Follow our build journey on Instagram: Instagram

We are also awaiting a write-up on Hackaday.com about our project, so keep an eye out on their blog!


Contributing

See the issues tab for a list of potential contributions. In particular, we would welcome expanding support for other synths.


License

This project is licensed under the MIT License — see the LICENSE file for details.

You are free to use, modify, and distribute this project. We just ask that you credit the original authors.


Authors & Acknowledgements

Developed by:

As part of the Real-Time Embedded Systems module at University of Glasgow, 2026.

Parts

56
QtyValueFootprintReferences
8TestPointTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8
710kResistor_SMD:R_0603_1608MetricR5, R6, R7, R12, R13, R14, R15
6Conn_01x02_PinConnector_Molex:Molex_KK-254_AE-6410-02A_1x02_P2.54mm_VerticalJ1, J2, J3, J4, J6, J9
5100nCapacitor_SMD:C_0603_1608MetricC_DVDD_1, C3, C4, C5, C6
40.33uCapacitor_SMD:C_0603_1608MetricC_FILT1, C_FILT2, C_FILT3, C_FILT4
412kResistor_SMD:R_0603_1608MetricR8, R9, R10, R11
41kResistor_SMD:R_0603_1608MetricR1, R2, R3, R4
4MountingHoleMountingHole:MountingHole_2.7mm_M2.5H1, H2, H3, H4
25K1Resistor_SMD:R_0603_1608MetricR16, R17
2Jumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP2
10.1uCapacitor_SMD:C_0603_1608MetricC_AVDD_1
1100nFCapacitor_SMD:C_0603_1608MetricC1
110uCapacitor_SMD:C_0805_2012MetricC_AVDD_2
1330ΩInductor_SMD:L_0603_1608MetricFB1
1ADS1256IDBRPackage_SO:SSOP-28_5.3x10.2mm_P0.65mmU1
1BZX84C5V6Package_TO_SOT_SMD:SOT-23D1
1Conn_01x05_PinConnector_Molex:Molex_KK-254_AE-6410-05A_1x05_P2.54mm_VerticalJ5
1Conn_01x08Connector_Molex:Molex_KK-254_AE-6410-08A_1x08_P2.54mm_VerticalJ7
1THD-20-RConnector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_VerticalJ_RPI1
1USB_C_Receptacle_USB2.0_JAEfootprints:JAE_DX07S016JA1R1500J8

Questions

How big is the DigitSynth PCB?

It measures 65 × 56.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the DigitSynth use?

56 parts, built around the BZX84C5V6. 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.

Where can I download the DigitSynth KiCad files?

From the RTES-Group/DigitSynth repository on GitHub, at the commit this page was made from: the board is DigitSynth-Schematic/DigitSynth.kicad_pcb and its schematic DigitSynth-Schematic/ADC_Flex.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the DigitSynth design in my own project?

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).

Similar boards

  • 2 layers50 × 47.5 mmGfc, the printed circuit board in 3D

    Gfc

    atx/gps-freq-counter

    Frequency counter using a GPS receiver PPS output as its reference

    101 parts6MIT
  • 4 layersFluidNC board, the printed circuit board in 3D

    FluidNC board

    ephemeridis/FluidNC_board

    board for fluidnc

    404 parts6
  • 2 layers100 × 100 mmYauDL, the printed circuit board in 3D

    YauDL

    madworm/YauDL

    LAYOUT FILES: (Y)et (a)nother (u)seless (D)ummy (L)oad

    49 parts6
  • 4 layers138.4 × 138.3 mmGRBL board, the printed circuit board in 3D

    GRBL board

    ephemeridis/GRBL_board

    This is a PCB designed to run GRBL, an open source CNC control software that is designed and optimised for Arduino.

    287 parts2GPL-3.0
  • 2 layers90 × 99 mmClass D Amp, the printed circuit board in 3D

    Class D Amp

    iakop/E5SPK_ClassD

    Class D Amplifier project for the 5th semester course, Switched Power Circuits. By Jacob Bechmann Pedersen and Mikkel Bjerg Petersen.

    87 parts
  • 2 layers90 × 38 mmLCD OLinuXino-5TS Rev.B, the printed circuit board in 3D

    LCD OLinuXino-5TS Rev.B

    OLIMEX/OLINUXINO

    OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C

    56 parts1.5k
  • 2 layers50.4 × 48.4 mmDistortion, the printed circuit board in 3D

    Distortion

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    56 parts915
  • 2 layers27 × 24.7 mmKawaiiSD, the printed circuit board in 3D

    KawaiiSD

    mackieks/Kawaii

    Tiny, beautiful metal Wii keychain

    56 parts374