first of all I'd like to take the time to thank @ZinggJM for maintaining GxEPD2 and all the help and support that is given to us users. Maintaining an opensource project is hard work and takes a lot of dedication and is definitely something that shouldn't be taken for granted. So, thank you so much for all the work you put into this project - it is very much appreciated!
I have a similar problem than the one discussed here: GxEPD2: fuzzy display if partial update after deep sleep, flawless if partial update without. Also the solution that @ZinggJM provided (1K pullup resistor) works for me, but unfortunately my application now draws quite a lot of current in deep sleep mode (~2mA) - the majority of it consumed by the display. Is there something else I could do, to still use the partial update, but without the high current consumption?
Or alternatively: Is there a (2.9'') display out there that doesn't suffer from that issue? Currently, I am using a 2.9'' ePaper Display from Waveshare.
Hi Bernhard, welcome to the forum, and thank you for the appreciation of my work!
If you use a processor with 3.3V IO, then you should avoid level converters for low power use. I recommend the DESPI-C02 connection module.
TZT (on AliExpress) has boards without level converters. And there are others, too.
If you use a 5V Arduino with 5V IO, then you still can use the DESPI-C02, but connected through level converters. Level converters of I2C kind use little power for HIGH state signals.
-jz-
I am using a 3.3V battery powered ESP32, so the DESPI-C02 would be perfectly fine in that regard.
I saw that the above DESPI-C02 link mentions a few compatible displays from Good Display at the bottom. Do they all work with deep sleep or does the display need to have something special for it to work? Or is that usually not a problem at all and Waveshare did just mess up the reset circuit?
All e-paper controllers I know have deep sleep capability.
Waveshare had used the RST pin to also switch off power to the board (level converter and connected display) for zero power use, But then the controller looses memory, and needs full refresh instead of differential (fast) refresh to continue.
There are newer Waveshare boards that have a separate PWR connection with the same purpose, and the same drawback.
Got it, thanks a lot for taking the time and answer that in detail!
One last question (not sure if you maybe tried that one at some point): I am wondering if it is possible to remove the panel from my Waveshare board and use that together with the DESPI-C02 board. I haven't had a look at the board yet to see if there is any chance to remove the panel without destroying it - I guess they could have been glued on pretty well. Just out of curiosity: Do you have any experience with that?
So my idea would be to disconnect the panel from the Waveshare board and connect it to the DESPI-C02 connector board and then use the GDEM029T94 display type in the software. I guess that might work?
all three seem to be the same panel, they have the same inking on the flexible connector.
But only the GDEM029T94 from Good Display has the differential waveform table (for fast partial update) programmed in the controller OTP memory.
The other two are the same panel, presumably the DEPG029BS from DKE.
The same driver code is used for these two, which programs the missing waveform table into controller registers. As Waveshare uses this panel, you need to use one of these two driver classes with it.