Project

# Title Team Members TA Documents Sponsor
45 Keyboard DJ Set
Jack Prokop
Manas Gandhi
Milind Sagaram
Sainath Barbhai design_document1.pdf
design_document2.pdf
proposal3.pdf
proposal1.pdf
proposal2.pdf
# Keyboard DJ Set
*Updated PRA after taking into consideration the comments given to us.*

## Team Members:
- Manas Gandhi (manaspg2)
- Jack Prokop (jprokop2)
- Milind Sagaram (milinds2)

## Problem
DJ boards have become the “hot topic” of today’s music industry, with the tool giving way to many of the greatest artists of our generation, including *John Summit* and *Twinsick*. While we have seen many great EDM artists shine due to the traditional DJ set, it has some drawbacks as well - namely the lack of portability, ease of use for new users, and high prices.

## Solution
To address these challenges, we propose the DJ keyboard, a DJ board that simply uses the keys on an external keyboard, connected to a computer. This makes use of a microcontroller on a PCB for processing the inputs of the keyboard and converting that into commands for the software. We also will create software for the songs and audio processing, as well as the speaker technology. This approach simplifies the complicated DJ board, reduces the cost and size of getting a DJ board, and makes it easy to take anywhere, making the DJ experience for everyone much easier.

The specific DJ board elements we want to incorporate are volume control, tempo control, music slicing and looping, song skipping functionality, and if we have time, auto-crossfade capabilities

## Solution Components
### 1. Keyboard
This subsystem w inputs that our system will be receiving.

- **Inputs**: keyboard should take inputs for all keys on the keyboard, and maybe combinations of keys (if we have time).

### 2. Microcontroller
This subsystem is the core of the whole system, providing the communication between the input (keyboard) and the software.

- **Communication between keyboard and software:** this will be our communication system between the input and the output.
- **Power:** Will be used to power the keyboard.

### 3. Volume Control
This subsystem is where we control the volume using the PCB.

- **Volume controller:** We will use a potentiometer (which we might connect to a slider) to increase and decrease the volume (increased resistance = lower volume).
- **Speaker:** We will put two small speakers on the PCB, and connect to output of the potentiometer to the input of the speaker.

### 4. Tempo Control
This subsystem is where we control the tempo of the song (in BPM) that is currently playing.

- **Tempo controller:** We will use a potentiometer (which we might connect to a slider) to send a signal to the microcontroller to increase or decrease the tempo.

### 5. Skip song
This subsystem is where we skip the song that is currently playing, allowing us to switch to the next song.

- **Skip button:** We will use a button that sends a signal to the microcontroller to skip the current song and go to the queued up song.

### 5. Power
This subsystem where the power is supplied to the system, including the microcontroller and speakers.

- **Rechargeable Battery:** We will have a rechargeable battery on our PCB that will supply the power to the rest of the system, including the microcontroller and all other hardware components.

### 6. Software
This subsystem where the control and processing of the system happens. The inputs should be processed into some functionality based on a DJ board here.

- **Input processing:** Inputs will be processed and translated into functions here.
- **Communication with Keyboard:** embedded software will be written to communicate with the microcontroller through a USB using SPI.
- **Audio processing:** audio processing will occur here, where the audio files will be processed and manipulated based on the inputs of the keyboard.
- Will have to incorporate signal processing libraries.

### 7. Laptop
This subsystem will be used for all the components we cannot buy, specifically for a hard drive.

- **Hard drive:** hard drive is just for storage purposes, real DJ boards have hard drives that they plug into the boards typically.

## Criterion for Success
- **Ability to read inputs:** the microcontroller should be able to read inputs from the keyboard and send that to the software to be processed.
- **Ability of software to process inputs:** the software should be able to take the inputs from the keyboard through the microcontroller and translate them into functions that represent manipulations of the audio files.
- **Ability to manipulate the audio files:** the software’s functions should be able to manipulate the audio files based on the keyboard inputs in real time without pausing the play of the music.
- **Ability of system to have music on the “hard drive”:** the music should be stored as audio files on the “hard drive” (in our case we will just use the laptop file system).
- **Ability to play selected music through speaker:** the system should play the selected music through the speaker without fail whilst taking input from the keyboard.

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