Newer Waveshare E-Papers all have this 5V compatible hardware addition (aka level shifter) allowing to operate the display with both 3.3V and 5V control circuits. As this may help Arduino users it introduces a collateral damage for all 3.3V users (using ESP8266/ ESP32 et.al.).
This is because the new Waveshare 5V compatible circuit shuts down all 5V-converter logic when RST pin goes low (e.g. after entering deep sleep mode). This also completely cuts off the power from the display itself resulting in loss of any memory content. I don't know what they were thinking during design of the circuit.
As a result you must always apply a full display update after deep sleep what is annoying and massively increases the battery usage in current sensitive use cases.
A possible solution to this hardware problem has been excellently depicted by user taz78 in this posting:
this works great for me but I now found a much simpler solution requiring only 1 cut conducting path and 1 new wired connection. That's all
Depending on the specific driver module you use YMMV. But basically all are quite similar to each other. The example below refers to the 2.9inch version.
looking at the pictures:
Basically you simply must disconnect the display (near the flex cable) from 3.3V and directly reconnect this terminal to permanent VCC voltage supply. Everything else can remain unchanged.
This ensures that the display always remains connected to VCC (no longer loosing memory contents) no matter what other sections of the driver board have been shut down due to deep sleep.
But please note:
THIS WORKS FOR 3.3V SUPPLIES ONLY. NEVER APPLY THIS MOD IF 5V COMPATIBILITY IS REQUIRED.
together with an ESP32 to measure and display temperatures. It's battery (CR123A) operated so every μA counts
When the whole thing is in deep sleep it consumes about 20μA overall (e-paper + ESP32). This is broken down into 7μA for the ESP32 and 13μA for the e-paper. For the overall current to measure I put a 10k resistor in line with the current supply. This is kept shorted until deep sleep is reached. Then after removing the shunt the resistor shows a voltage of about 0.200mV resulting in 20μA overall current.
ADDENDUM to the above description
for optimal results additionally attach a pull up resistor of about 100k to the e-paper EPD_RST line
thanks for the tip. I didn't even know about these adapters. Probably because you hardly can get one. Where are these sold? Found AliExpress with weeks of delivery time only...
alternatively I discovered that some Raspberry Pi compatible ePapers have their GPIO pinheader directly connected to the display input/output terminals. No circuitry in between. So it's easy to tear off these damned level shifters and enjoy ultra low deep sleep current. WIth partial refresh after wakeup.