How to build a printer(nishantjosh.dev)
432 points by cat-whisperer 1 day ago | 103 comments
tl;dr: The author turned an Xteink X3 e-ink reader into an AirPrint-compatible printer by implementing IPP over HTTP and advertising it via Bonjour/mDNS. To handle full-page images on a device with only ~7KB of free RAM after Wi-Fi, they streamed incoming pages through a row-by-row decode/scale/dither pipeline directly into the display's existing framebuffer, avoiding a second image buffer. Printed pages are saved as BMPs to the SD card, which serves as the "output tray."
HN Discussion:
  • ~Technical suggestion to use exact screen dimensions in IPP to avoid scaling
  • Enthusiasm for the clever hack of emulating a printer for e-ink displays
  • Excitement about novel use cases for open e-ink platforms like photo frames or secondary displays
  • Suggestion of alternative formats or approaches like DjVu or PostScript interpretation
  • ~Disappointment that the article isn't about building an actual physical printer