top of page
Search

Building an ESP32 Melody Studio

  • ceceliazhen
  • 14 hours ago
  • 2 min read

This week I took a simple ESP32 screen project and turned it into something much more interactive: a tiny WiFi-controlled music player.


The project starts with an ESP32-S3 connected to a 320×240 ST7789 display and an I2S speaker. When the board powers on, it displays a custom image, plays a welcome melody, and then connects to WiFi. Once connected, a web server allows me to control the music from my phone.


One challenge was figuring out the correct hardware configuration. My board uses the newer display wiring but the older audio wiring, so there was a lot of trial and error before both the screen and speaker worked together reliably. Seeing the image appear on the screen while hearing the startup melody felt like a small victory.


After the hardware was working, I added a web interface. Instead of typing commands into the serial monitor, I can now open a webpage and select songs such as Fur Elise, Twinkle Twinkle Little Star, Ode to Joy, and other melodies. This made the project feel much more like a product and less like a code demo.



I also started experimenting with a custom melody editor. My original approach used frequencies directly, but I quickly realized that values such as 262 Hz or 392 Hz are difficult to remember. I began exploring note names like C4, D4, and G4 instead, which are much easier for humans to read and edit.


The most interesting part of this project wasn't the music itself. It was learning how several systems work together:

  • TFT graphics

  • I2S audio output

  • WiFi networking

  • Web servers

  • User interfaces

  • File storage


Each piece is relatively simple on its own, but combining them into a single project required a lot of debugging and testing.


My next goal is to improve the web interface and make the melody editor more intuitive, perhaps with a small piano keyboard instead of typing notes manually. Eventually I'd like the display, speaker, and website to work together as a miniature music workstation powered entirely by an ESP32.


It's a small project, but it taught me a lot about integrating hardware and software into a complete user experience.

 
 
 

Comments


bottom of page