La tinta electrónica se supone que es la versión electrónica del papel de toda la vida, pero hay una diferencia enorme entre ambos: cómo se le cargan las imágenes y el texto. Sobre el papel uno imprime. En la tinta electrónica todo depende de a qué esté conectada la pantalla. Si el aparato es un Xteink X4 o X3, basados en el ESP32-C3, entonces también se le puede imprimir directamente, gracias al fork que Nishant Joshi hizo del popular firmware CrossPoint.

¿Cómo funciona el truco?

El fork implementa el Internet Printing Protocol (IPP) sobre el ESP32-C3. Eso vuelve trivial el paso de cargar documentos: se selecciona la impresora en el sistema operativo y se aprieta imprimir. Ante el computador, el lector se anuncia como una impresora que entrega salida monocromática, a una cara, con resolución de 300 DPI sobre papel tamaño A5, y que acepta los formatos Apple raster y PWG raster.

Las imágenes raster que llegan por ese canal son enormes comparadas con la escasa memoria RAM disponible en el microcontrolador, así que los píxeles se reciben y se escriben fila por fila, tanto en la pantalla directamente como en la tarjeta SD para revisarlos después. Con eso, una carpeta de la tarjeta SD pasa a cumplir el papel de la bandeja de salida de una impresora.

¿Por qué el firmware escribe fila por fila?

El cálculo explica la decisión de diseño. Una página A5 a 300 DPI mide 1.748 x 2.480 píxeles, es decir unos 4,3 millones de píxeles. En monocromo, a un bit por píxel, esa página ocupa cerca de 530 kB. El ESP32-C3 trae 400 kB de SRAM en total, y el firmware necesita parte de esa memoria para la pila de red y el resto del sistema.

DatoValor
Página A5 a 300 DPI1.748 x 2.480 píxeles
Peso en monocromo, 1 bit por píxelcerca de 530 kB
SRAM total del ESP32-C3400 kB
Formatos aceptadosApple raster y PWG raster

Ninguna página completa cabe en memoria, y por eso el procesamiento en flujo, fila por fila, no es una optimización sino la única salida posible. Es el mismo patrón que se aplica cuando se decodifica JPEG progresivo en un microcontrolador de gama baja: procesar la imagen en trozos y descartar lo ya usado.

Un guiño a los AlphaSmart

Esta interfaz es admirable por lo simple, y da ganas de verla en otros aparatos de tinta electrónica. Recuerda de alguna forma a los procesadores de texto AlphaSmart, que siguen siendo relevantes hoy en buena parte porque su mecanismo de transferencia de archivos consiste en hacerse pasar por un teclado USB y escribir el documento en el computador. Mientras IPP siga disponible, también seguirá siendo posible llevar documentos a este lector.

Para quien quiera replicarlo en la región, el requisito de hardware es modesto: cualquier módulo con ESP32-C3, que en distribuidores locales se consigue en el rango de los 5 a 10 dólares, más un panel de tinta electrónica y una ranura para tarjeta SD. El grueso del trabajo está en el firmware, y ese ya está publicado.