I’ve been wanting a dedicated dashboard for Home Assistant for a while, and the M5Paper (ESP32 with e-ink) seemed like the perfect low-power candidate.
The hardware side was a fun little weekend project. I swapped a regular wall outlet for one with a built-in USB-C port to keep things tidy. For the mount, I went back to my favorite “tech masochism” workflow: using Gemini to help me write OpenSCAD code for a custom bracket.
The 3D printed bracket fits perfectly, and the display is now up and running.
On the software side, I’ve been building on top of the work by sebirdman to create a dynamic ESPHome-based dashboard. The star of the show is a “Pikachu Helper Assistant” that provides contextual alerts—Pikachu changes states and “speaks” through speech bubbles when the CO2 levels are high, a door is left open, or the laundry is finally finished.
I’ve spent a lot of time refining the UI, fixing rendering artifacts in the grayscale sprites, and optimizing the e-ink’s partial refresh to keep things snappy without constant flickering. It even handles deep sleep properly now, waking up via the RTC to preserve battery when it’s not plugged in.
The code is still in a private repo while I polish these last bits, but seeing those stats (and a sleeping Pikachu) on the wall never gets old.
Maybe it’s time to finally put all these OpenSCAD designs into their own repo?