How to Build a Digital Polaroid Camera

Receipt printer + Nintendo controller + E-ink display + Raspberry Pi

Introduction

I’ve seen a few people attempt similar projects, but nobody has done a great job of explaining how they did it. I hope to avoid that mistake. The challenge of this project is getting all the various parts to work together. Before you start shoving all the pieces into the Polaroid shell, I recommend spreading everything out as you test and setup all the various components. This will save you from reassembling and deconstructing the camera every time you hit a snag. Below you can see all the parts connected and working prior to everything getting stuffed inside the Polaroid shell.

  • Wire stripper/cutter
  • Pliers
  • Dremel tool
  • Soldering iron
  • Small screwdrivers
  • Hot glue gun
  • Wires, super glue, rubber bands, and other random things

The Polaroid Camera

The camera I used is a Polaroid Minute Maker. If I were to do it again I would use a Polaroid Swinger because it is basically the same design but with a prettier front plate. Unlike newer Polaroids, these models have more room inside and they come with a door on the back that lets you open and close the camera which will be very handy for our needs. With a bit of hunting you should be able to track one of these Polaroids down at an antique store or EBay. You can probably snag one for less than $20. Below you can see a Swinger (left) and the Minute Maker (right).

The Raspberry Pi

I opted for the full Raspberry Pi 4 Model B over the smaller Pi Zero. This is partly for speed, and partly because I am more comfortable working with it since I am relatively new to the Raspberry Pi world. Obviously, the smaller Pi Zero would have some advantages working in the tight space of the Polaroid.

The Digital Camera

The camera is the Raspberry Pi V2 module. The quality isn’t as good as the newer HQ camera but we don’t have the luxury of space. The camera connects to the Raspberry Pi with a ribbon. Cut a thin hole below the lens where the ribbon can fit through. The ribbon will need a twist on the inside before it connects to the Raspberry Pi.

The Display

E-ink seemed like a good choice for the display because the image is so similar to what would get printed on the receipt paper. I used the Waveshare 4.2inch E-Ink Display Module with a 400x300 pixels.

The Receipt Printer

You may need a refresher on how a receipt printer works. They don’t use ink, instead these printers use thermal paper. I am not entirely sure how the paper is created, but think of it as drawing with heat. A black area is generated when the heat reaches 270 degrees fahrenheit. If you were to get the roll of paper hot enough it would turn entirely black. The big benefit here is that no ink is used and compared to real Polaroid film, no complex chemical reactions need to take place.

The SNES Controller

The advantage of the SNES controller, aside from the nostalgic retro benefit is that it gives me a set of controls that I don’t have to overthink. I need my focus to be on getting the camera, printer, and display to all to work together, and having a pre-existing controller that I can quickly map my functions to makes things easy. Plus, I already have experience with using controllers from my Coffee Stirrer Camera so it made it easy to hit the ground running.

The Batteries

I use two batteries in the camera. One powers the Raspberry Pi while the other one powers the printer. In theory you could run both off of the same power source but I don’t think you would get enough power to sufficiently run the printer.

The battery (bottom right) printed the darkest blacks

The Software

Here’s where I need to give a disclaimer. I can write Python that works but I can’t say that it is beautiful. There are surely better ways to do this, and a better programmer could improve my code tremendously. But like I said, it works. So I will share with you my GitHub repository but I can’t really offer support. Hopefully it is enough to show you what I am doing and you can improve it. Share your improvements with me and I will gladly update my code and give you credit.

  1. The program watches for button presses on the controller
  2. When a picture is taken (A button) it is sent to the display
  3. When the print button is pressed (B button) it prints whatever image is on the display
  4. The arrow buttons are essentially cycling through a slideshow of all the photos that have been taken

Conclusion: What I Would Do Differently

This was a fun project and in hindsight there are a few things I would do differently or I might update in the future. The first thing is the controller. While the SNES controller does exactly what I wanted to do, it is a clunky solution. The wire gets in the way. It forces you to hold the camera in one hand with the controller in the other. It’s awkward. One solution might be to strip out the buttons from the controller and attach them directly to the camera. If I am going to go to that trouble, however, I might as well ditch the SNES altogether and use more traditional buttons.

The End?

This has been a long post and I am sure I left out some important details. I’ll come back with updates as I inevitably improve my camera. I really hope you enjoyed this story. Don’t forget to follow me (@ade3) on Instagram so you can keep track of this and my other photography adventures. Stay creative.

Author of User Zero: Inside the Tool that is Reshaping Dystopia