Built a wireless drum kit with ESP32 — buttons → WiFi AP → iPhone plays sounds, no cables, no laptop, no router

Off topic

Built a wireless drum kit using just an ESP32 and an iPhone — no extra audio hardware, no laptop, no router.

Here's how it works:

  • ESP32 creates its own WiFi hotspot
  • iPhone connects and opens Safari → loads a drum web app served directly from the ESP32's flash memory
  • Press a physical button → hardware interrupt fires → WebSocket pushes a command → iPhone's Web Audio API plays the sound

Built in progressive phases — starting from literally just a USB cable and a browser, adding hardware one step at a time.

What I learned along the way:

  • ISR-driven GPIO with software debounce for < 1ms input detection
  • ESP32 WiFi AP mode — no infrastructure needed at all
  • SPIFFS to serve a self-contained web app (HTML + WAV samples bundled as base64) directly from the microcontroller
  • WebSocket for real-time push to mobile Safari
  • iOS AudioContext quirks — resume() must be called before every play, not just on startup

Full source code, wiring guide, and step-by-step replication docs: https://github.com/kiranj26/Electronic_Drum_Using_ESP32

Next up: on-device I2S audio so the phone isn't needed at all.

Posted Apr 6, 2026, 12:54 AM UTC

10
Loading comments…