I was able to get the M5STACK PaperColor (SKU: C151) working with ESPHome today. It seems to work well. The biggest hurdle was related to managing the EPD power rail in order to make the display available.
I plan on building on this initial "get it working" example, but I thought I'd share it here in case the core is useful to others:
Nice โ built one of these too, and it looks like we took different routes, which is handy. Yours is deep-sleep + on-device-drawn; mine's always-on with a server-rendered (Puppet) dashboard that the 3 buttons page through as a carousel. I also pulled the M5PM1 bits into a reusable ESPHome external component โ EPD rail + charging + power-hold (survives USB-unplug) + battery % + the power button โ "off" screen โ shutdown. Repo:
Might be useful to compare or borrow from?
Also interesting: you're on mainline's Spectra-E6 model while I'm still on kepstin's 4.0in-Spectra-E6 PR โ good to know mainline works.
I just switched to mainline's generic Spectra-E6 model + explicit dimensions, and it renders identically โ so it builds on stock ESPHome / the HA add-on now, no fork.
Thanks for the pointers @PFalko
I incorporated a few things from your work: HOLD_CFG power-hold register sequence, enabling the 3.3V LDO rail, the hardware button approach, battery voltage filter logic. Super helpful. This display seems to be a useful and well implemented piece of hardware.
@PFalko Your recent improvements to deep sleep management were super useful. Preliminary test results look significantly better and meaningful for extended on battery operation, Thx.