For our project, we set out to make a device that could accurately detect and display the pitch of an instrument, allowing musicians to tune their instruments effortlessly.
We programmed an ESP-32S3 to extract frequency data from a direct line input as well as a microphone using FFTs. This pitch data was to then be communicated via a small OLED screen.
ESP32-S3 microcontroller
Microphone and 1/4 jack inputs for both digital and acoustic instrument tuning
Custom DSP algorithm for detecting note accuracy
USB-C and Li-ion battery options for power, allowing for portability
0.96" screen for displaying current note
Power, audio data, and screen all connect via micro controller
USB-C provides both data and power
Digital microphone captures audio and sends to ESP32 via I2S
Audio jacks input audio signal directly from instrument, boosting and biasing the signal before sending to ESP32
Clean output jack allows seamless integration of our device into musician's pre-existing signal processing chains
USB-C is to receive power from laptop
BQ24x allows USB-C to charge the battery while battery powers the device
TPS62x is to step down voltage receive from BQ24 to 3.3V, the require voltage for ESP32
Battery is 3.7V 1100mAh should last around 2 hours if current draw is around 0.4-0.7 A
Screen displays current note data in full color
After a good deal of soldering, we had our fully assembled PCB. However, due to some layout errors, we were unable to flash any code to our board, rendering it ineffective. This was our first time working with PCBs, so it makes sense that things didn't end up working out perfectly. However, the entire design and manufacturing process was an incredible learning experience.