An Arduino-based embedded system that detects acoustic frequencies via microphone input and automatically adjusts motorized tuning pegs.
GearGuiTuner: Automatic Acoustic Guitar Tuning System is a project that automates the tuning process of an acoustic guitar using microphone-based frequency detection and motorized tuning peg control. The system detects string vibrations through a microphone sensor and analyzes the signal using the Fast Fourier Transform (FFT) to determine the current pitch of the string. An Arduino Mega 2560 processes the detected frequency and controls stepper motors attached to the tuning pegs to automatically adjust string tension until the correct pitch is achieved. The prototype also features dual operation modes (automatic and manual), real-time feedback through an LCD display, and user interaction via push buttons and a capacitive touch sensor. This project demonstrates how embedded systems and signal processing can be applied to create intelligent musical tools that improve tuning accuracy and efficiency.
- Embedded Systems Development – Used to integrate sensors, actuators, and microcontroller-based control for automated tuning
- Microcontroller Programming (Arduino / Embedded C) – Used to implement system logic and hardware interaction
- Signal Processing – Frequency analysis performed using the Fast Fourier Transform (FFT) to detect guitar string pitch
- Electromechanical Control Systems – Used to automatically adjust tuning pegs based on detected frequency
- Hardware Prototyping – Breadboard-based prototyping and circuit integration for system testing and validation
This project is completed as an academic project, a final project for the courses Embedded Systems and CpE Methods of Research, but may still receive improvements or refactoring in the future.
Project Team: Section O3A, Embedded Systems and CpE Methods of Research Courses, 3rd Year Computer Engineering, AY 2025–2026
Project Members:
- Unico, Aldwin Rion
- Dizon, Miguel Jirro C.
Project Date: September to November 2025
Project Sample Image:
