Project Overview

Project Abstract
The Bit-by-Bit Tuner project leverages the Upduino v3.1 FPGA and STM32L432KC MCU hardware provided in E155 to create an instrument tuner that takes in sound on a microphone and displays the note name, pitch in Hz, and pitch deviation on an LCD screen.
To build the project, the Fast Fourier Transform (FFT) for 512-point 32-bit resolution was implemented on the FPGA by applying the Discrete Fourier Transform (DFT) algorithm. The FFT bins containing real and complex coefficients of the transformed input signal in the frequency domain were sent to the MCU which handled identifying dominant frequency and displaying pitch information on the LCD screen.
While the full system design does not currently output accurate pitch measurements, the FFT dataflow was fully verified in simulation and data can be communicated from the FPGA to the MCU.
Project Motivation:
Building off the team’s love for all things musical—listening, playing, writing—and passion for digital design, building an instrument tuner was a way to help instrumentalists become stronger musicians by being able to play in tune. Moreover, this project aligns nicely with the course work the team is currently leaning about in E101: Advanced Signal & Systems. Topics like FFT, sampling rate, digital signal processing, and filtering are highly relevant and powerful tools worth exploring.
System Block Diagram:
Below, Figure 1 shows the system block diagram for the project which includes all hardware components—I2S microphone, FPGA, MCU, LCD screen—as well as the communication protocols between all components.
