printing thermal printsss @Epson

Fri 05 June 2026

How the printing of my generated memes on receipts started until the Grad Fest.

thermal print try outs

For our Grad Fest I planned to set up a print-on-the-spot installation. Through the meme pile page new memes can be uploaded and automatically send to a printer and printed. In the studio is a thermal printer "Epson TM-T20" and I tried to connect with some issues:

- ModuleNotFoundError: No module named 'pkg_resources' -> forums say setup tools is missing

pip install setup tools -> its already installed

trying installing another version due to "Issue: The recent released setuptools v82.0.0 doesn't contain pkg_resources any longer GitHub Issue February 26" with: uv pip install --reinstall setuptools==81.0.0

error: usb.core.NoBackendError: No backend available

then did this: brew install libusb (https://github.com/pyusb/pyusb/issues/340)

& it worked?

Script for printed images

Images were printed way to big: thermal print: just half image visible

So I reduced them. 600 pixel as width seems the best for the 80mm paper? magick images/practice_HK-dithered.jpg -resize 600x images/practice_HK-dithered.jpg

HOW TO DITHER

The printer uses heat to print in only black. So, I dithered the images in a next step. I also reduced the size to 100 pixel in width, otherwise the dither dots are getting to detailed/fine for the printer:

magick images/practice_HK.png -resize 100x -dither FloydSteinberg -remap pattern:gray50 images/practice_HK_dith1.png

Some other dither try outs I didn't used in the end:

magick images/practice_HK.png -dither FloydSteinberg images/practice_HK_dith.png magick images/practice_HK.png -dither Steinberg -colors 4 -layers Optimize images/practice_HK_dith3.png magick images/practice_HK.png -dither Steinberg -colors 4 -remap pattern:gray50 images/practice_HK_dith.png

Resizing again

Since we resized to 100px in width, we need to resize again up to 600 pixel in width because of the 80mm paper width of the printer. magick images/practice_HK_dith4_small.jpg -resize 600x images/practice_HK_dith4.png

the full script

1
2
magick images/adobe_neindanke.png -resize 200x -dither FloydSteinberg -remap pattern:gray50 images/adobe_neindanke-dith.png
magick images/adobe_neindanke-dith.png -resize 600x images/adobe_neindanke-dith.png

200px to 600px OR 100 to 600px?!?!?!

1
2
magick images/practice_HK.png -resize 100x -dither FloydSteinberg -remap pattern:gray50 images/practice_HK_dith4_small.jpg
magick images/practice_HK_dith4_small.jpg -resize 600x images/practice_HK_dith4.png

Script for Epson printer

First: I work in a virtual environment. In the terminal while being in my working folder with something like "Epson print prototype" I type in the terminal: python3 -m venv venv and then activate the environment with: source venv/bin/activate

python script to print through the terminal on the printer

This script needs to be in a python file you can create in a texteditor, paste the script in & save something like print.py and execute in the terminal (while being in the virtual environment) with: python3 print.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from escpos.printer import Usb

p = Usb(0x04b8, 0x0e28)
# this is the specific nr for this printer  and usb port if my 'puter. You can find it with `$ lsusb`

# the source of the image, center=True doesn't work unfortunately:
p.image("images/adobe_neindanke-dith.png", center=True)

# a little text under the printed image:
p.text("made with paged.js -> counter-tools.xyz")

# this cuts the paper after:
p.cut()

& for the Grad Fest?

After this I made a flask application which allows uploading memes (or images in general) to the meme pile collection. The uploaded memes are displayed in the whole pile and as well in a designated "uploads" section.

After an image is submitted to the pile, it is dithered and compressed using an ImageMagick script so that it can be printed on the thermal printer. Additionally I wrote a script, which allows to print one meme of the uploads randomly, if somebody doesn't want to upload anything or hasn't saved a (graphic design) meme on their phone.

The printed meme can be stuck in-space somewhere at the venue during the Grad Fest or spread somewhere else. I had an interest in spreading the medium internet meme in the offline public space, in opposite to its usual circulation mode. This method allows easy circulation and reproduction, since the memes are getting fast and simple printed on a just a receipt. I disseminate therefore my (b)logbook, the meme collection as well as the used open source and F/LOSS counter-tools.

This idea of memetics (units of cultural meaning of information, which spreads between humans) often referred to cultural genes I want to activate by letting visitors upload and print a chosen or random meme and either contribute to the space or spread somewhere else.

Category: Other, ImageMagick
Tagged:Image manipulation Image Terminal Meme Annotation Print Publishing

save the world vs. make the logo bigger

Fri 05 June 2026

Meme made with paged.js (a library to transform HTML documents into print-ready PDFs) on the base of having hard decisions between everyday design tasks and "meaning-making".

meme: save the world vs. make the logo bigger

The 'save the world vs. make the logo bigger' I noted since months as a possible headline for my thesis or anything else â€Ķ

Category: paged.js
Tagged:Meme Image Layout Annotation Capitalism Pa??ion Labour HTML CSS JavaScript Practice Praxis

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

ADOBE? NEIN DANKE

Tue 02 June 2026

Created a meme with paged.js (a library to transform HTML documents into print-ready PDFs). "Adobe nein danke" is btw German & means "Adobe no thanks" :)

Meme: Adobe nein danke

Adobe burning Illustration by Eric Carter(☚ interesting article btw!) and dithered with free tool Dither it!.

Here's some part of my thesis about why Adobe â€Ķ

Category: paged.js
Tagged:Image manipulation Meme Annotation Image editing HTML CSS Proprietary tools Capitalism Dither Bash

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

(b)logbook

Mon 01 June 2026

At the beginning of my graduation in this project I was wondering how I can document my experiments/try-outs/prototypes. I don't exactly how, but I stambled over the logbook term and felt immediately that this is it. Before a deeper research had the feeling that it could be a â€Ķ

Category: Other
Tagged:Blog Logbook Documentation Praxis

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

graphic making is my pa??ion

Thu 21 May 2026

Collected meme and annotated with ImageMagick (software for converting, editing and manipulating images, invoked through the terminal).

created meme with ImageMagick graphic making is my passion, the two 's' show question marks

at least I learned something

This process with experimenting and searching took me a couple of hours. :') Especially the rainbow gradient! I found eventually on Stack Overlow (I guess?) a method. This process â€Ķ

Category: ImageMagick
Tagged:Image manipulation Image editing Image Terminal Meme Annotation Praxis Practice Pa??ion Bash Labour

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

where I bĖķlĖķoĖķgĖķ log from

Wed 20 May 2026

Just another annotation meme made with ImageMagick (software for converting, editing and manipulating images, invoked through the terminal).

where I bĖķlĖķoĖķgĖķ log from negative

I would also like to emphasize once again, that this medium here should intent to be logbook rather then a blog, even though it looks like one. Still trying to figure out â€Ķ

Category: ImageMagick
Tagged:Image manipulation Image editing Documentation Blog Image Terminal Meme Annotation Praxis Practice Pa??ion Bash Publishing

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

practice <3 profession

Tue 19 May 2026

This one I annotated with ImageMagick (software for converting, editing and manipulating images, invoked through the terminal)

hello kitty image with colorful stars, written practice=heart profession=broken heart

Making memes with ImageMagick

Merging an image via Text Handling in ImageMagick

Individual Fonts:

List all the fonts you have installed on your computer with the command: magick -list font

Merging image + text â€Ķ

Category: ImageMagick
Tagged:Image manipulation Image Terminal Meme Annotation Praxis Practice Labour Pa??ion Bash

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

(un)productiveness

Mon 18 May 2026

I've been a bit stuck--or rather the opposite--in experimenting and establishing with the practice of and around logging. I keep finding myself working on the CSS of that logbook and searching of hosting services and other stuff rather than actual logging. And in the very moment I'm logging I find â€Ķ

Category: hydra
Tagged:Live coding Creative coding Animation Praxis Practice

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

ð’ŧð’ū𝓇𝓈𝓉 𝓅𝓇𝑜𝓉𝑜𝓉𝓎𝓅𝑒 ⒀ hydra

Wed 06 May 2026

first hydra try out

hydra is a live code-able video synth that runs in the internet browser by Olivia Jack.

No installation needed, just click on the link & change randomly some numbers and see what happens. There are also documentations:

I also just learned â€Ķ

Category: hydra
Tagged:Live coding Creative coding Animation Praxis Practice

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

GIF animation with ImageMagick

Tue 05 May 2026

ImageMagick animation with 4 images

The following documentation will generate a GIF animation with several images as a sequence and played with a -delay of 40

ImageMagick

ImageMagick is a software for converting, editing and manipulating images, invoked through the terminal.

Install/download ImageMagick

You can install ImageMagick with the help of this documentation: Download â€Ķ

Category: ImageMagick
Tagged:Animation GIF Image manipulation Image Terminal Documentation Bash

𝓇𝑒ð’ķð’đ 𝓂𝑜𝓇𝑒â€Ķ

Page 1 of 4

next >