Tap. Snap. Print. β¨
Instant thermal receipt photos from a repurposed POS terminal
A tiny app that turns a Sunmi V2 POS terminal into a fun photo booth! Take a photo and it prints instantly on the built-in thermal receipt printer as a gorgeous dithered black-and-white print. π€π€
Think retro polaroid vibes, but on a receipt. π§Ύβ¨
- π Look at the screen β full camera preview
- π Tap anywhere β countdown starts: 3... 2... 1...
- πΈ Flash! β photo captured
- π¨ Magic happens β your photo gets dithered into beautiful black & white dots
- π¨οΈ Brrrrr β out comes your photo on thermal paper!
- π Ready for the next one!
2.9 MB. That's it. Smaller than a single selfie.
- π· Camera? Built-in Android API. Zero libraries.
- π¨ Dithering? Pure math. ~80 lines of Kotlin.
- π¨οΈ Printer? One tiny Sunmi library.
- π Files on disk? None. Everything lives in memory.
cd photo-booth
./gradlew assembleDebug
adb install app/build/outputs/apk/debug/app-debug.apkOr over WiFi! π‘
adb connect 192.168.1.85:5555
adb -s 192.168.1.85:5555 install -r app/build/outputs/apk/debug/app-debug.apkYour photo goes through Floyd-Steinberg error diffusion β the same algorithm used in newspaper printing since the 1970s. It spreads the "error" of turning a gray pixel into pure black or white across its neighbors, creating an illusion of smooth gradients using only dots. π¬
The result? Surprisingly detailed portraits on a 58mm receipt. π€―
- π Party photo booth β set it up at a gathering, everyone gets a receipt-sized souvenir
- π Gift tags β snap a photo of a friend, instant personalized gift label
- πΌοΈ Receipt art gallery β collect prints, tape them to a wall
- π Visual notes β snap a whiteboard, get a pocket-sized printout
New to the Sunmi V2? Check out sunmi-v2-rescue β our complete guide to debloating, optimizing, and repurposing the device. Covers specs, printer API, performance tweaks, and more.
Built with π€ on a repurposed Deliveroo POS terminal
by Ziad