Project

# Title Team Members TA Documents Sponsor
59 Virtual Synthesizer using MIDI Keyboard
Connor Barker
Dylan Pokorny
Patrick Ptasznik
Eric Tang design_document1.pdf
final_paper1.pdf
proposal1.pdf
video
# Virtual Synthesizer using MIDI Keyboard

Team Members:
- Connor Barker (cbarker4)
- Patrick Ptasznik (pptas2)
- Dylan Pokorny (dylangp2)

# Problem
The high cost of professional-grade virtual studio technology (VSTs) and digital audio workstations (DAWs) presents a significant barrier to entry for aspiring music producers. Many individuals, specifically those just starting out, lack the financial resources to gather the necessary equipment, limiting their ability to explore the world of music. This project aims to address this problem by creating an affordable, standalone hardware synthesizer that replicates VST functionality, making music production more accessible for the average music enthusiast.


# Solution
This project aims to create a low-cost hardware synthesizer, making music production accessible to a wider audience. The design centers around an ESP32-S3 microcontroller which acts as the brain, which processes input from a MIDI keyboard to generate sounds through speakers. Power is supplied through a wall adapter and a buck converter to ensure proper voltage levels for all components. The generated audio is then outputted to a speaker for real-time sound production. A user interface consisting of a potentiometer for volume control and buttons for instrument selection along with an LCD screen for displaying information such as wave type allows for intuitive interaction. This standalone device bypasses the need for a computer and complex software, significantly reducing the financial cost.



# Solution Components
## Subsystem 1: Microcontroller / Software (ESP32)
We plan on using the ESP32-S3 microcontroller because it has a few main features that greatly help our project. First, it has USB hosting that can turn some of its GPIO pins into pins that support reading directly from our midi keyboard’s usb port with a USB adapter. Additionally, it has multiple I2C ports for us to connect to the LCD screen as well as multiple I2S ports that can output audio data to the speaker. Finally, it is powerful with more cores than some of its counterparts that can allow multiple processes to be running when looking for user input and generating the sound wave (sine, saw, etc).

## Subsystem 2: Power (wall outlet)
We will draw power from an AC 120V 60Hz wall outlet using an adapter to convert it to DC 5V. The DC 5V supply will power the LCD screen and the MIDI keyboard through a USB-A adapter. We will use a buck converter to step down the voltage to 3.3V for use with the microcontroller and speakers.
Wall outlet adapter 120V 60Hz AC to 5V DC
Buck converter components
Transistors
Diode
Capacitors
Inductors

## Subsystem 3: Speakers

We plan on using a 4-Ohm speaker with a power range between 3-5 Watts in order to have sufficient sound quality while limiting power demand. We have listed some example options below at different ranges of power.


## Subsystem 4: User Control

Volume control will be handled by a potentiometer that connects to a GPIO pin on the ESP that will control the output signal in software. Additionally, we will use simple mechanical buttons connected to GPIO pins so the user can cycle through available instruments.


## Subsystem 5: LCD screen

We will display the name of the sound currently selected on an LCD screen controlled by the microcontroller through I2C protocol. The display will visually assist users in selecting the sound they want to play.



## Subsystem 6: MIDI Keyboard

We plan on using the MIDIPLUS AKM320 as our piano input that outputs midi data via USB type A. We will have a USB-A connector that splits into VCC, D+ , D-, and GND so that we can use the USB host mode to then connect to the ESP32.


# Criterion For Success


The synthesizer will be capable of switching between several sounds of different waveforms that are clearly distinguishable.

Volume control potentiometer can raise and lower the volume of speaker output in a continuous manner.

Supports multiple notes being played at the same time (Chords).

Supports a range of at least 3 octaves of notes to be output on speaker.

Sound features must be adjustable in real time, as the synthesizer is in use.



# Resources & Citations

**Microcontroller / Software (ESP32)**:
https://www.amazon.com/Espressif-ESP32-DevKitC-VE-Development-Board/dp/B087TNPQCV?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&smid=A33XZ36WFNH796&gQT=2&th=1

LCD Screen: https://www.amazon.com/GeeekPi-Character-Backlight-Raspberry-Electrical/dp/B07S7PJYM6?crid=3NFE1JY7T1MDW&dib=eyJ2IjoiMSJ9.3LG-rdQyBtOaCRNH2P5W1gbZ0fmHmFZQ9pHUMksSeyRTMIO-_dFWjwM5dELoTud6V_NowIFGdGGkOcVWORnhcPIu2jGzKywg_-0sluGTvejwLetYOb44z6zOB2wjYhh4r2w7umgCugyzyDLOEyJa7JYFfm7lbD0HnLQN4wgbOWSkLDwhAqS8Z-__CkpfdozsjuaDIEInA5Z64L0Wzp20CMMDfx2oz_9hkgdhBOMHWaebiTp2HxdOnCEikWO_XFQDGeQrIvo6K64-ZDbe0OmUf8RzQnFAAFKPXG6WEq2TYUoh3gfP9mySKIdCHB3rw4Zw3ff-yNT244T6Jo4X5fq-mbNkaL08CNzNgrmgK3ZBlu8.Pi6n6hRDZvfI_iccKXpOIpZVY0Q-vsD9BjD9otaEsJk&dib_tag=se&keywords=lcd+screen+i2s&qid=1738196187&s=electronics&sprefix=lcd+screen+i2%2Celectronics%2C142&sr=1-4

Speaker Options:
https://www.amazon.com/Gikfun-Speaker-Stereo-Loudspeaker-Arduino/dp/B01CHYIU26/ref=sr_1_5?crid=H3YZHZ7EW1LD&dib=eyJ2IjoiMSJ9.JxfX0DtoMc3EK4kMjWnChI0FreS6wWoy9zEvJmvhcjj-UTOBNjy4oEsL_4rq1b3hge0U0YyboxhnX-h-FQe3nFRhVbOICJDh88talb83w61MyBHqj9GONi-uylmW7PQ71P_gCSX2skcK4eX_s2fvjz5qMBYPI5kpEDOHIjXlPpaxd1TALGcSZdGKOupGIm7FhsglNMLOKX_jMSx3Y_OCDbvstR2fvILpAWEHm5uS7B0.XcpkmIU-GtrD8iRgeiyV2xOXJEMB9xLfhKBddBAjjQs&dib_tag=se&keywords=circuit+loudspeaker&qid=1738196030&sprefix=circuit+loudspeake%2Caps%2C109&sr=8-5

https://www.amazon.com/Gikfun-Speaker-Loudspeaker-Arduino-Replacement/dp/B081169PC5/ref=sr_1_1?crid=H3YZHZ7EW1LD&dib=eyJ2IjoiMSJ9.JxfX0DtoMc3EK4kMjWnChI0FreS6wWoy9zEvJmvhcjj-UTOBNjy4oEsL_4rq1b3hge0U0YyboxhnX-h-FQe3nFRhVbOICJDh88talb83w61MyBHqj9GONi-uylmW7PQ71P_gCSX2skcK4eX_s2fvjz5qMBYPI5kpEDOHIjXlPpaxd1TALGcSZdGKOupGIm7FhsglNMLOKX_jMSx3Y_OCDbvstR2fvILpAWEHm5uS7B0.XcpkmIU-GtrD8iRgeiyV2xOXJEMB9xLfhKBddBAjjQs&dib_tag=se&keywords=circuit+loudspeaker&qid=1738196030&sprefix=circuit+loudspeake%2Caps%2C109&sr=8-1

Power Adapter, 120V 60 Hz AC to 5V DC 15W:
https://www.amazon.com/MTDZKJG-Adapter-100V-240V-Transformer-Security/dp/B0BZP65GRW/ref=sr_1_8?dib=eyJ2IjoiMSJ9.lt4Dgb27bTajkIeDcd8swsiOjzJ1W2QmIfdBQ7_ahaAwoZQW7WZT5-8AAq5eO-U3gPg7JLb7gG5ApYMsSGhn1URvtswbMboxyXNguxbZp9x8vo-XKVhFeYR718fDVvqt5pq8Fm69GqbQcccbft7M2FIN5mx-wSvo81yy8O-vkdiITNwAqmRbwcdA-aLqEeghpkxNBbo6j4YeaQV-XAnYrKYwaAvx15HuXzDKm35MaTMQN0lhteHusMF8TQp_oZvaKlfOphY4AJMI20KQTlm8nyCyNAt7phcz6irY1BdM-99ZCwEv2LpjeK-jcJOBBF26QSp5H0I9qG4lq_Mb6l-NVVxCE_5YrAUNsBm5j_fXqy0.YoKiwCFxh_6txGCrj5XQvP6w7R17ZPkm87osANvsZfw&dib_tag=se&keywords=120v+to+5v&qid=1738197561&s=electronics&sr=1-8


MIDI Keyboard:
https://www.amazon.com/midiplus-32-Key-Midi-Controller-AKM320/dp/B00VHKMK64/ref=sr_1_1?crid=19Z5UVHJGE6MO&dib=eyJ2IjoiMSJ9.B3fOhHaP4O1-06iJF-1ObLtOnDzngOUeP1gjPnLKux8F-oCAti98qP5_9hxSh3xXi34fWhRQLeZFHMQQtj_HZiJxdDVbdczE6f6u6-TvAaCz6bvXD1t2vbNnFTN-Nf2NWRaVr5BM8IWNMJDoqouDdxHyRDn9abehbUR-an58-oj5K5mOA1opEmGjvoHeit2b04v9ehE0842C8DKo0yppB4qpp3icjy5IgsC1RDlcbvXs_GCHzerrx2XiPcJwtzhOk5-6MWAZ8YB0vf7lO62AhQQJpIF0Vcm019Jpt_I3D6bAR2DTWmNdikYfCFw4z-5Kb9EcRF49MTHNKLxTwHV0zzqfnjJd2pOaz5LzexPNCbjTz3b32f9KCotyeP5L_s5lHni3peR32R6jAi2IWb24NM304vJ0_cjZLNlbY-uAb_2cYIluJ7ljKLcFs6-q1_P9.2k1JoRB3bVdFtLBBRn1p1PAaxmC4y8WTYLLVdzy9kKA&dib_tag=se&keywords=midiplus%2Bakm320%2Busb%2Bmidi%2Bkeyboard%2Bcontroller%2C%2Bblack%2C%2B32-key&qid=1738199055&sprefix=%2Caps%2C102&sr=8-1&th=1

USB 2.0 Type A Female SMT Connector:
https://www.mouser.com/ProductDetail/TE-Connectivity/292303-7?qs=e6gk%2FTaAuqWZCg5WWmtijA%3D%3D

Resonant Cavity Field Profiler

Salaj Ganesh, Max Goin, Furkan Yazici

Resonant Cavity Field Profiler

Featured Project

# Team Members:

- Max Goin (jgoin2)

- Furkan Yazici (fyazici2)

- Salaj Ganesh (salajg2)

# Problem

We are interested in completing the project proposal submitted by Starfire for designing a device to tune Resonant Cavity Particle Accelerators. We are working with Tom Houlahan, the engineer responsible for the project, and have met with him to discuss the project already.

Resonant Cavity Particle Accelerators require fine control and characterization of their electric field to function correctly. This can be accomplished by pulling a metal bead through the cavities displacing empty volume occupied by the field, resulting in measurable changes to its operation. This is typically done manually, which is very time-consuming (can take up to 2 days).

# Solution

We intend on massively speeding up this process by designing an apparatus to automate the process using a microcontroller and stepper motor driver. This device will move the bead through all 4 cavities of the accelerator while simultaneously making measurements to estimate the current field conditions in response to the bead. This will help technicians properly tune the cavities to obtain optimum performance.

# Solution Components

## MCU:

STM32Fxxx (depending on availability)

Supplies drive signals to a stepper motor to step the metal bead through the 4 quadrants of the RF cavity. Controls a front panel to indicate the current state of the system. Communicates to an external computer to allow the user to set operating conditions and to log position and field intensity data for further analysis.

An MCU with a decent onboard ADC and DAC would be preferred to keep design complexity minimum. Otherwise, high MIPS performance isn’t critical.

## Frequency-Lock Circuitry:

Maintains a drive frequency that is equal to the resonant frequency. A series of op-amps will filter and form a control loop from output signals from the RF front end before sampling by the ADCs. 2 Op-Amps will be required for this task with no specific performance requirements.

## AC/DC Conversion & Regulation:

Takes an AC voltage(120V, 60Hz) from the wall and supplies a stable DC voltage to power MCU and motor driver. Ripple output must meet minimum specifications as stated in the selected MCU datasheet.

## Stepper Drive:

IC to control a stepper motor. There are many options available, for example, a Trinamic TMC2100. Any stepper driver with a decent resolution will work just fine. The stepper motor will not experience large loading, so the part choice can be very flexible.

## ADC/DAC:

Samples feedback signals from the RF front end and outputs the digital signal to MCU. This component may also be built into the MCU.

## Front Panel Indicator:

Displays the system's current state, most likely a couple of LEDs indicating progress/completion of tuning.

## USB Interface:

Establishes communication between the MCU and computer. This component may also be built into the MCU.

## Software:

Logs the data gathered by the MCU for future use over the USB connection. The position of the metal ball and phase shift will be recorded for analysis.

## Test Bed:

We will have a small (~ 1 foot) proof of concept accelerator for the purposes of testing. It will be supplied by Starfire with the required hardware for testing. This can be left in the lab for us to use as needed. The final demonstration will be with a full-size accelerator.

# Criterion For Success:

- Demonstrate successful field characterization within the resonant cavities on a full-sized accelerator.

- Data will be logged on a PC for later use.

- Characterization completion will be faster than current methods.

- The device would not need any input from an operator until completion.

Project Videos