CUPS — the Common Unix Printing System — is an open source print spooling and scheduling system. One of the interesting aspects of CUPS is its filtering system, which can reconstitute print job data between formats. For example, rasterizing PDF graphics for output on non-PostScript printers.
Turns out there’s a CUPS filter for thermal printers similar to those Adafruit offers. With a little setup, it’s possible to have these producing razor-sharp graphics unlike anything I’ve seen from a thermal receipt printer before. Much nicer than our improvised Python library!
This guide is based on a tutorial by Stewart Russell, with some changes and additions to work with Adafruit’s various thermal printers.
- Raspberry Pi computer (any model or version)
- Adafruit Mini Thermal Receipt Printer (any model, though the “Tiny” model with USB is easiest to interface) — the Raspberry Pi 3 currently requires this USB model, no TTL support yet — Pi 2 and earlier can use either type
- Thermal paper roll(s) — the smaller printer models require special smaller rolls — and you may want at least one spare to run through while experimenting with settings
- 5V power supply (2A or larger)
- DC jack adapter and perhaps some breadboard jumper wires
- Latest version of Raspbian Jessie from Raspberry Pi web site (not Jessie Lite)
- 8 GB or larger SD/microSD card as appropriate
- Monitor, keyboard and mouse
- Network connection — Ethernet or WiFi
Some prior Raspberry Pi experience is assumed — downloading the OS, writing an SD card, basic system and network configuration, etc. You can search the Adafruit Learning System for related guides if any of this is unfamiliar.