GxEPD2: minimize full refresh time

Hi folks,
I am using an e-ink display - all is working good and well.
GDEH0213Z19 104x212, UC8151D, (HINK-E0213A20-A2 2020-11-19))
But I am using a battery-powered node and would like to minimize its power consumption.
A full refresh takes about 12~13 seconds, but about halfway through, the display is already done with the refresh and it takes quite a few seconds which appear to be useless as nothing is updating.
The logging also doesn't show anything special taking place:

_PowerOn : 71999
_Update_Full : 12693000
_PowerOff : 28000

Do I really need to wait for the full refresh to end, or can I 'cut it' earlier and save a couple of seconds of active time?

Yes and no, with GxEPD2. Do you use b/w only content on the 3-color display?
With b/w only, you don't see anything happening during the waveform phase for color update.
-jz-

So far, I only used b/w. I don't really need the red, so if it can save useful power I can get rid of that!

You are lucky. You have one of the few (2) 3-color e-paper displays that can do that.
See example GxEPD2x_FastBlackWhiteOnColor.ino.

// experimental example GxEPD2x_FastBlackWhiteOnColor.ino: differential refresh on capable 3-color panels

That sounds great! I'm off for the evening, but hope to get around to testing that soon. Sounds like my lucky day :smiley:

Wow, that is near-instantaneous. The partial refresh completely eliminates the 12+ seconds, cutting it down to tens of milliseconds.
The only problem is that the partial refresh - of course - isn't perfectly drawn: some pixels are not that black.
What is the best solution to this? Draw the same text twice since it's easily fast enough? Or is there another recommendation?

Differential refresh with no differences will (should) have no effect.

Buy a b/w e-paper display for b/w only use.

You could try the example from Good Display for this special use.

I've kept the code running through the night and the display lost close to no contrast. Sometimes a few pixels don't get turned on all the way but I have some space to increase the font.
Funnily enough a tri-color epd is the cheapest one I can get for the dimensions I need.
I think I know enough - thanks for the support!! You're literally singlehandedly carrying the whole hobbyist epd world :smiley:

1 Like


Pretty much nailed it - full refresh & draw bitmap on reboot, and BW/partial refresh on deepsleep wake. Thank you!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.