A wrapper around EPDiy for fast monochrome rendering, in a form of PlatformIO library.
Compared to EPDiy, this library only supports monochrom (black & white) rendering.
This allows using less memory, drawing over a buffer more efficiently, and updating the screen faster. Partial update on Lilygo T5 E-Paper 4.7 takes about 200ms, and clearing a screen takes about 300ms (which means that full update is about 500ms).
Monochrome mode allows storing 8 pixels per byte, resulting in minimal memory requirement. This, in turn, allows using SRAM, which is generally faster than rather than PSRAM/SPIRAM. Modules with PSRAM take long to boot is another ESP32/Arudino specific issue which resulted into additional 500-8500ms of boot time. It was fixed in Jan 2022, but the fix is not widely available yet at the time of release.
EPDiy provides a nice high-level API for grayscale updates, but otherwise you need to deal with complex low-level APIs. This wrapper takes care of that job and provides a primitive interface for drawing pixels, and rendering the result, albeit in monochrome only.
The API is defined in eink.h
, and that's the only file you need to include in C:
#include "eink.h"
or in C++
extern "C" {
#include "eink.h"
}
See examples:
- basic - demonstrates primitive pixel operations
- gfx - demonstrate more elaborate graphics operations (courtesy of @martinberlin).
- An ESP32 with EPDiy compatible display (e.g., Lilygo T5 E-Paper 4.7)
- PlatformIO CLI to run this