E-paper एक ऐसी display technology है जो काम करने में थोड़ी अलग लगती है। यह image को बिना किसी power के hold करती है — कोई refresh नहीं, कोई backlight नहीं, कुछ नहीं। एक बार image draw हो जाए तो पूरी चीज़ unplug कर सकते हैं और image वहीं रहती है। इसे उन चीज़ों के लिए useful बनाता है जिन्हें लगातार update नहीं करना: name tags, dashboards, sensor readings जो कभी-कभी देखते हैं।
यह WeAct 4.2 इंच का module है। आठ pins, 3.3V पर चलता है, और SPI के ज़रिए communicate करता है — हालांकि labels पर SDA और SCL लिखा है जो I2C जैसा लगता है। वो नहीं है। Datasheet check करने से पहले मुझे भी थोड़ी confuse हुई।
Parts
- ESP8266 (NodeMCU या similar)
- WeAct 4.2" e-paper display module
- Jumper wires
Wiring
Display में आठ pins हैं। इन्हें ESP8266 से इस तरह connect करें:
- VCC → 3.3V
- GND → GND
- SDA → D7 (MOSI)
- SCL → D5 (CLK)
- CS → D8
- D/C → D3
- RES → D4
- BUSY → D2
SDA/SCL labels होने के बावजूद यह SPI है, I2C नहीं। Chip select, data/command, reset और busy pin सभी ज़रूरी हैं — कोई भी floating न छोड़ें।
Libraries
Arduino Library Manager से दो libraries: GxEPD2 और Adafruit GFX। दोनों install करें। GxEPD2 display driver और page-based rendering loop handle करती है। Adafruit GFX fonts और drawing primitives देती है।
Sketch
GxEPD2 library page buffer approach use करती है — drawing एक do { ... } while (display.nextPage()) loop के अंदर होती है। यहाँ एक minimal sketch है जो display पर text print करता है:
#include <GxEPD2_BW.h>
#include <Fonts/FreeMonoBold9pt7b.h>
GxEPD2_BW<GxEPD2_420_GDEY042T81, GxEPD2_420_GDEY042T81::HEIGHT> display(
GxEPD2_420_GDEY042T81(/*CS=*/ D8, /*DC=*/ D3, /*RES=*/ D4, /*BUSY=*/ D2));
void setup() {
display.init();
display.setRotation(1);
display.setFont(&FreeMonoBold9pt7b);
display.setTextColor(GxEPD_BLACK);
display.setFullWindow();
display.firstPage();
do {
display.fillScreen(GxEPD_WHITE);
display.setCursor(10, 30);
display.print("Hello, World");
} while (display.nextPage());
}
void loop() {}
Upload और result
Sketch upload करें, display initialize होने में कुछ seconds लगेंगे, फिर image दिखेगी। Refresh के दौरान flashing होती है — यह normal है। E-paper नया frame draw करने से पहले सभी pixels reset करता है, जिससे black/white flicker होता है। एक बार हो जाने के बाद image lock हो जाती है। Power unplug करें और image बनी रहती है।
पूरा code मेरे GitHub पर है और मेरी site से linked है। अगर आप अपना wire करते हैं या इससे कुछ बनाते हैं, Discord में share करें — मुझे देखना अच्छा लगेगा कि लोग persistent image के साथ क्या करते हैं।