This is an automated archive made by the Lemmit Bot.
The original was posted on /r/homeassistant by /u/joer14 on 2025-06-16 16:55:07+00:00.
What it is
I grabbed a USB-C powered 8 × 8 RGB LED matrix with an onboard ESP32 off AliExpress and flashed it with ESPHome. It lives by the front door and gives me an at-a-glance view of the house state.
Modes
Color / Pattern | Meaning |
---|---|
🟢 Ripple Green | All doors locked, all contact sensors closed |
🟡 Ripple Yellow | ≥ 1 door unlocked, sensors still closed |
🔴 Ripple Red | ≥ 1 contact sensor open |
🔵 Flash Blue | Freezer door open |
💚 Flash Green | All doors locked, sensors closed except front door (helpful as I head out) |
⚫️ Off | Apple TV in the room is playing (so it won’t distract) |
How the ripple animation works
Per frame we:
- Compute each pixel’s distance from the matrix center.
- Plug that distance minus a time-based phase into
sine()
. - Map the result 0→1 and multiply it by the current mode’s base color.
That produces an expanding concentric-ring “water ripple” in whatever color the mode needs.
Code
Full ESPHome/C++ gist is here.
Next Steps
It would be nice to have an enclosure, but I don’t have a 3D printer and I’m kind of lazy… But that would be good. Also thinking of restricting the off mode for AppleTV to be light sensitive and only turn off if TV is actually on (right now apple tv is paired to a homepod so sometimes it will turn off unnecessarily)
How do you handle status indicators? What improvements should I make?