"Full Color" E-Ink displays
Just noticed these things on Seeed:
https://www.seeedstudio.com/7-3-Seven-Color-ePaper-Display-with-800x480-Pixels-p-5787.html
Was excited for a minute, but calmed down a bit when saw "full color" means 7 colors.
Still, that is nice.
32 second full screen refresh isn't that great for "dynamic" displays, but if you only need to update a small portion of the screen, could be OK.
Definitely need to get one of these...

Comments
Wait, maybe this thing is old and new actual "Full Color" display is just coming out now...
https://www.globenewswire.com/news-release/2025/04/07/3056907/0/en/E-Ink-Marquee-Highlights-Technological-Breakthrough-for-Electrophoretic-Displays-at-Touch-Taiwan-2025.html#
Need to look around more often...
Still 7-color one is at Digikey now. Still want one...
Ok, might have this figured out...

Seems the 7 color one can show more colors but isn't very vibrant.
The new one is 6 colors, but looks better:
Just ordered some of these:
https://buyepaper.com/products/gdep073e01
and the little driver board for them..
Peeked at the code for them and see now that each pixel has to be one of the six colors. There is no grayscale trickery.
So, the images have to be dithered. They don't look dithered in the examples, seems you have to look close to see it...
Tested 6 color dithering with Photoshop. Have to manage expectations... Some images aren't going to work so well.
This one might be OK from a distance.
Yeah, the 7-color limitation is a bit of a buzzkill after getting excited about "full color," but it's still a pretty cool display for specific use cases. That 32-second refresh is definitely the deal-breaker for anything dynamic, but for static info displays with occasional small updates, it could be perfect. Definitely tempting to grab one and experiment
Thinking these are great for stores and such. Probably main market…
The larger ones do let one do partial updates, if recall correctly
Have some here in a box. Hope to play with soon…
These things should be totally readable in full sun?
Most probably. I have several e-ink readers, and it's a joy to read them in the sun. Almost like reading from paper, but with the ability to zoom in and out.
Getting ready to test this out with P1.
Not liking any of the image converter apps out there that prepare a data file from an image after some dithering maybe.
Decided much better to just use Photoshop to create a 4-bit bmp file. The palette is specially made so the image data can be directly copied to the display.
Image is too big for P1 though (188 kB), so will have to be on uSD...
One sorta issue is that the busy signal requires a pullup resistor and P1 doesn't have those internally.
Could add a real resistor to be pullup.
But, have read that can just use a fixed delay instead of polling the busy pin...
I made a board for the FLiP that lets me connect to P2 accessories, so when I make my own accessories I do add pull-ups/downs so that I can use them on both.
Back to debugging P1 code
There really should be a note in the library spin SPI driver that there is a minimum delay value...
This calc:
ClockDelay := ((clkfreq / 100000 * _ClockDelay) - 4296) #> 381comes out negative if delay is too small
Out of time for today, but got it to display an all green screen.
Switched SPI driver to ASM, but still takes ~15 seconds to update.
Guess doesn't really matter cause still showing old image while data is transferred...
I've seen green and blue so far and they are both darker that was expecting...
Well, the above code doesn't work today
Seems we actually need to start with clock in low state, so start driver like this:
spi.start(1,0)Must have been just on the edge before, shouldn't have worked really but did anyway for some reason, at least for a while.
Anyway, think all better now.
Think have it now, but colors are darker than what I'd call optimal.
Am looking around for actual color palette and think may have found something on github:
SPECTRA6_REAL_WORD_RGB = [ (25, 30, 33), (232, 232, 232), (239, 222, 68), (178, 19, 24), (33, 87, 186), (18, 95, 32), ] SPECTRA6_DEVICE_RGB = [ (0, 0, 0), # BLACK (255, 255, 255), # WHITE (255, 255, 0), # YELLOW (255, 0, 0), # RED (0, 0, 255), # BLUE (0, 255, 0), # GREEN ]Think that first one is supposed to be "Real_World". It appears like it might be right, so I'll try it in photoshop...
Much better now. There was a bug in the palette. Forgot that there is no color #4 with this display. So, made color #4 a duplicate of color #0 (black) in Photoshop, and this seems to work. Fortunately, Photoshop will use the first instance of a color in the palette if there's a duplicate...
Here are the .act and .pal palettes. Think would work with other image editors, like Gimp, etc. as well...