Eink display improvements

Testing out a T-Echo. When you switch screens, you get the inverted next screen, then all black, all white, all black, all white, then back to the next screen. I think it takes over a second. It takes a while to scroll through multiple screens. Maybe it should just go black, white, next screen, and cut the time in half. The inverted next screen probably should have been inverted current screen, but the all black and all white should take care of the old image.

The screens need to be refreshed multiple times to produce the image without greying.

An e-ink screen showing the “ghost” of a prior image
Another limit is that a shadow of an image may be visible after refreshing parts of the screen. Such shadows are termed “ghost images”, and the effect is termed “ghosting”. This effect is reminiscent of screen burn-in but, unlike it, is solved after the screen is refreshed several times. Turning every pixel white, then black, then white, helps normalize the contrast of the pixels. This is why several devices with this technology “flash” the entire screen white and black when loading a new image.[citation needed]
Electronic paper is still a topic in the R&D community and remains under development for manufacturability, marketability, and reliability considerations.[citation needed]""

1 Like

I’d still guess that the first change should have been the negative of the previous image, and not the negative of the next image. Does anyone know off the top of their head if the negative next image is what a popular library does that has been around a while, or is this manually being called from Meshtastic specific code?

We are using this library for drawing:

The code is called from our EInkDisplay class. I bet there are lots of great improvements that could be made on how the eink display is updated. In particular, currently we turn the display completely off between updates (to keep power usage minimum) but most of those artifacts would go away if we left the display powered. So it would be great if you (or anyone here) wants to become the "Meshtastic eink expert :wink: " and figure out best practice. I bet it would mostly be a matter of:

leave the display on for up to 5 seconds after each screen draw (so that if the user is pressing buttons things look nice). After 5 seconds of no updates, turn the display off (to keep power use low).