Optical Theremin
A digital Theremin that uses two optical proximity sensors instead of radio frequency fields.
Similar to a classic Theremin, the optical sensors control the volume and frequency.
Control knobs select the pitch, waveshape arrangement, LFO (vibrato), and distortion effect.
The technology is STM32 DMA DDS signal generation and a simple low pass filter, producing 16 bit single channel (mono) sound.
The software is Arduino compatible and available for download below.
Design Documents
Schematic Diagram | schematic_iB22_optical_theremin.pdf |
Bill of Materials | bom_iB22_optical_theremin.pdf |
PCB Gerbers | gerbers_iB22_optical_theremin.zip |
3D Models | optical_theremin_mechanical.zip |
Source Code | code_iB22_optical_theremin.zip |
Specifications
Power Requirement | 5.0V 500mA USB micro jack |
Output | Audio line level, 3.5mm stereo jack Requires powered speakers or amplifier. |
Setup
Connect 5V USB power source and 3.5mm stereo audio cables.
The audio output is the same on both left and right channels.
Controls
WAVE knob | Selects the waveshape and number of voices |
VIBRATO knob | LFO control |
DISTORTION knob | Distortion effect and intensity |
OCTAVE dial | Frequency range control |
SEMITONES switch | Include semitones |
FREQUENCY proximity | Left optical sensor controls the frequency |
VOLUME proximity | Right optical sensor controls the volume |
Both the FREQUENCY and VOLUME optical sensors must be engaged to produce audio output |
Indicators
SIGNAL | DDS audio output |
CLK | On when generating audio output (both VOLUME and FREQUENCY sensors engaged) |
DMA | Gets brighter as DMA load level increases |
ERR | Audio processing overload - this won't happen unless you modify the instrument code |