Ir al contenido

Un maker malasio exprimió 500 días de batería de un ESP32. ¿La pantalla? Dibujada en un navegador. ​

Estación meteorológica de papel electrónico WeatherPaper V2 de Jeremy Ngai

La mayoría de las estaciones meteorológicas son ladrillos gruesos que suplican un cargador cada dos semanas. WeatherPaper V2 va en la dirección contraria. Tiene 11,6mm de grosor, se asienta al ras en una pared como una pieza de decoración esmerilada y funciona más de 500 días con una sola carga.

Su creador es Jeremy Ngai, un aficionado de Malasia con un lema sencillo: la ingeniería es divertida cuando empiezas a crear lo que te gusta. Nos topamos con la construcción, nos enamoramos de ella y quisimos compartirla, en parte porque Lopaka se ganó un lugar en su caja de herramientas.

La picazón: la V1 era genial, y ese era el problema ​

WeatherPaper V1 funcionaba. Se veía bien. Y Jeremy no podía soportarlo. Era voluminoso, hambriento de energía, y el hardware ineficiente dejaba espacio solo para una diminuta batería de 500mAh. Fijó un objetivo despiadado en la pared para la V2: más de un año de batería.

Todo lo demás siguió de ese número. Pasó a una pantalla de papel electrónico en blanco y negro de 4,2 pulgadas, cambió la placa de desarrollo genérica por un Seeed Studio XIAO ESP32-C3 con su cargador integrado y 44uA en sueño profundo, y diseñó una PCB personalizada para reducirlo todo. La batería creció de 500mAh a 1500mAh. El dispositivo se volvió más delgado de todos modos.

PCB personalizada, batería, pantalla y XIAO ESP32-C3 de WeatherPaper

La parte que los creadores se saltan: la pantalla tiene que verse bien ​

El papel electrónico te castiga aquí. El hardware puede ser perfecto, el firmware puede sorber energía como un monje, y nada de eso importa si la pantalla parece una hoja de cálculo. Echas un vistazo a WeatherPaper y lees cuatro cosas: índice de calidad del aire, temperatura de sensación térmica, velocidad del viento, condición meteorológica. Íconos limpios, jerarquía sensata, nada gritando.

Eso significa mapas de bits monocromos, y en las pantallas embebidas los mapas de bits son donde muere la diversión. La ruta clásica: dibuja un ícono en algún sitio, expórtalo, pásalo por image2cpp, copia una pared de hexadecimal en un archivo bitmap.h, flashea y entrecierra los ojos ante el resultado. Equivócate en un píxel, hazlo de nuevo.

Dónde encaja Lopaka ​

Jeremy señala a los creadores Lopaka para este paso: diseñar los íconos monocromos y sacarlos como código utilizable. Colocas tus gráficos en un lienzo del tamaño de tu pantalla real, arrastras cosas hasta que se ven bien y exportas. Sin matrices de bytes a ciegas, sin adivinar si ese ícono de 32 píxeles caerá donde crees que caerá.

Encaja con WeatherPaper porque el firmware se ejecuta en GxEPD2, una de las bibliotecas para las que Lopaka genera código. Dibuja el diseño, elige GxEPD2, copia la salida. Cuando Jeremy quiere cambiar un ícono más tarde, lo redibuja en lugar de escarbar en hexadecimal.

Su flujo de trabajo documentado sigue siendo manipulable. ¿Quieres el índice UV en lugar de la velocidad del viento? Cambia una clave JSON. ¿Quieres tus propios íconos en lugar de los suyos? Redibújalos y coloca las nuevas matrices. La pantalla sigue siendo tuya.

La recompensa: hacer menos, a propósito ​

Las cuentas de la batería son la parte divertida. Cada 30 minutos el ESP32 se despierta unos 4,3 segundos, toma el tiempo de OpenWeatherMap, actualiza la pantalla y vuelve a caer en sueño profundo. Jeremy exprimió mucho esa ventana de despertar: CPU reducida a 80MHz, DHCP omitido con una IP estática, HTTPS cambiado por HTTP simple en datos públicos, HTTP Keep-Alive para agrupar las solicitudes.

Suma todo y cada ciclo quema aproximadamente 0,049mAh. Frente a una batería de 1500mAh eso da más de 15.000 horas sobre el papel, más de 600 días, y unos cómodos 500 y pico una vez que cuentas las pérdidas del mundo real. XDA Developers recogió toda la construcción.

Su conclusión lo dice mejor: la batería más larga vino de hacer menos, no de agregar más. Lo mismo vale para la pantalla. La interfaz de papel electrónico más limpia viene de diseñarla en un lienzo, no de codificarla a mano en hexadecimal.

La WeatherPaper V2 terminada

Crea la tuya ​

Jeremy publicó todo como código abierto, firmware, Gerbers de PCB y archivos 3D, en su repositorio GitHub de WeatherPaper. Si estás creando para una pantalla OLED, TFT o de papel electrónico y prefieres dibujar tu interfaz a montarla byte a byte, para eso es Lopaka. Esboza una pantalla, elige tu biblioteca, envía el código.

Créditos ​

WeatherPaper V2 y fotografía de Jeremy Ngai. Lee la guía completa de construcción en Instructables o explora los archivos fuente en GitHub.