top of page

Jim Horwitz

Project Overview

The Frequency Realtime Equalized Tone (FRET) board is a platform that enables electric guitars to have real-time, custom digital guitar effects built into a guitar. 

What is Fret?

Background

FRET is a full-stack embedded system I created for my senior project. I also collaborated with Julia Brubach, who handled the signal processing derivations; and Peter Buglewicz, who aided in the analog design. The current iteration of FRET includes a 5-band equalizer and distortion!

Understanding the Problem Space

Electric guitar pedals are an additional burden to transport when gigging.

But, electric guitar bodies often also have extra space inside for additional electronics.

FRET board takes advantage of this extra space, sitting inside an electric guitar to provide custom digital effects and eliminate the need for common pedals.

Main Features

/ 01

5 band equalizer, distortion, and phasor capabilities

Sliders and buttons face the user on the back of the guitar to control the effects

/ 02

$20 wholesale cost per assembled board 

/ 03

Reflections & Takeaways

I really enjoyed learning the intricacies of mixed-signal design through FRET. One of the most exciting milestones in this process was ordering a pick-and-place assembly job for a circuit board for the first time. This step was crucial in bringing the theoretical aspects of my design to life, and was amazing to go through a process similar to industry!

  • FRET centers around the RP2040, a microcontroller by Raspberry Pi.

  •  A 16-bit ADC and DAC handle conversion between the analog and digital spheres over SPI at 40 MHz. 

  • A full circuit schematic and PCB layout were designed in KiCAD

  • Board fabrication and pick-and-place assembly for a ~100-component board were designed and ordered in two months from JLCPCB. 

  • Core 1 utilizes a hardware timer to compute effects in real-time at 44.1 kHz. FRET’s signal processing code must execute under 22 microseconds to meet timing guarantees. Significant firmware optimizations were required to enable the successful operation of the device. 

  • A custom fixed-point data type and custom functions for addition, subtraction, and multiplication were created to maintain precision and accommodate the RP2040’s lack of FPU.

  • Core 2 communicates over the I2C bus to a secondary 8-bit ADC to sample five different sliders that each control a band of the equalizer.

System Architecture

bottom of page