← सभी पोस्ट ब्लॉग पोस्ट

ESP8266 के साथ E-Paper Display — WeAct 4.2" Wiring और Setup

Viktoria Builds

WeAct 4.2 इंच e-paper display को ESP8266 से SPI पर wire करें और एक ऐसी image पाएं जो power हटाने के बाद भी बनी रहे।

YouTube पर देखें

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 के साथ क्या करते हैं।

यह ट्यूटोरियल पसंद आया?

Patreon पर चैनल को सपोर्ट करें और प्रोजेक्ट्स, बिल्ड लॉग्स और बहुत कुछ तक जल्दी पहुंचें।

Patreon पर सपोर्ट करें →