{"id":15161609,"url":"https://github.com/veerajkute/automatic-guitar-tuner","last_synced_at":"2026-03-08T06:32:11.346Z","repository":{"id":253978130,"uuid":"845116981","full_name":"VeerajKute/Automatic-Guitar-Tuner","owner":"VeerajKute","description":"An automatic guitar tuner built using an Arduino microcontroller. This project leverages a microphone to capture the sound of a guitar string and uses a Fast Fourier Transform (FFT) algorithm to detect the frequency. The Arduino then controls a servo motor to adjust the tuning peg until the string reaches the desired pitch.","archived":false,"fork":false,"pushed_at":"2024-08-20T16:05:45.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T12:51:20.044Z","etag":null,"topics":["arduino","fastfour","fft","microcontroller","music","signal-processing","stepper-motor"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VeerajKute.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T16:01:55.000Z","updated_at":"2024-12-21T07:42:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"52a6a422-cc4f-4869-b0e3-9020527731ab","html_url":"https://github.com/VeerajKute/Automatic-Guitar-Tuner","commit_stats":null,"previous_names":["veerajkute/automatic-guitar-tuner"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VeerajKute/Automatic-Guitar-Tuner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeerajKute%2FAutomatic-Guitar-Tuner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeerajKute%2FAutomatic-Guitar-Tuner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeerajKute%2FAutomatic-Guitar-Tuner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeerajKute%2FAutomatic-Guitar-Tuner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VeerajKute","download_url":"https://codeload.github.com/VeerajKute/Automatic-Guitar-Tuner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeerajKute%2FAutomatic-Guitar-Tuner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280878370,"owners_count":26406641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","fastfour","fft","microcontroller","music","signal-processing","stepper-motor"],"created_at":"2024-09-27T00:41:02.176Z","updated_at":"2025-10-24T22:30:51.569Z","avatar_url":"https://github.com/VeerajKute.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automated Guitar Tuner\n\nThis project is an Arduino-based automated guitar tuner that uses a stepper motor to adjust the tuning of guitar strings by analyzing their frequencies. The tuner captures the sound of a guitar string, performs a Fast Fourier Transform (FFT) to find the dominant frequency, and then adjusts the tuning peg using a stepper motor to match the desired frequency.\n\n## Features\n- *Automated Tuning*: Tunes all six strings of a standard guitar.\n- *Frequency Analysis*: Uses the arduinoFFT library for accurate frequency detection.\n- *Stepper Motor Control*: Utilizes the AccelStepper library for precise motor control.\n\n## Hardware Required\n- *Arduino Board*: An Arduino Uno or compatible microcontroller.\n- *Stepper Motor*: A 4-wire stepper motor.\n- *Stepper Motor Driver*: A driver board for controlling the stepper motor.\n- *Microphone/Sensor*: A microphone or piezoelectric sensor to capture the sound.\n- *Breadboard and Jumper Wires*: For connecting the components.\n- *Resistors*: As required for the microphone/sensor circuit.\n\n## Software Requirements\n- *Arduino IDE*: [Download Arduino IDE](https://www.arduino.cc/en/software).\n- *arduinoFFT Library*: Install via Arduino Library Manager.\n- *AccelStepper Library*: Install via Arduino Library Manager.\n\n## Installation\n\n1. *Clone the Repository*:\n   ```bash\n   https://github.com/VeerajKute/Automatic-Guitar-Tuner.git\n   cd Automated-Guitar-Tuner\n2.\tOpen the Project in Arduino IDE:\n\t•\tOpen the guitar_tuner.ino file in the Arduino IDE.\n3.\tConnect the Arduino:\n\t•\tConnect your Arduino board to your computer using a USB cable.\n4.\tUpload the Code:\n\t•\tSelect the correct board and port in the Arduino IDE.\n\t•\tClick the Upload button to upload the code to your Arduino.\n\n## How It Works\n\n1.\tStart the Tuner:\n\t•\tOpen the serial monitor in the Arduino IDE.\n\t•\tThe tuner will prompt you to select a guitar string to tune by entering a number (0-5):\n\t- 0: 6th String (E2)\n\t- 1: 5th String (A2)\n\t- 2: 4th String (D3)\n\t- 3: 3rd String (G3)\n\t- 4: 2nd String (B3)\n\t- 5: 1st String (E4)\n2.\tRecording Audio:\n\t•\tThe tuner records audio for a few seconds to capture the frequency of the selected string.\n\t•\tThe arduinoFFT library is used to perform a Fast Fourier Transform (FFT) on the recorded samples to find the dominant frequency.\n3.\tTuning the String:\n\t•\tThe detected frequency is compared to the target frequency for the selected string.\n\t•\tThe difference between the detected and target frequencies is calculated.\n\t•\tThe stepper motor is then adjusted to correct the tuning by rotating the tuning peg.\n4.\tRepeat for Other Strings:\n\t•\tRepeat the process for each string until the guitar is fully tuned.\n\n## Example Output\n\nSample output from the serial monitor:\n\nSelect a string to tune (0-5):  \n\n0: 6th String (E2)  \n1: 5th String (A2)  \n2: 4th String (D3)  \n3: 3rd String (G3)  \n4: 2nd String (B3)  \n5: 1st String (E4)  \n\nSelected String: 2  \nRecording audio for 1 second.  \nRecording complete.  \nMeasured Frequency (Hz): 146.50  \nTarget Frequency (Hz): 146.83  \nAdjustment Steps: 2\n\n## Contributing\n\nContributions are welcome! Feel free to submit a pull request or open an issue if you have suggestions for improvements or if you find any bugs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveerajkute%2Fautomatic-guitar-tuner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveerajkute%2Fautomatic-guitar-tuner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveerajkute%2Fautomatic-guitar-tuner/lists"}