Un firmware open source convierte el M5Stack PaperMono en lista de la compra
PaperMono usa e-ink y Wi-Fi intermitente para sincronizar una lista en la nevera con el móvil, gestionando los refrescos de pantalla y el consumo de batería.
PaperMono es un proyecto de firmware para el M5Stack PaperMono, un dispositivo basado en ESP32-S3 con pantalla e-paper táctil de 3,97 pulgadas (480×800 píxeles). Su objetivo es transformarlo en una lista de la compra doméstica que se sincroniza con una web móvil, resolviendo los problemas típicos de este tipo de pantallas: el parpadeo (ghosting) y el consumo energético.
El firmware, escrito en C++ y de unas 2.400 líneas, implementa un sistema de refrescos parciales rápidos para interacciones como tocar, hacer scroll o escribir, sin provocar el destello blanco típico de las actualizaciones completas. Para proteger el panel, fuerza una actualización total cada 10 actualizaciones parciales. Los tonos de gris se representan mediante patrones de puntos de 1 bit, lo que permite que la apariencia sea consistente en ambos modos de refresco. Además, incluye un teclado virtual que solo redibuja las partes que cambian durante la escritura y ofrece sugerencias basadas en elementos añadidos previamente.
A nivel de red, el dispositivo solo conecta Wi-Fi cuando es necesario: cada hora, si se toca la pantalla y la última sincronización tiene más de cinco minutos, o inmediatamente después de editar. El resto del tiempo funciona sin conexión, acumulando cambios en la memoria flash hasta la próxima sincronización. El servidor, construido con FastAPI y SQLite, almacena la lista agrupada por pasillos. Opcionalmente, puede usar Claude Code CLI para clasificar automáticamente los nuevos elementos en el pasillo correcto, aunque las correcciones manuales tienen prioridad.
El proyecto está licenciado bajo GNU GPL v3.0 y su código está disponible en GitHub. El autor, Seamus Cawley, ha documentado detalladamente el arranque del hardware, incluyendo el mapeo de pines, direcciones I²C y la secuencia de inicialización del panel y el controlador táctil. Es un proyecto personal funcional, aunque con limitaciones conocidas: no hay configuración de Wi-Fi en el dispositivo (las credenciales se compilan en el firmware) ni autenticación en el servidor, por lo que debe mantenerse en la LAN o detrás de un proxy de autenticación.


