{"id":23772993,"url":"https://github.com/zreechxnn/piano-esp32","last_synced_at":"2026-02-14T12:01:34.392Z","repository":{"id":269782303,"uuid":"908445140","full_name":"Zreechxnn/piano-esp32","owner":"Zreechxnn","description":"A web-based piano application powered by an ESP32 microcontroller. It allows users to play musical notes by pressing virtual keys on a web interface. The ESP32 acts as a Wi-Fi access point, serving the webpage and generating tones through a connected speaker. Supports basic musical notes and offers a simple interactive experience.","archived":false,"fork":false,"pushed_at":"2025-01-10T11:05:36.000Z","size":47,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T05:15:37.506Z","etag":null,"topics":["cpp","css","esp","iot","music-player","webserver","wifi-network"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zreechxnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-12-26T05:09:57.000Z","updated_at":"2025-01-10T11:05:39.000Z","dependencies_parsed_at":"2024-12-26T06:34:47.948Z","dependency_job_id":null,"html_url":"https://github.com/Zreechxnn/piano-esp32","commit_stats":null,"previous_names":["zreechxnn/piano-esp32"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fpiano-esp32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fpiano-esp32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fpiano-esp32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fpiano-esp32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zreechxnn","download_url":"https://codeload.github.com/Zreechxnn/piano-esp32/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239958307,"owners_count":19724926,"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","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":["cpp","css","esp","iot","music-player","webserver","wifi-network"],"created_at":"2025-01-01T05:21:45.940Z","updated_at":"2026-02-14T12:01:34.360Z","avatar_url":"https://github.com/Zreechxnn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# piano-esp32\n\nA web-based piano application powered by an ESP32 microcontroller. It allows users to play musical notes by pressing virtual keys on a web interface. The ESP32 acts as a Wi-Fi access point, serving the webpage and generating tones through a connected speaker. Supports basic musical notes and offers a simple interactive experience.\n\n---\n\n## Features\n- **Web Interface**: A simple piano keyboard accessible through a web browser.\n- **ESP32 Powered**: Uses an ESP32 as the central controller to serve the webpage and generate tones.\n- **Wi-Fi Access Point**: ESP32 creates its own Wi-Fi network to which users can connect.\n- **Basic Musical Notes**: Supports playing notes (DO, RE, MI, FA, SOL, LA, SI).\n- **Speaker Output**: Sound is generated on a speaker connected to the ESP32.\n\n---\n\n## Requirements\n- **ESP32 board** (e.g., ESP32 DevKit v1)\n- **Speaker or Buzzer** connected to GPIO pin (default: pin 15)\n- **Arduino IDE** (with ESP32 support installed)\n\n---\n\n## Installation\n\n### 1. Set up the Arduino IDE for ESP32\nIf you haven't already, follow these steps to set up your Arduino IDE for ESP32:\n\n1. Open Arduino IDE.\n2. Go to `File \u003e Preferences`.\n3. In the \"Additional Boards Manager URLs\" field, add the following URL:\nhttps://dl.espressif.com/dl/package_esp32_index.json\n\nmarkdown\nCopy code\n4. Go to `Tools \u003e Board \u003e Board Manager` and search for **ESP32**.\n5. Install the ESP32 board package.\n\n### 2. Upload the Code to the ESP32\n\n1. Connect your ESP32 to your computer via USB.\n2. Open the provided `piano-esp32` code in Arduino IDE.\n3. Select the correct ESP32 board and port under `Tools \u003e Board` and `Tools \u003e Port`.\n4. Upload the code to the ESP32.\n\n### 3. Connect to the Wi-Fi Access Point\n\n1. After uploading the code, open the Serial Monitor in Arduino IDE (baud rate 115200).\n2. You will see the ESP32 create an access point. The IP address of the ESP32 will be shown in the Serial Monitor.\n3. Connect your computer or mobile device to the Wi-Fi network created by the ESP32 (`SSID: ecan`, `Password: 101001010100`).\n\n### 4. Access the Web Interface\n\n1. Open a web browser and type in the IP address of the ESP32 (shown in the Serial Monitor).\n2. You should see a virtual piano keyboard on the webpage.\n3. Click on the keys to play the musical notes.\n\n### 5. Playing Notes\n- The virtual keyboard on the webpage allows you to play seven musical notes (DO, RE, MI, FA, SOL, LA, SI).\n- When you click on a key, it will play the corresponding note through the connected speaker.\n\n---\n\n## Code Explanation\n\n- **Wi-Fi Access Point**: The ESP32 creates its own Wi-Fi network, which users connect to.\n- **Web Server**: The ESP32 hosts a simple webpage with a piano keyboard interface.\n- **Tone Generation**: The ESP32 generates musical tones for each key using the `tone()` function.\n- **Speaker Output**: The sound is played through a speaker or buzzer connected to pin 15 (you can change the pin if needed).\n\n---\n\n## Circuit Diagram\n\nHere is the circuit diagram for connecting the ESP32 with the speaker or buzzer:\n\n![ESP32 Circuit Diagram](https://a.top4top.io/p_3282v9r9x1.png)\n\n---\n\n## Web Interface\n\nHere is a screenshot of the web interface you will interact with:\n\n![Web Interface](https://j.top4top.io/p_328246b3g1.jpg)\n\n---\n\n## Troubleshooting\n- **No Sound**: Ensure that the speaker or buzzer is correctly connected to the specified GPIO pin (default: pin 15).\n- **Page Not Loading**: Make sure you are connected to the correct Wi-Fi network (the one created by the ESP32).\n- **Wi-Fi Connection Issue**: If your ESP32 doesn't show up in the Serial Monitor, try resetting the device and check the connection again.\n\n---\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\nFeel free to modify the code or improve the project as needed!\n\n\u003cp align=\"center\"\u003e©️ 2024 Rechan Dinata\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzreechxnn%2Fpiano-esp32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzreechxnn%2Fpiano-esp32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzreechxnn%2Fpiano-esp32/lists"}