Typst-powered thermal printer
Find a file
2025-04-10 00:53:22 +02:00
.vscode Simplify font setup 2025-03-03 20:32:16 +01:00
images Update readme and add images 2025-04-09 19:33:55 +02:00
meta Add option to export original images 2025-04-09 19:24:28 +02:00
showbits-assets Simplify font setup 2025-03-03 20:32:16 +01:00
showbits-thermal-printer Notify user whether uploaded images are saved 2025-04-09 19:24:28 +02:00
showbits-thermal-printer-ui Make disabled buttons a bit transparent 2025-04-09 19:24:28 +02:00
showbits-typst Update rust dependencies 2025-04-09 19:24:28 +02:00
.gitignore Set up prettier 2025-03-02 18:41:10 +01:00
.prettierignore Set up prettier 2025-03-02 18:41:10 +01:00
.prettierrc Set up prettier 2025-03-02 18:41:10 +01:00
Cargo.lock Get rid of deprecation warnings 2025-04-09 19:24:28 +02:00
Cargo.toml Get rid of deprecation warnings 2025-04-09 19:24:28 +02:00
package.json Update ui dependencies 2025-04-09 19:24:28 +02:00
pnpm-lock.yaml Port photo ui to vue 2025-04-09 19:24:28 +02:00
pnpm-workspace.yaml Set up prettier 2025-03-02 18:41:10 +01:00
README.md Fix spelling of "xkcd" 2025-04-10 00:53:22 +02:00

showbits

Displaying pixel-perfect images on a thermal printer.

The printer in question.

The web ui for controlling the printer in question.

Developing

After cloning the repo, run meta/build-all once. Some parts of the project use files from other parts of the project (e.g. the thermal printer includes the typst plugin wasm file in its binary). The build script produces these intermediate artifacts.

Thermal printer ideas

  • Appointments, tasks for the day
  • Business card that looks like a receipt
  • Commit history (maybe across repos)
  • Emails (live)
  • HN front page
  • Issues on a GitHub repo (like tickets - "when your number is called, ...")
  • Large image using multiple strips
  • Live graph (a new row of pixels every few seconds)
  • Measuring tape
  • Personal finances in the form of a receipt
  • QR codes
  • Quote (fortune, maybe cowsay)
  • RSS feeds (live?)
  • SSH login attempts (live)
  • Stats in the form of a receipt
  • Sudoku
  • Text banner (text flows parallel to paper)
  • Weather report
  • Wiki To Go

Implemented:

  • Calendar
  • Cellular automaton (1D)
  • Chat messages (euph, twitch)
  • Instant camera
  • Procedural easter egg generator
  • Sunrise, sunset
  • xkcd (current, random)

Todos

  • Sensible limits on all string inputs
  • Better debug logging