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 ended up replacing the battery with a larger one than the one pictured in the end, a 3100 (ed: hang on, was it maybe 3500 even?) mAh Samsung 18650 cell. I also switched the voltage reg to a more efficient chip. I now get about 9-10 months on a charge (with one daily refresh over wifi) in practice. At those durations battery Li-Ion self-discharge is actually a big factor sadly so a lot of those mAh fade into the ether. :)
I made my own version of this and I am seeing a lot of interesting choices so I am intrigued. The lack of soldering means you probably don't do that normally.
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.
> but the external wakeup has no real advantage in power draw.
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 :)
If it helps, I went for the elegant all in one PCB version (dutifully replicating the e-paper driver schematic from Waveshare). I had to learn a fair bit about how to specify inductors (not something my similarly basic EE background covered much of).
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.
RE: the external clock - in my setup I got the power draw down to ~24µA with just a crystal but its possible that a completely external wakeup could be lower. Not that i think it makes a difference with that dev board :)
You inspired me to redo mine since I saw a new type of colour e-ink display (Spectra C6)
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.