Optical Touch Mini Synth

Optical Touch Mini Synth
Play audioListen to Sample

Optical Touch Mini Synth
A seven voice string, drum, and tone digital synthesizer with 7 touch pads and an optical proximity sensor. The optical proximity sensor does effects bending. Three control dials select the pitch, instrument, and distortion effect.

The technology is STM32 DMA DAC signal generation and an active filter, producing 16 bit single channel (mono) sound.

The software is Arduino compatible and available for download below.

Design Documents

Schematic Diagramschematic_j210_optical_touch_mini_synth.pdf
Bill of Materialsbom_j210_optical_touch_mini_synth.pdf
PCB Gerbersgerbers_j210_optical_touch_mini_synth.zip
3D Modelsoptical_theremin_mechanical.zip
Source Codecode_j210_optical_touch_mini_synth.zip (original release)
code_j623_optical_touch_mini_synth.zip (current release)


Power Requirement5.0V 500mA USB micro jack
OutputAudio line level, 3.5mm stereo jack
Requires powered speakers or amplifier.

Connect 5V USB power source and 3.5mm stereo audio cables. The audio output is the same on both left and right channels.

Click for bigger image

Touch padsPlay the instrument
PitchSets the frequency range for the touch pads
WaveSelects the instrument: tone, string, drum
EffectSelects the instrument variant
Proximity sensorVaries an instrument parameter

Instruments (Wave knob)

ToneA sine wave tone with an envelope.
The Effect knob selects the ADSR envelope.
The Optical sensor varies the tone frequency.
There are 3 scales, selected with the Wave knob:
- Heptatonic (C,D,E,F,G,A,B)
- Pentatonic minor (C,E♭,F,G,B♭,C+1,E♭+1)
- Pentatonic major (C,D,E,G,A,C+1,D+1)
StringA string instrument.
The Effect knob selects the base string decay.
The Optical sensor varies the string decay.
There are 3 scales, selected with the Wave knob:
- Heptatonic (C,D,E,F,G,A,B)
- Pentatonic minor (C,E♭,F,G,B♭,C+1,E♭+1)
- Pentatonic major (C,D,E,G,A,C+1,D+1)
Sound EffectsFive basic sound effects.
- Pew Pew
- Bell
- Drip
- Drop
- Space gun
The Effect knob selects the sound effect group.
The Optical sensor varies one of the sound effect parameters.


CLKNormally on, indicates the audio bit clock is running
DMAGets brighter as DMA load level increases
ERRAudio processing overload - this won't happen unless you modify the instrument code