PixelsOut support for Waveshare 400x300, 4.2inch E-Ink display module #1438
Replies: 2 comments 1 reply
-
Welcome, Ivan, and thank you for the suggestion. I'm a big fan of ePaper displays and the Moddable SDK has extensive support for them (check out this blog post). It is surely possible to to support the Waveshare display. It looks like a really nice display - big and a couple shades of gray in addition to black and white. In my experience, we end up writing a new display driver for each E-Ink display, because the drivers are often pretty different. The Arduino driver code for this display looks reasonably straightforward, but it is 600 lines of code to understand. Do you have any experience writing video drivers? If so, I'd be happy to help guide you through bringing this one up. |
Beta Was this translation helpful? Give feedback.
-
Hey, apologies for the delayed response. The holidays distracted me. You should be able to implement the entire thing in JavaScript. In fact, there is a 100% JavaScript ePaper driver in the repository already. The gdew0154m09 for the M5Core Ink device shows how to do it. The entire is under 400 lines of code, including all the communication with the display controller and a PixelsOut for integration with Commodetto. It buffers the entire image in memory, which is entirely practical for ePaper. It is a 1-bit driver, so it will be some work to support the 2-bit mode of your display, but you could start with 1-bit and go from there. FYI – there's also the IT8951 driver for the M5 Paper display which uses 4-bit gray pixels. It has a similar structure to the gdew0154m09 driver. It is entirely JavaScript except for one optional function to apply a simple filter. That may be a good starting point for 2-bit gray, since you could render to 4-bit gray (supported natively by Poco, 2-bit gray is not) and then downsample to 2-bit gray when outputting to the display controller. |
Beta Was this translation helpful? Give feedback.
-
Hello,
I am using the following ESP32-WROOM based device, integrated with a Waveshare's 4.2 inch e-ink display:
I have working code using micropython, but I would love to switch to moddable SDK. Is PixelsOut API an option?
Pin-Out information below.
SPI Pins
E-paper Display Pins
Thank you very much for your time and attention.
Ivan
Beta Was this translation helpful? Give feedback.
All reactions