Theremin
An instrument that plays without you ever touching it.
Author: Dogărescu Alex
GitHub Project Link: https://github.com/UPB-PMRust-Students/fils-project-2026-alexdogarescu
Description
A theremin is an instrument that uses your hands as a capacitor between two metal rods. This project aims to recreate that using two ultrasonic sensors. It also has a few effects that can be applied to the sound so it can be your own.
Motivation
My hobby is music production. I have been doing ambiental, metal and digicore or adjacent genres. Especially digicore plays with the form of the wave to make unique melodies. I got the idea for this project when I was making a song - and I thought a theremin would be an interesting concept to explore.
Architecture
Log
Week 13 - 19 April
The STM32 arrived. Played with it and everything worked fine. I also messed around with an HC-SR04 from a friend to see how it works before mine arrives.
Week 20 - 26 April
I ordered my own sensors and an LED display. Plan to make a working skeleton.
Week 27 April - 3 May
Spent my weekend celebrating May Day. Glory to all workers whose blood was shed fighting for our rights.
Week 4 - 10 May
It seems one of the HC-SR04+ sensors I have ordered is faulty (plan to check in with my colleagues, see if a replacement helps). Glad I spent an entire weekend evening not knowing what part of my code doesn't work. Did the KiCad schematic and got a WCMCU-1334 DAC from one of my colleagues.
Only made the sensors work thus far, but I did figure out all the connections I need by KiCad and reading the documentation.
Week 11 - 17 May
Week 18 - 24 May
Hardware
- STM32U545
- 2 x HC-SR04+ - sensors to detect distance to hands
- "ST7735" LCD Display - used to show current effect and how much % it is applied to the wave. Also mine is most likely a knockoff.
- WCMCU-1334 - DAC to convert the read data into an interpretation of a signal.
Schematics
Bill of Materials
| Device | Usage | Price |
|---|---|---|
| STM32U545 | Microcontroller | 106 RON |
| 2 x HC-SR04+ | Ultrasonic Sensors | 2 x 15 RON |
| "ST7735 LCD" | Displaying effect information | 35 RON |
| WCMCU-1334 DAC | Converting data to audio | 23 RON |
Software
| Library | Description | Usage |
|---|---|---|
| ST7735 | Display driver for ST7735S | Used for the display |
| embedded-graphics | 2D graphics library | Used for drawing to the display |