This guide is marked as DISCONTINUED — thermal printers and accessories are no longer carried by Adafruit, and some of the APIs and drivers referenced here are no longer available or compatible. Code will not be updated and guide feedback will not be reviewed. The information remains online because a few elements may be of use for anyone who still has this hardware, but will still need to DIY their own code.
“Instant photography” with Polaroid cameras was a thing up through the 1990s until ubiquitous digital photography took hold…though, like vinyl music, the medium has since made a nostalgic resurgence.
In this project, we’ll replace chemical film with more modern electronic parts: a Raspberry Pi computer and camera paired with a diminutive thermal printer, all working off a battery. Press a button, get a print!
This camera-and-thermal-printer combination is not a new idea…Nintendo released their Game Boy Camera and Printer as mass-market devices in 1998. What’s exciting is that we no longer need the resources of a giant corporation to create something similar…inexpensive computer power and open source software make infinite customization possible!
- Any model Raspberry Pi with a camera connector (i.e. all but Pi Zero). The Model A+ is an excellent choice because it’s small and power-efficient, but if you have a different model on-hand this’ll work all the same (though might need your own case). The Raspberry Pi 3 only works with our USB receipt printer so it might not be the best option.
- 2GB or larger microSD card (or full-size SD for older Raspberry Pi boards).
- Any model Raspberry Pi Camera board; visible light or NoIR (infrared), original 5 megapixel or newer 8 MP models. This project does not require high resolution, so if you’ve upgraded another project to the latest camera, it’s an excellent opportunity to repurpose the “classic” unit.
- Any model Adafruit Thermal Receipt printer. We’ll use the “Nano TTL” model because it’s compact, but any of the other varieties can work as well.
- Thermal Paper Roll(s). The Nano printer requires a special nano roll. There are corresponding fitting rolls available for the Mini and full-size receipt printers.
- 4xAA Battery Holder with On/Off Switch. Or you might be able to adapt a different 5-ish Volt power supply…it requires a couple Amps of current, and most USB battery packs didn’t quite cut it.
- Perma Proto HAT — No EEPROM. This is used for connecting buttons and power to the Raspberry Pi GPIO header…though if you’re resourceful, any Pi Cobbler or even some M-F jumper wires could be adapted to the task.
- 16mm Panel-Mount Momentary Push Button or similar, two required. Various interesting colors are available.
- Latest version of Raspbian Jessie Lite for Raspberry Pi web site. No not use the full version, it’s enormous…the Lite version is sufficient for this project.
- 4 (four) Panasonic Eneloop rechargeable NiMH batteries. Yes, this is actually important, not a shill…we tested with other cells and they lacked the same “oomph.” Additionally, the Eneloops hold a charge much longer when stored.
- NiMH battery charger.
You will also need the usual electronics project items: soldering iron and related paraphernalia, some bits of wire, etc. Optionally, you can add an LED (any color) and resistor (100 Ohm or thereabouts) as a status indicator.
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.
During setup, you will temporarily need a monitor, keyboard and network connection. The Model A+ may require using a USB hub and a wireless adapter…if you already have a working Raspberry Pi system that’s networkable, it may be easier to borrow that for the software setup, then move the card over to the A+ board.
Creating an enclosure for your camera is a DIY project. We’ll upcycle the box the thermal printer comes in, but you might want to create something fancier than that…maybe 3D printed, or even fit into an old camera body.