Magical Scepter
A handheld “magic scepter” built on an Arduino Nano ESP32 that turns motion gestures into spells—synchronized WS2812 LED-ring effects, embedded SFX, and ElevenLabs text-to-speech—while hosting a WiFi web UI for configuration, spell management, and real-time monitoring.
A compact ESP32‑S3 build tuned for stable, real-time motion sensing and synchronized audio/visual feedback.
Gestures are recorded from the web UI, downsampled + normalized into fixed-length templates, and stored in flash. Runtime recognition uses Dynamic Time Warping (DTW), confidence thresholds, cooldowns, and optional combo sequences—then triggers LED overrides plus SFX → TTS audio. Spells can also fire “real world” actions: DIY effects, lights, and other home automations.
The scepter runs a built-in HTTP server over WiFi and advertises itself via mDNS as scepter.local. The interface covers spell CRUD + testing, volume/voice tuning, voice assistant configuration (OpenAI API), LED parameters, IMU calibration, WiFi management, and live status + orientation visualization.
On boot the ESP32 brings up WiFi + the HTTP server, loads stored spells/settings from flash, then runs three loops in parallel: IMU sampling + DTW matching, FastLED ring animation, and an I2S audio pipeline that sequences SFX → ElevenLabs TTS. Voice input can be routed to a configurable OpenAI-backed assistant without blocking gesture recognition.