HeadlinesBriefing favicon HeadlinesBriefing.com

Tinta eletrônica como impressora

Hacker News •
×

Planejei construir uma tinta eletrônica e encontrei a Xteink X3, que era totalmente programável. Sentia-se sólida e plana, mas carregar conteúdo era tedioso—tive que usar seu hotspot e um uploader web. Eu queria que agisse como papel, então explorei o Protocolo de Impressão pela Internet (IPP).

O IPP permite que um computador consulte as capacidades de uma impressora, envie documentos e verifique o status de trabalhos via HTTP. Anunciei saída monocromática a 300 dpi, uma cópia, um lado, aceitando formatos raster da Apple e PWG. Então o Mac converteu as páginas em pixels.

Declarei papel A5 e Carta, mídia de papelaria e uma bandeja de saída voltada para cima, nomeando-a "penguin" com Bonjour para descoberta sem driver no macOS. O desafio era a memória: uma página Carta a 300 dpi descomprimida tem 8,4 MB, mas a X3 tinha apenas 400 KB de RAM. Usei um pipeline de transformação para decodificar, dimensionar e pontilhar as linhas diretamente na tela, evitando uma segunda imagem completa.

A RAM da tela servia como buffer de quadros, e processei linhas sequencialmente, mostrando faixas como alimentação de papel. Cada atualização levava meio segundo, então mudei para exibir a página inteira de uma vez. Salvei a imagem final como BMP no cartão SD usando o gravador de capturas existente.

Isso liberou memória suficiente para os buffers de rede. Imprimir uma página de mangá do Preview funcionou—apareceu na tela de tinta eletrônica em cerca de um segundo, e a imagem permaneceu lá. O projeto foi bem-sucedido, transformando uma simples tinta eletrônica em uma impressora funcional.