Urgent.News

What's breaking now, across thousands of outlets.

Tech

How to build a f**king printer

The Xteink X3 was an e-ink display that the reporter planned to build. They discovered the device was fully programmable and began customizing its firmware with new features like different boot animations, a dice-rolling function, and a LinkedIn QR code. The reporter sought a more convenient method to transfer files to the Xteink, leading them to explore the Internet Printing Protocol (IPP).

After researching IPP, the reporter realized that if the device looked like paper, it should function like paper. They decided to enable printing functionality by advertising monochrome output, specific print dimensions, and output formats compatible with the Mac. The printer was named "penguin" and advertised on the Xteink using Bonjour.

The reporter then focused on receiving print jobs, realizing the X3 had limited memory and needed to run Wi-Fi, a printer server, and handle the entire page. They found a solution by using memory-mapping on the SD card, allowing the Xteink to receive and display print jobs. The first successful print of a manga page took approximately one second, demonstrating the effectiveness of the custom printer server.

The Xteink printer's code, including the printer implementation, was made available in the reporter's CrossPoint fork, enabling the device to join a Wi-Fi network, create a hotspot, save saved printouts on the SD card, and allow browsing of saved printouts.

Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at nishantjosh.dev →

More in Tech

Batch Transaction - Testcases

Automated test coverage for the Batch transaction feature (XLS-56), grouped by the invariant or execution mode each test exercises with 189 tests.

More from Tuesday 8 September →