El e-paper es una tecnología de pantalla que se siente diferente a trabajar. Mantiene la imagen con cero consumo de energía: sin refresco, sin retroiluminación, nada. Una vez dibujada la imagen se puede desconectar todo y se queda ahí. Eso lo hace útil para cualquier cosa que no necesite actualizarse constantemente: etiquetas de nombre, paneles de control, lecturas de sensores que consultas de vez en cuando.
Este es el módulo WeAct de 4,2 pulgadas. Ocho pines, funciona a 3,3 V y se comunica por SPI, aunque las etiquetas dicen SDA y SCL, que parece I2C. No lo es. Eso me confundió un momento antes de comprobar el datasheet.
Componentes
- ESP8266 (NodeMCU o similar)
- Módulo e-paper WeAct 4,2"
- Cables dupont
Conexiones
La pantalla tiene ocho pines. Se conectan al ESP8266 de la siguiente manera:
- VCC → 3,3 V
- GND → GND
- SDA → D7 (MOSI)
- SCL → D5 (CLK)
- CS → D8
- D/C → D3
- RES → D4
- BUSY → D2
A pesar de las etiquetas SDA/SCL esto es SPI, no I2C. El chip select, data/command, reset y el pin busy son todos necesarios — no dejes ninguno al aire.
Librerías
Dos librerías desde el Arduino Library Manager: GxEPD2 y Adafruit GFX. Instalar ambas. GxEPD2 gestiona el driver de pantalla y el bucle de renderizado por páginas. Adafruit GFX proporciona fuentes y primitivas de dibujo.
Sketch
La librería GxEPD2 usa un enfoque de buffer por páginas — se dibuja dentro de un bucle do { ... } while (display.nextPage()). Aquí un sketch mínimo que imprime texto en la pantalla:
#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() {}
Subida y resultado
Subir el sketch, esperar unos segundos mientras se inicializa la pantalla, y la imagen aparece. Hay parpadeo durante el refresco — es normal. El e-paper resetea todos los píxeles antes de dibujar un nuevo fotograma, lo que provoca ese parpadeo en blanco y negro. Una vez terminado, la imagen queda fijada. Desconectar la alimentación y se mantiene.
El código completo está en mi GitHub y enlazado desde mi web. Si conectas el tuyo o construyes algo con él, compártelo en el Discord — me gustaría ver qué hace la gente con la imagen persistente.