SuperFret
Team A2: Owen Ball, Tushaar Jain, Ashwin Godura
18-500 Capstone Design, Fall 2023
Electrical and Computer Engineering Department
Carnegie Mellon University
System Architecture
Product Pitch
Software
Firmware
Hardware
Beginner guitar players have trouble associating fingering positions in images or guitar tabs with physical locations on the fretboard. SuperFret addresses this by guiding the user with lights. Our product has 2 modes. In “Training” mode, SuperFret waits for the user to strum the correct note. In “Performance” mode, the system flashes LEDs according to a song file and the user tries to keep up. In both modes, SuperFret will record the user’s performance and displays feedback in the form of statistics on the intuitive web app.
SuperFret provides 4 hours of fun on a charge! With SuperFret’s sub-2 millisecond LED latency and 99% strum and finger placement sensing, you can play with confidence and trust the system will keep up, even as your skills rapidly progress.
System Description
System Evaluation
Conclusions & Additional Information
The SuperFret system has 3 main subsystems:
Custom PCB (Pi Hat)
Teensy 4.1
NeoPixel Library
Reading Frets
Determining Accuracy
Reading Strums
UART
Interrupts
Fretboard PCB
NeoPixel LEDs
Flip-Flop to Drive Fret
Fretboard PCB
NeoPixel LEDs
Flip-Flop to Drive Fret
WS2812�Protocol
Voltages on Guitar Strings
Clock and Data
…
15
Hardware
Software
Custom�Made
Purchased Component
KEY
Buzzer for Metronome
Guitar Pick
Fretboard PCB
NeoPixel LEDs
* Used to indicate open strings
Frontend on Browser
User Controls
Virtual Guitar
Raspberry Pi 4B
Django Web Server
MIDI Preprocessing
Aggregating Statistics
Teensy Communication
5V Buck Converter
MIDI Displaying
3S 2200mAh LiPo Battery
Pick Electrode
Figure 3: Full Guitar Assembly
Buck Converter
Pi Hat
Teensy
RPi
SuperFret surpassed all expectations we set and has proven to be an enjoyable and effective way to learn guitar. Throughout the project, we faced numerous challenges including timing violations induced by signal propagation time and synchronizing the web app with user playing. We were able to overcome these challenges through collaborative debugging and integration testing. In the future, this project could be expanded on by using finger placement and strum detection to create MIDI files and sheet music as the user plays.
Fretboard PCBs
Metric | Target | Actual |
MIDI to fretboard LED conversion accuracy | 100% | 100% |
Finger placement detection accuracy | ≥99% | 100% |
Strums per minute supported | ≥200 | 300 |
Strum detection accuracy | ≥99% | 99% |
Latency from strum to LEDs updating in response | ≤50ms | 1.85ms |
Latency from strum to web app updating in response | ≤250ms | 215ms |
Average current through body possible | ≤1mA | 5.37µA |
Total system current with all LEDs at 50% brightness | <4.5A | 0.96A |
To ensure the system provides a positive user experience, numerous use-case and design requirements were developed. Using lab-bench ammeters and oscilloscopes, along with various accuracy testing procedures, we were able to verify that the system met all our target requirements.
Figure 2: Virtual Guitar on Web App
Figure 1: System Block Diagram
Figure 4: Test Results Table
Project documentation and weekly updates
https://course.ece.cmu.edu/~ece500/projects/f23-teama2/