Hey everyone — I just open-sourced Spectrum, a real-time audio spectrum analyzer built on ESPHome.
What it does
- Renders FFT bars + peak hold on a HUB75 RGB LED matrix (tested on 128×64)
- Adaptive scaling so it looks good across different volume levels
- Frequency-based palette (bass → mids → highs)
- Includes a startup panel test animation so you can verify the display fast
Hardware (known-good build)
- ESP32-S3 DevKitC-1
- HUB75 128×64 panel (FM6126A)
- INMP441 I2S microphone
INMP441 wiring (ESP32-S3)
- BCLK/SCK → GPIO41
- WS/LRCLK → GPIO42
- SD → GPIO40
- L/R → GND
- VCC → 3.3V, GND → GND
Repo
- gbroeckling/spectrum (GitHub)
Notes / gotchas
- HUB75 panels can pull serious current — use a proper 5V power supply and solid wiring.
- Keep mic wires short + share ground between the ESP32 and panel PSU.
What I’d love feedback on
- Additional visualization modes (VU, dot mode, waterfall)
- Better auto-gain controls exposed to Home Assistant
- Panel compatibility notes from others running different HUB75 drivers
If anyone builds it, I’d love to see photos/videos and hear what panel + ESP32 variant you used.