emmanuel63
Well-known member
Hello,
I have recently started a thread about a similar project. I start a new thread because I have completely re-designed my Theremin. I have minimised the number of components to make it easy to build on a simple strip board. The code is simple, readable and customisable. I have also decided to publish a detailed tutorial for beginners, with documentation, photos, and instructions.
Here is the link to my website with the tutorial :
Laser Theremin
Please note that I am not a professional, so there may be some mistakes here and there. There is also certainly room for optimization. I would appreciate any feedback or comments for corrections and improvements.
Here is brief presentation of the project .
Laser Theremin
The theremin is a unique electronic instrument that produces sound without physical contact. Traditional theremins use radio-frequency oscillators and antennas, but this project takes a different approach. My theremin uses a time-of-flight (ToF) laser sensor along with a force sensor. While it’s not intended to compete with high-end antenna-based theremins, this compact instrument is reliable, functional, and fun to play.
The principle is simple: the ToF sensor measures the distance between the instrument and the musician’s hand at a rate of 50Hz. After applying a low-pass filter, the smoothed signal modulates the frequency of an oscillator. Meanwhile, the musician controls the volume by pressing on a force sensor with the other hand.
I have recently started a thread about a similar project. I start a new thread because I have completely re-designed my Theremin. I have minimised the number of components to make it easy to build on a simple strip board. The code is simple, readable and customisable. I have also decided to publish a detailed tutorial for beginners, with documentation, photos, and instructions.
Here is the link to my website with the tutorial :
Laser Theremin
Please note that I am not a professional, so there may be some mistakes here and there. There is also certainly room for optimization. I would appreciate any feedback or comments for corrections and improvements.
Here is brief presentation of the project .
Laser Theremin
The theremin is a unique electronic instrument that produces sound without physical contact. Traditional theremins use radio-frequency oscillators and antennas, but this project takes a different approach. My theremin uses a time-of-flight (ToF) laser sensor along with a force sensor. While it’s not intended to compete with high-end antenna-based theremins, this compact instrument is reliable, functional, and fun to play.
The principle is simple: the ToF sensor measures the distance between the instrument and the musician’s hand at a rate of 50Hz. After applying a low-pass filter, the smoothed signal modulates the frequency of an oscillator. Meanwhile, the musician controls the volume by pressing on a force sensor with the other hand.
Design, Hardware, and Assembly
This project is designed to be simple, affordable, and easy to build. It is intended for makers with basic electronics skills (soldering, wiring, reading schematics, etc.) and intermediate coding knowledge. I’ve minimized the number of components so the circuit can be assembled on a stripboard, eliminating the need for a PCB.Components List:
- Teensy 4.0
- Tof sensor : VL53L1X
- I2S audio DAC : PCM5102
- I2S miniature amplifier : MAX98357a
- 6 potentiometers
- 5V battery or 3xAAA
- Switch
- Stripboard, headers, wires
Functionalities
- Pot 1 – Wavefolding
Instead of selecting a traditional waveform (sine, square, sawtooth), this theremin uses wavefolding to generate harmonics from a sine wave. - Pot 2 – Octave
Sets the theremin’s register, from low to high pitch. - Pot 3 – Reverb
Adds a reverb effect, thanks to Piotr Zapart’s Plate Reverb algorithm. Link : GitHub Repository - Pot 4 – Scale Mode
Traditional theremins are challenging to play with precise intonation. I’ve added a "scale mode" that snaps the pitch to the notes of a chosen scale, making it much easier to play. It’s technically cheating… but who cares? - Pot 5 – Transpose
Sets the root note of the theremin, adjustable within a ±12 semitone range. - Pot 6 – Volume
- Smoothing
ToF sensors produce noisy and jittery output, requiring strong low-pass filtering before modulating the oscillator frequency. This filtering introduces latency, but you can adjust the cutoff frequency to balance responsiveness and stability. - Pitch Excursion Range
Modifies how much the pitch varies based on hand movement. - Curve
Adjusts the distance-to-frequency mapping for a more linear or nonlinear response.