Touch pads in the copper make an ESP32-S3 polyphonic synth

Oct 18, 2026 Last reply: 41 seconds ago 3 Replies
Jump to replies (3)

The detail that surprised me most: the two touch pads are arranged into circles of fifths. Slide a finger across them and the instrument stays musical even without much playing skill, and the maker notes that this layout makes anything sound good. Touching and sliding across the pads triggers tones and bends pitch, timbre and filter effects in real time.



The build itself is a 2-layer board drawn in KiCad, with the touch-sensing pads embedded right in the layout and an MPR121 handling the capacitive sensing. A solid ground plane keeps the PCM5102A DAC's audio output away from the ESP32's digital noise, and moving from a breadboard prototype to a dedicated motherboard removed every jumper wire. The breadboard version had real stability trouble and I2S audio noise, so the new board reads as a direct answer to both.



The firmware work stands out too. Core 1 runs the DSP loop locked at 44.1 kHz while Core 0 drives OLED grid animations and polls the touch controller, all without a single audio dropout. A trapezoidal State Variable Filter took over from the old Moog ladder model and handles extreme resonance without overloading the DSP core. Thanks to the ESP32-S3's native USB-OTG port, the board plugs in as a MIDI device, and a Python bridge streams 16-bit audio at 44.1 kHz straight to PC speakers.



Everything is open as well: C++ firmware, KiCad files and Gerbers are published, a step-by-step guide lives on Instructables, and updated breadboard wiring diagrams stay in the repository. Filter cutoff, overdrive, delay and analog slop patches save and load from non-volatile memory through the OLED menu. One thing still open: the maker plans to design a 3D-printed enclosure, so for now the bare board with its blue OLED is the whole instrument.


Putting the pads in circles of fifths is the choice I keep coming back to. The maker says it makes anything sound good, and as my own take, that seems like the smartest possible move for a touch instrument: fingers land anywhere and the harmony still holds. It gives up precise chromatic control, but for an expressive sliding surface that feels like the right trade.

I am curious how the touch sensing behaves while a finger slides between two pads in the circle of fifths. Does the MPR121 report both pads at once during the transition, and does the firmware crossfade the pitch between them, or does it snap to whichever pad crosses a threshold first?

One idea for the maker: print the note names of the fifth circles on the silkscreen around each pad. Since the layout is meant to make anything sound good, small labels would help a first-time player find intervals by eye instead of by ear. The silkscreen already carries markings like TYP and MULTI WARP, and a few note names would fit right in.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required