This is still a black and white panel, but it's not that different with the color ones. Feel free to reach out if you have questions.
I’ve been (slowly) working on a similar project and it’s been easy to get it running on my desk hooked into power but much more difficult to elegantly frame the panel that can just live on a wall.
I find it wild that you used a dev board because the LDOs on them are most of the time very bad and you do seem to use 5V instead of bypassing that. The type you get normally uses 1mA just sitting idle.
Why did you use an external RTC instead of just soldering a 32.768khz crystal to the esp32? Okay if my assumption above is correct that answers that. but the external wakeup has no real advantage in power draw.
The relay eats some current and a mosfet in its place would probably be better. I assume you added it because the e-ink hat has no proper shutdown. From the looks of it you can just bypass the BUCK converter on it so just run it off 3.3-3.6v. There is a smaller BOOST converter in there that might still waste power so the mosfet might still be needed. This beings me to my next point:
you can completely do away with the DCDC boost converter by using a LiFEPO4 battery. All you need extra is monitor the voltage and have your display warn once it falls below 3V.
Anyway 9-10 months is remarkable for the LEGO approach.
This particular external RTC has very low power draw, and it allows me to put the esp32 into a deeper sleep state and turn off the entire RTC and RTC memory mini-MCU in the entire esp32. It does make a difference.
> I assume you added it because the e-ink hat has no proper shutdown. From the looks of it you can just bypass the BUCK converter on it so just run it off 3.3-3.6v. There is a smaller BOOST converter in there that might still waste power so the mosfet might still be n
Aye, the controller board isn't designed for a battery-based application and has an idiotically high idle power draw, even not taking the always-on power LED into account I could have taken out, so I'm only powering it up to do the update.
And yeah, I'm sure a MOSFET would do this fine.
> Anyway 9-10 months is remarkable for the LEGO approach.
The LEGO approach is partly because I kept shifting the goal posts - originally I wanted to forego controller board entirely, and directly drive the e-ink waveforms from the MCU with the help of an op-amp (there's some prior art and reverse engineering available for this). This is partially why I picked a dev board with a big external PSRAM for a trial run. The controller board has its own SPI memory to hold the large framebuffer, but I was originally going to park this with the esp32 and have the lob of memory hooked up there :-)
My other plan was actually ordering a custom PCB that has it all in one place (this is the main reason why I didn't bother to solder anything to a perf board).
But then I had a little daughter and plans changed, so I shipped the mockup to production. Since it's holding up pretty well I'm quite happy with how it turned out anyway, but I absolutely agree a cleaned-up "v1.0" of this thing would be really nice to do at some point.
Also, do note that I'm mainly a software engineer and have no formal training or background in EE, so partly I do these as little hobbyist learning projects and to do something with my hands. If your day consists of Alt-Tabbing between your EDA and your Mouser/Digikey order tracking I'm sure you'd approach this very differently and iterate it much more on the screen first :)
I somehow put a short on the design so my JLCPCB PCBA order is worthless. The short only appears when soldering the ESP32 down and I’ve tried three different boards with three different ESP32 C6 modules and it’s present in all of them.
I would have been much better off prototyping with LEGO parts first.
You inspired me to redo mine since I saw a new type of colour e-ink display (Spectra C6)
But if you just want to get going, you don't really need to go through that sort of trouble. You can just buy a panel + controller board via a retailer like e.g. Waveshare, and hook them up to a computer. Quite a few of these controller boards even have HDMI input, or come with SDK code for e.g. Raspberry Pi if they use SPI over GPIO. You can tinker quite a bit without things getting more challenging, and if you can arrange for wired power you may not really need to optimize anything.
This was recently shared here on HN: https://news.ycombinator.com/item?id=42137513
The spectra color displays seem to be available cheaper than I expected ($250). Note that the refresh cycle is really long on these though.
I'm now tempted to put something together.