E-Ink display HAT for Raspberry Pi, three-color for Lopy
I have a question regarding compatibility of E-Ink display HAT for Raspberry Pi, three-color with Lopy.
Does anybody tried to use it?
Is is compatible?
Well unless you want to design your own PCB you'll have to use some jumper leads
and this is my screen
I am thinking I need to connect expansion board with screen
I'm not sure about the Waveshare shield as I only have the displays themselves but maybe you can follow the guide from the micropython library I linked to:
reset = Pin('P19') dc = Pin('P20') busy = Pin('P18') cs = Pin('P4') clk = Pin('P21') mosi = Pin('P22')
If yours is different post it here and I should be able to match what is what for you
Now I have a question how to connect display to pycom extension board?
If you want very fast updates and low power then one thing you can look at is Sharp MemoryLCD
(static power consumption is only 100 μW)
Unfortunately it stops at 4.4" but it's pretty neat technology. I'll have a demo of it too at some point.
@jmarcelino Thanks for all the info.
Even for a meeting room display having the screen flash for 20 seconds when a change occurs would be quite annoying. Even if they don't update that often, they still update at least every time a meeting starts or ends, not to mention any actions.
I guess on that one we'll stick to POE-powered LCDs for now for that application.
Price tags are certainly OK: small screen and black and white means (relatively) quick updates, and prices should change a lot less often anyway.
jmarcelino last edited by jmarcelino
Most of it is display refresh really, there have been experiments on making it faster e.g. https://benkrasnow.blogspot.co.uk/2017/10/fast-partial-refresh-on-42-e-paper.html but on the 7.5" I don't even see a way to control the LUT, it's all done by the display.
The refresh (with all that flashing) is really done to get ALL the pixels cleared and set to the right position for the new frame. If you try to speed this up it probably end up with a few random pixels and things getting weird over time..
For many applications - price tags in shops being the most common and meeting room calendar displays - this is fine, information just doesn't change that often.
There's also some real partial refresh displays - on these you can specify that only part of display changes - but they are not available yet with the extra red colour.
One difference of the Pervasive Display units is they have something glass breakage detection. These things are fragile so it's that nice that your app gets some feedback if the display has been broken.
@jmarcelino Thanks for the info. It's unclear to me whether those displays need to be fully refreshed, or if you can just change a small part of it? 20 seconds to refresh a display (especially with all the flashing going on that I have seen on demo videos) makes use cases quite limited IMHO.
Do you know if it's the data transfer part, or the the actual refresh of the screen, which takes that long?
I haven't tested the latest Red+White+Black screens from Pervasive Displays but the old black and white were roughly on par with the speed of GoodDisplay.
The 7.5" Red+White+Black 640x384 from GoodDisplays I have takes about 15 seconds to fully update a black/white base image and an extra 5 seconds to render the red channel. This is on MicroPython on the Pycom boards, almost unchanged other than adding proper framebuffer support for it so maybe not very optimised yet - the SPI bus can be driven a bit faster etc..
I think this the the largest display they sell driven over SPI and with decent documentation, the others use proprietary sequences and parallel busses.
@jcaron Hi I ordered one 3 colors Once I connect and test I will send some reviews.
@jmarcelino Any feedback on the two different types? From what I understand, at least some of the color E-ink displays are very, very slow to update, especially for larger screens. Any difference between the two?
You should be able to use this library with some simple modifications to account for the different size screen: https://github.com/ayoy/micropython-waveshare-epd
You'll need to at least change the width and height in pixels on https://github.com/ayoy/micropython-waveshare-epd/blob/master/epd/lib/epd1in54b.py#L7
Maybe you need more changes.. I have many sizes but unfortunately not the 2.7" to test. Give it a try.
We'll also have some more optimised code soon using the framebuffer.
To be precise this one:
Which one? there are basicallly two types of these displays ones with Pervasive Displays screens and another with GoodDisplay sold by e.g.Waveshare