Built a real-time ESPHome FFT visualizer for a 128×64 HUB75 matrix

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.

2 Likes