Guitar Tuner
A tuning device for electric and acoustic guitar
info
Author: Ianis-Gabriel Armencea
GitHub Project Link: repository
Description
This guitar tuner helps you tune your guitar into standard tuning (EADGBe). It uses a microphone (with a built in amplifier) which listens to the guitar chord being played and identifies if it is too flat or too sharp from the reference frequency. It displays the current note on the oled display.
Motivation
Being a guitar player myself i thought it would be a fun idea to integrate a hobby into a school project. Also, if the project turns out well i will be using the device myself to tune my guitar before playing.
Architecture
Diagram
Log
Week 5 - 11 May
Purchased the components
Week 12-18 May
Assembled the project
Week 19-25 May
Research on FFT
Working on software
Hardware
- Raspberry Pi Pico 2W: The microcontroller responsible for computing and processing the data and for communicating with all of the components.
- MAX4466: The microphone used to detect the sound coming from the guitar. Comes with a built-in amplifier so it can detect quieter sounds.
- LEDs: Used to guide the guitar player by indicating whether the note is too sharp, too flat or in perfect pitch.
- Button: Used for switching between the notes in the E-standard tuning.
- OLED display: Displays the current note that is being tuned to.
Schematics
Bill of Materials
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | The microcontroller | 40 RON |
MAX4466 | Mic with amplifier built-in | 15 RON |
Button | Changing note | 1 RON |
OLED Display 0.96" | Displaying notes | 50 RON |
Resistor kit | Filtering | 15 RON |
Breadboard | Component connections | 5 RON |
Jumper wires set | Connections | 8 RON |
Micro-usb cable | Power | 4 RON |
LED | Note flat, sharp or perfect pitch | 0.39 RON |
Software
Library | Description | Usage |
---|---|---|
embassy | Framework for embedded programming | Writing embedded Rust applications for microcontrollers |
microfft | Library for computing fast fourier transforms on embedded systems | Converting audio signal to frequency |
ssd1306 | Display driver | Display text on screen |
num_complex | Represents complex numbers | Used for fft calculations |
embedded_graphics | Library for display | Used to draw text on display |