E-paper display, 2.9 inch
A 2.9 inch black and white e-paper module on the Solomon Systech SSD1680, 296 by 128 pixels, over SPI: the Waveshare 2.9 inch V2 and the WeAct 2.9 inch boards.
Aliases: e-ink, epaper, 2.9 inch e-paper.
Pins
| Pin | What it does |
|---|---|
VCC, GND |
Supply, 2.2 to 3.7 V. |
SDA |
SPI data in (DIN on the Waveshare board). |
SCL |
SPI clock (CLK). |
CS |
Chip select, active low. |
DC |
Low for a command, high for its data. |
RES |
Reset, active low (RST). |
BUSY |
High while the controller works, above all during a refresh. |
Reading it on an Arduino
With GxEPD2, which Mokxi ships as GxEPD2_BW.h with the GxEPD2_290_BS and
GxEPD2_290_T94_V2 panels:
#include <GxEPD2_BW.h>
GxEPD2_BW<GxEPD2_290_BS, 50> display(GxEPD2_290_BS(10, 9, 8, 7)); // CS, DC, RST, BUSY
void setup() {
display.init();
display.setRotation(1);
display.firstPage();
do {
display.fillScreen(GxEPD_WHITE);
display.setCursor(10, 20);
display.print("Hello");
} while (display.nextPage());
display.hibernate();
}
What the model gets right
It is the same SSD1680 model as the 2.13 inch panel, on 128 sources and 296 gates:
the two RAMs, the RAM window and counters, data entry modes, reset and deep sleep,
and a picture that changes only when a refresh finishes, with BUSY high while it
runs: about 3 s for a full refresh and 0.3 s for a partial one, Waveshare's typical
times. The picture stays with the power off.
What it does not model
The flashing of a full refresh, ghosting, the temperature's effect on the refresh time, and reading the RAM back.
Common mistakes
Not waiting for BUSY: commands sent during a refresh are lost.
Refreshing every second: a full refresh takes seconds, and the panel's life is counted in refreshes.
See it in action
Shelf label draws a price tag and marks it down. Open it at /templates.