-
Notifications
You must be signed in to change notification settings - Fork 3
Home
There is no clear goal to this wiki, except to explain some of the challenges that I encountered while working on this project. I hope you find this wiki interesting, and don't hesitate to contact me! -Fons
In August 2018, I bought a second-hand thermal receipt printer (Star TSP100), normally used to print receipts in a store. Inspired by the new self-checkout machines at my supermarket (Albert Heijn), I wanted to explore modern, fun applications of the somewhat boring machine. I wanted to explore the desire for analog and material media, not in spite of, but because of new technology. Pretty soon I got the idea to print pictures sent from a very minimal, intuitive web site.
To my surprise, the printer had plug-and-play support on Windows and Linux (CUPS), which allowed me to send image files and pdf documents directly to the printer. The CUPS system used a standard 4x4 Bayer ordered dither matrix (more info) for images, which produces good at 203dpi:
I used the Nancy project to write a basic web server with C# (Mono framework), running on a Raspberry Pi, connected to the printer. (Module.cs, index.html)
It had a single html file containing a file upload form. When an image was picked, it would show the image on a white background (symbolising the thermal paper), turn B/W when uploaded, start shaking when processing, and scroll out of the screen when printed (at the same speed as the paper feed).
The server saved every uploaded file to a print directory, and called the lp
command to send the file to CUPS for printing.
It worked!
With the help of my brother, I picked the name printi, and connected my RasPi to https://printi.me/. Now anyone could print their pictures on my printer, without authentication. Cool!
- Home
- Overview
-
Build your own!
- Hardware
- easy: solderless
- pro: integrated computer
- Installing the client
-
Background stories
- First Steps
- Second printi
- Reverse engineering a printer driver
- Netorking with many printers
- Hosting a configuration server
- Extras