Un e-reader E-ink puo’ diventare una stampante. Nishant Joshi ha modificato il firmware CrossPoint per far girare il protocollo IPP su un lettore basato su ESP32-C3. Cosi’ il dispositivo si annuncia al sistema operativo come periferica di stampa e riceve i documenti senza software dedicato. Basta selezionare la stampante dal computer e premere stampa.
Il lettore si presenta come stampante monocromatica, fronte singolo, a 300 DPI su carta A5. Accetta i formati Apple raster e PWG raster, quindi i driver di sistema non hanno bisogno di traduzioni particolari. Inoltre il fork lavora su Xteink X4 e Xteink X3, due modelli che montano il microcontrollore ESP32-C3. La pagina del progetto su Hackaday.io raccoglie il lavoro di Nishant Joshi.
Pixel riga per riga per non saturare la RAM
Le immagini raster di una pagina A5 a 300 DPI sono troppo grandi per la memoria del microcontrollore. Percio’ il firmware non le tiene tutte in RAM. Riceve i pixel una riga alla volta e li scrive subito, sia direttamente sullo schermo sia sulla scheda SD. Di conseguenza il documento resta consultabile anche dopo la stampa.
- Il fork del firmware CrossPoint implementa il protocollo IPP sull’ESP32-C3.
- Il lettore si annuncia come stampante monocromatica, fronte singolo, a 300 DPI su carta A5.
- Accetta i formati Apple raster e PWG raster.
- I pixel vengono ricevuti e scritti riga per riga, perche’ l’immagine intera non entra nella RAM.
- Ogni riga finisce sia sullo schermo sia sulla scheda SD.
- Una cartella sulla scheda SD funge da vassoio di uscita della stampante.
Chi vuole rifare il progetto parte da un modulo ESP32-C3, lo stesso microcontrollore che anima il lettore. Per chi cerca una scheda compatta con connettivita’ wireless integrata c’e’ il modulo di sviluppo in formato SuperMini, adatto a progetti IoT e embedded. In alternativa, per chi preferisce partire da un kit piu’ completo, il catalogo propone un kit basato su ESP32-C6-Zero con Wi-Fi 6 e periferiche integrate.
La cartella sulla SD come vassoio di uscita
Ogni documento stampato finisce in una cartella sulla scheda SD. Quel folder funziona da vassoio di uscita: chi vuole rileggere una pagina la ritrova li’, senza doverla ristampare. Inoltre la scrittura su SD avviene in parallelo a quella sullo schermo, quindi il lettore non resta bloccato in attesa del salvataggio.
Il flusso e’ lineare. Il sistema operativo vede la stampante, manda il lavoro in formato raster, il firmware lo scompone in righe e le deposita. Infine il documento compare sullo schermo E-ink e resta archiviato sulla scheda. Non serve alcuna applicazione sul computer, perche’ il protocollo IPP e’ quello standard delle stampanti di rete.
Per chi vuole seguire il lavoro da vicino, la pagina del progetto su Hackaday.io di Nishant Joshi e’ il punto di partenza. Li’ si trova il fork del firmware CrossPoint con l’implementazione IPP e i riferimenti alle due versioni hardware supportate.
Fonte: https://hackaday.io/contests
