TECHNICAL EXPLAINER · WITHOUT THE ENTERPRISE DIAGRAM

How do you put a receipt printer on the internet?

The short answer: you don’t expose the printer itself. You place a small, boring listener beside it and let that listener ask a moderated cloud queue for approved work.

What is an internet-connected receipt printer?

It is an ordinary thermal printer—often a Zebra label printer or an ESC/POS till printer—connected to a small computer that receives print jobs from an online service. The printer remains local. The bridge between the website and the printer handles authentication, polling, formatting and retries.

AD43 uses this arrangement to let strangers submit short messages to a real printer in an Australian house. A human approves or rejects every submission before it enters the printer feed. The same approved feed can also be distributed to other participating printers in the AD43 Printer Swarm.

The AD43 architecture

  1. Public webpage: a visitor submits text or a dithered black-and-white image.
  2. Moderation queue: the submission waits in Cloudflare KV and cannot reach a printer yet.
  3. Human decision: the moderator explicitly approves or rejects it.
  4. Approved feed: only approved messages become available to authenticated printer listeners.
  5. Outbound listener: a local Python process polls over HTTPS, converts the message to the correct printer language and sends it locally.
  6. Physical output: the Zebra or receipt printer turns the internet into paper.

Why polling is safer than exposing a printer

Many network printers accept raw jobs on local ports and were never designed to face the public internet. AD43 does not forward a router port, publish a printer IP address or accept unsolicited inbound connections. Its listener initiates an outbound HTTPS request, similar to a web browser checking a page.

Each joined printer receives a separate read-only token. The server stores a SHA-256 hash of that token. The token can request approved messages for its printer; it cannot approve content, edit the queue or execute code.

Which thermal printers can join?

The current listener supports two broad families:

The bridge can run on a Raspberry Pi, Linux computer or Mac with Python 3. The listener uses the Python standard library and is deliberately readable before installation.

Why make a printer swarm?

Most connected-printer projects deliver weather, shopping lists, photographs or private notes to one device. AD43 is experimenting with a stranger idea: one public, moderated message materialising in multiple physical places. Each joined printer becomes a numbered House in a slow social network made from paper.

The first ten connected printers become AD43 Founding Houses. We are currently looking for House #2. If that sounds like a sensible use of electricity, request to connect your printer. If you would rather remain safely on the other side of the experiment, send something to the Australian printer.

Public webpage → human judgement → authenticated feed → local listener → paper. The printer never needs to know how fucked the internet is.
TRY THE ACTUAL THING

Stop reading about the printer. Make it print.

Send a message to House #1, or connect your own thermal printer and help turn one machine into a worldwide swarm.