Applications and Implications, Project Development¶
What will it do?¶
Originally, I planned to build a device that not only detects guitar string frequency but also automatically tunes it using motors. The idea was that the user plucks a string, and the device both identifies the note and physically turns the tuning peg with a motor to bring it to the right pitch.
But in reality, I faced problems with the motors. They just didn’t work as expected. So I had to pivot. The final version is a manual guitar tuner — it detects the note from a piezo sensor and shows the result on an OLED screen. The user sees which note it is and tunes it by hand.
Who has done what beforehand?¶
There are already products like Roadie Tuner that do full auto-tuning. And a lot of makers online have built guitar tuners with Arduino and displays, usually using microphones or FFT. I looked into all of that, but my plan was to combine the tuner with motors — which is less common. Eventually, I ended up building a simple tuner because it worked better and more reliably.
What will you design?¶
- A small PCB for the signal amplifier and microcontroller connections
- A basic user interface on the OLED
- Code for signal processing (to detect frequency and match to musical notes)
- Possibly a case, if I have time
What materials and components will be used?¶
- Raspberry Pi Pico 2W
- OLED display (128x64, SPI)
- OPA2340 op-amp
- Resistors, capacitors
- Piezo disk (from FabLab stock)
- DRV8825 motor drivers (purchased for initial idea)
- Stepper motors (recycled from DVD drives)
- Wires, PCB, soldering stuff
Where will they come from?¶
- Pico: gifted by a friend
- OLED: AliExpress
- OPA2340: local shop
- Passives: from our lab
- Piezo: FabLab inventory
- PCB: made in FabLab
- Stepper drivers: AliExpress
- Stepper motors: old DVD drives
How much will they cost?¶
Item | Source | Cost |
---|---|---|
Raspberry Pi Pico 2W | Gift from a friend | $0 |
OLED Display (128x64 SPI) | AliExpress | ~$3 |
OPA2340 Op-Amp | Local electronics shop | ~$2 |
Passive components (R, C) | From lab stock | ~$1 |
Piezo Disk | From FabLab | $0 |
PCB material | FabLab (internal use) | ~$1 |
DRV8825 drivers (x6) | AliExpress | ~$9 |
Stepper motors | Recycled from DVD drives | $0 |
Total (used parts) | ~$7 | |
Total spent (including unused parts) | ~$16 |
Note: DRV8825 and stepper motors were for the original auto-tuning idea, but not used in the final version.
What parts and systems will be made?¶
- Amplifier circuit for piezo signal
- Main firmware with tuner logic
- OLED display interface
- Simple PCB
- Case
What processes will be used?¶
- PCB design and milling
- Soldering
- Programming (MicroPython)
- Signal processing (autocorrelation or zero-cross)
- Maybe CAD + 3D printing
- Laser cutting
What questions need to be answered?¶
- What algorithm is best for stable frequency detection?
- How to filter the piezo signal to reduce noise?
- Can it work well on all 6 strings, including low E?
How will it be evaluated?¶
I’ll test it with a real guitar:
- Does it detect the right note?
- Is it fast and stable?
- Can someone actually use it for tuning?
- Is the screen readable and the feedback clear?
What tasks have been completed?¶
- Bought all components
- Piezo signal read successfully
- OLED display working
- Frequency detection algorithm tested
- Motors tested (but didn’t go well)
What tasks remain?¶
- Final PCB and soldering
- Firmware cleanup
- Possibly 3D printed case
- Final integration and test with real tuning
What has worked? What hasn’t?¶
Worked:
- Piezo signal reading
- OLED interface
- Frequency detection with simple methods
Didn’t work:
- Motors didn’t rotate properly — maybe current issue or signal problem
- I spent too much time trying to get motors to work, and they never did
What questions need to be resolved?¶
- Should I use zero-cross or autocorrelation in the final version?
- Should I display note name only, or also cents/deviation?
- Can I make it more stable on low frequencies?
What will happen when?¶
- This week: finalize and solder the PCB
- Next week: finish firmware
- Final week: test on guitar, add documentation and (maybe) make case
What have you learned?¶
Honestly, I learned a lot from failure. The original plan was too ambitious for the time I had. Motors take time to debug and power right. In the end, I realized it’s better to make something working and useful, even if it’s simpler. I also learned about piezo sensors, analog signal conditioning, and how hard (but fun) signal processing is.