Display driver for E-ink displays

Hi, I saw your blog " Espressif officially supports LittlevGL on ESP32! Let’s try it!" and thought it was amazing. I would like to do something like that with e-ink for a solar powered linux laptop.

I am researching e-ink displays that can connect to GPIO on the Raspberry Pi for use as a solar-powered linux laptop monitor.

There is an E-ink board called the Inkplate 6" on CrowdSupply that uses ESP32 & Arduino IDE. It’s basically an e-reader and can be turned into a typewriter, but I’m curious if it would be easier to convert something like that that into a full linux system, since they already have the display and microcontroller and power management coupled.

I am curious of what kind of graphics library or display driver (sorry, i may have the concepts mixed up, which is why I am asking) for linux would need to be be written for something like a Waveshare e-ink display:
3.7inch-e-Paper-HAT
6inch-e-Paper-HAT

Some of the their e-paper has faster refresh rates <1s.

I saw this other GUI called FabGL and wondered if it is like LVGL

I am not sure how much frame buffer is needed, but I’d like to use an optimized graphics library for something like BusyBox+FLTK, RazorQT, or LXDE.

If the video memory for a lightweight linux like TinyCore or embedded RTOS is less, maybe LVGL could be of use here. I’d like the OS to run at around 200mhz rather than 1ghz, to keep the power consumption low.

Sorry if I sound indecisive, as I am still browsing software and hardware.

My project is on the Raspberry Pi Forum, under Other Projects- “TI-30Xa Solar-like Raspberry Pi Laptop & Underclocking the Pi”

Thanks!

I have gotten LVGL to work quite smoothly on a Kobo e-reader (which runs Linux). The eInk display on this platform, is exposed to userspace as a 16bpp color framebuffer (even though the hardware is grayscale), plus some custom ioctl calls to trigger a refresh. The use of a standard framebuffer interface made the port very simple, so look for a display which offers that if you don’t want to be writing a driver from scratch.

My code is available in a GitHub repo if it happens to be of use for you or anyone else. kobo_helpers.c is the most important file - everything else is basically a stock driver.

1 Like

Thanks so much! I recently saw an M5Paper display-it is ESP32 based but seems like it would make an interesting OS. I should look into the Kobo too.

The Kobo is pretty easy to hack (you can get a full root shell in a decently complete Linux distro simply by applying a fake firmware update), but simultaneously has the disadvantage of being a sealed production device. I have tried to take apart the older editions before and the display shattered during disassembly - they are very fragile.

There is an e-ink forum called forum dot ei2030 dot org and they post a lot of e-ink news. I recently joined since there is an interesting group there. There are some other non-e-ink screens that are interesting, like the Adafruit SHARP Memory Breakout and Transflective displays. Both have faster refresh rates, and have no backlight, but they do not have a simple connector.

I’d like to use DSI display connector with the Raspberry Pi 3B+ they seem to be more power efficient. The Lichee Nano has an 40 pin FPC Connector- I found a transflective display for it on Aliexpress called Wisecoco 3.7" 39pin FPC Transflective, but no idea if it would work.