Project

# Title Team Members TA Documents Sponsor
25 Auto-Guitar Tuner
Daniel Cho
Ritvik Patnala
Timothy Park
Eric Tang design_document1.pdf
proposal1.pdf
**Handheld Automatic Guitar Tuner**

**Team Members:**
Timothy Park (twpark2)
Daniel Cho (hc55)
Ritvik Patnala

**Problem:**
When playing guitar, being in tune is essential. When strings are not properly tuned to their correct pitches, the notes played can clash with each other causing what listeners perceive as being "off" or "out of tune." Accurately tuning a guitar is a challenge for both beginners and experienced players. Traditional tuners require the musician to manually turn tuning pegs while reading pitch information, which can be inconsistent and time-consuming. An automatic solution that can both detect pitch and physically adjust the tuning peg would reduce errors, speed up tuning, and improve usability in practice and performance settings.

**Solution:**
We propose a handheld automatic guitar tuner that integrates pitch detection and motorized peg adjustment into one device. The system will capture string vibrations, process them using a microcontroller to identify the current pitch, and automatically rotate the tuning peg with a small motor until the string is in tune. Since the handheld device tunes one string at a time, it can be used on different guitars without needing to worry about different spacing in between pegs and strings. A compact LED screen will display the detected pitch and tuning status, while four buttons (Power, String Select, Mode, Start) provide simple user control. The String Select button allows the user to cycle through the six guitar strings. Each press moves the selection to the next string in order: low E, A, D, G, B, high E, then back to low E again. This circular navigation lets users easily choose which string to tune without confusion or the need for multiple buttons. The Mode button lets users toggle between preset tuning standards (Standard, Drop D, Open G, etc) to accommodate various playing styles and preferences. The design will run on a rechargeable battery, with all subsystems integrated into a custom PCB for portability and reliability.

**Solution Components:**

Subsystem 1: Audio Sensing and Pitch Detection
Purpose: Capture the sound/vibration of the guitar string and convert it to a clean, digitizable signal.
Components:
A transducer (Piezo or electret mic) is used to convert the string vibration to an electrical signal.
If a mic is used, filtering algorithms will be implemented to remove unwanted ambient noise.
Low noise op-amp or preamplification can boost the tiny sensor signal to a usable voltage for the ADC.
Anti-aliasing filter removes any high frequency noise or harmonics above Nyquist so that the sampled form represents real string motion. This can prevent false pitch estimates.
MCU ADC input samples the signal at a steady rate. Clean samples are the raw materials/inputs to the pitch detection algorithm.

Subsystem 2: Microcontroller
Purpose: Run pitch detection algorithms and control the motor
Components:
The microcontroller is used for multiple aspects including streaming the audio in via ADC. It is also used to run the pitch detection algorithm and determine the motor speed/direction to achieve the optimal tuning. Apart from this, it also updates the data on the screen and takes in inputs from the buttons.
GPIO inputs (buttons) can read the users intent including power, mode and string selection, and start/stop. Debouncing will ensure one clean press.
I2C bus for OLED display and fuel gauge: The 2 wire link the MCU uses to communicate with the display to show the note, offset and battery.
Subsystem 3: Motor
Purpose: Physically adjust the guitar tuning peg to reach the correct pitch.
Components:
A DC gear motor provides the mechanism to rotate a guitar’s tuning peg. This needs to ensure that we trade speed for torque so that peg can be turned smoothly and precisely to prevent the string from snapping.
Removable socket attachment allows the tuner to be attached to different peg shapes. A quick swap lets you tune various guitars without redesigning the whole tool.

Subsystem 4: Power Unit
Purpose: Provide stable power to both logic and motor subsystems
Components:
A Li-ion battery will be the primary power source, due to the energy density and rechargeability. Typically specs at 3.7 volts with potential to allow for multiple hours of operations.
Charger IC with USB-C input can be utilized to allow safe and reliable charging of the Li-ion battery.
The Buck regulator will be used to cut voltage levels required by different components (usually 3.3V or 5V).
Fuel gauge

Subsystem 5: User Interface
Purpose: Provide real-time pitch feedback and allow user input
Components:
An OLED display is used to showcase the note/string you want to tune, a cents bar/needle so the user can see whether the string needs to be tightened or loosened. It also shows the battery and the chosen mode.
Four push buttons (Power, Mode, String Select, Start)
Piezo Buzzer to generate beep sounds to signal successful tuning. This would be driven by the microcontroller’s GPIO for tone generation.


**Criterion for Success:**

The device tunes all six guitar strings to within ±12 cents of the target pitch, which is the threshold where most people can perceive a note as out-of-tune. Possibly ±5 cents for further accuracy.
Visual indication (such as an LED) signals when each string reaches its correct pitch.
The tuner should function reliably on both acoustic and electric guitars without causing any damage to the instrument or strings.
Each string should be tuned within a reasonable time frame (under 20 seconds per string).
OLED display refreshes pitch feedback at least 5 times per second

Schnorr Protocol Key Fob

Michael Gamota, Vasav Nair, Pedro Ocampo

Featured Project

# Schnorr Identification Protocol Key Fob

Team Members:

- Michael Gamota (mgamota2)

- Vasav Nair (vasavbn2)

- Pedro Ocampo (pocamp3)

# Problem

Current car fobs are susceptible to different types of attacks. Rolling jam attacks are one of such attacks where an attacker jams and stores a valid "unlock" signal for later. Cars with passive keys/cards can be stolen using relay attacks. Since a car can be the most expensive item someone owns, it is unreasonable to allow people to steal them so discreetly by hacking the fob/lock combo.

# Solution

By leveraging public key cryptography, specifically the Schnorr identification protocol, it is possible to create a key fob which is not susceptible to either attack (rolling jam and relay) and also gives no information about the private key of the fob if the signal were to be intercepted.

# Solution Components

# Key Fob

## Subsystem 1

Random number generation - We will use a transistor circuit to generate random numbers. This is required by the Schnorr protocol to ensure security.

## Subsystem 2

Microcontroller - The MCU will run all the computation to calculate the messages. We will likely use an ATtiny MCU so we can use the Arduino IDE for programming. However, some group members have experience with the STM32 family so that is another option.

## Subsystem 3

Power - We plan on using either a 5V battery or 3.3V battery with a boost converter to power the fob.

## Subsystem 4

Wireless Communication - We plan on using the 315 MHz frequency band which is currently used by some car fobs. We will need a transmitter and receiver, since the protocol is interactive.

# Lock

## Subsystem 1

Random number generation - We will use a transistor circuit to generate random numbers. This is required by the Schnorr protocol to ensure security.

## Subsystem 2

Microcontroller - This MCU will also run all the computation to calculate the messages. We will likely use an ATtiny MCU so we can use the Arduino IDE for programming. However, some group members have experience with the STM32 family so that is another option. This MCU will need to have PWM output to control the lock.

## Subsystem 3

Linear Actuator - We plan on using a linear actuator as a deadbolt lock for demonstration purposes.

## Subsystem 4

Wireless Communication - We plan on using the 315 MHz frequency band which is currently used by some car fobs. We will need a transmitter and receiver, since the protocol is interactive.

## Subsystem 5

Power - This subsystem will also likely require 5V, but power sourcing is not an issue since this system would be connected to the car battery. During a demo I would be acceptable to have this plugged into a power supply or a barrel jack connector from an AC-DC converter.

# Criterion For Success

Describe high-level goals that your project needs to achieve to be effective. These goals need to be clearly testable and not subjective.

Our first criteria for success is a reasonably sized fob. There is some concern about the power storage and consumption of the fob.

The next criteria for success is communication between the fob and the lock. This will be the first milestone in our design. We will need to have a message sent from one MCU that is properly received by the other, we can determine this in the debug terminal.

Once we are sure that we can communicate between the fob and the lock, we will implement the Schnorr protocol on the two systems, where the fob will act as the prover and the lock as the verifier. If the Schnorr signature implementation is correct, then we will always be able to unlock the lock using the fob whose public key is associated with full privileges.

Project Videos