Vintage Camera Photo Booth for Pi Day

by chloezhang in Circuits > Cameras

344 Views, 4 Favorites, 0 Comments

Vintage Camera Photo Booth for Pi Day

IMG_6769.jpg
Vintage Folding Camera Photo Booth for Pi Day - Video Demo of Standard/Normal Mode
Vintage Folding Camera Photo Booth - Pi Mode Demo

This Pi-Day Photo Booth was made during CMU ACM's Hackberry Pi, which is a week-long Raspberry Pi hack-athon to celebrate all types of pi and pie! However, I had already been turning about a rough idea for this project for a while beforehand when I picked up an antique Kodak No. 1A Folding Camera from eBay.

The No. 1A's are special because they made photography much more accessible to members of the general public because they were more compact than other cameras and packed with various functionalities to make high-quality photos easier to take. This specific camera was likely made between 1929 and 1931. However, it only takes photos on 116 film, which is a type of film that has been discontinued since 1984. I wanted to showcase this beautiful camera, while making it interactive so that people can take a little bit of history with them when they leave (and maybe a pi-day laugh too). This project, then, is a blend of history, technology, and design.

A small digital camera sits right behind the open shutter of the Kodak. When one of the buttons on the box is pressed, the Raspberry Pi wakes up and prints out a photo on sticker paper using a thermal printer. There are two modes: a “Normal” mode and a “Pi” mode. The former takes and prints photos normally, while the “Pi” mode takes the person in the photo and puts them in a pie.

The biggest challenge of this project was that I wanted to maintain the illusion that the original Kodak was taking the photos by itself, so I made sure to keep the project as minimally invasive and non-destructive to the camera as possible. That's why I made sure to design the photo booth for the Kodak, and not the other way around. The electronics are hidden away inside the Kodak and in the stand below it. The wiring is kept as minimal as possible, making use of the defunct autographic slot.

Hope you enjoy this photo booth!

Supplies

SUPPLIES:

  1. Kodak No. 1A Folding Camera (or any antique camera that supports time mode)
  2. ⅛” thick tempered hardboard panel 4’x8’
  3. Raspberry Pi 4
  4. SD card
  5. Arducam camera module IMX 470 (link)
  6. 100 cm long camera cable (link)
  7. Vretti thermal printer (link)
  8. Thermal paper (link)
  9. Red LED x1
  10. White LED x1
  11. 1000 ohm resistors x2
  12. Female to male jumper wires x5 (three will be cut and soldered)
  13. Superglue
  14. Epoxy
  15. Wire
  16. Solder heat shrink (or electrical tape if you’re in a pinch)
  17. Hinge x2
  18. Button x2 (link)
  19. Paint
  20. Spray Paint (black, or your choice)
  21. Gouache paint
  22. Waterproof varnish
  23. Patience :)

TOOLS:

  1. Laser cutter
  2. Soldering iron, solder

Camera Prep

IMG_6675.jpg
IMG_6747.jpg
IMG_6674.jpg
IMG_6673.jpg
  1. If you’re using a No. 1A Pocket Kodak, unscrew the front lens cap. This should be relatively easy.
  2. The back lens cap can also be unscrewed. Collapse the bellows and open the back panel of the camera. Using a pair of pliers and gentle pressure on the rim (it’s small), remove the back lens.
  3. Put the camera on “time mode” (T), so that the shutter stays open.

That’s all for now!

Prepare the Base

IMG_6727.jpg
IMG_6728.jpg
IMG_6729.jpg
IMG_6737.jpg
IMG_6736.jpg
IMG_6726.jpg
IMG_6739.jpg
IMG_6740.jpg
IMG_6742.jpg
IMG_6741.jpg
IMG_6743.jpg
IMG_6744.jpg
  1. Laser cut the parts of the box from the file on the hardboard
  2. Dry fit the parts before gluing, using masking tape to temporarily hold the panels in place as needed.
  3. Assemble the base of the box using superglue. It’s easier to do this step with masking tape. Clamp the parts until they dry.
  4. Paint, if desired - I first spray painted each face of the box with two coats of black, let them dry overnight, and then added details in gouache. The whole box was then coated with waterproof varnish.
  5. I used a 5-minute epoxy to add the hinges to the box after the paint job. Maybe there’s a better way to do this.

That’s all for now!

Electronics

IMG_6733.jpg
IMG_6734.jpg
IMG_6731.jpg
IMG_6730.jpg

If you’re using a different Pi model, double check the pins on your board.

  1. We need the circuitry to share a common ground with the Raspberry Pi. Cut off the female end of a jumper cable (this will go to ground on the pi) and solder it to 4 wires (these will go to the LEDs and buttons). If you have heat shrink, put it onto the wires before soldering them together. Otherwise, wrap the exposed metal with electrical tape.
  2. There are two buttons: the first controls the “Normal,” standard photo mode, while the second controls the “Pi” mode. For the first button, connect one ground wire to one terminal and connect a male to female jumper from the button to GPIO pin 22 on the Pi. The Pi button should be connected to ground and GPIO pin 23 on the Pi. The Pi will normally pull these voltages high to ~3.3V, until the button is pressed, which will bring the wire to 0V and send the signal.
  3. There are two LEDs: one white and one red. Solder each LED to a 1000 ohm resistor between the negative cathode and ground. Connect the red LED to GPIO pin 17. Connect the white LED to GPIO pin 27 on the Pi. Use heat shrink or electrical tape to protect any exposed wire.
  4. Plug in the thermal printer – power to the outlet strip and data USB to the Pi.
  5. Insert the cable from the Arducam into the CAMERA port of the Pi. Make sure the silver terminals are seated properly. The blue side of the cable should face the USB ports if you’re having trouble.

Software

Check out the PDF at the end of this step for a guide with screenshots of the setup if this is confusing.

  1. Set up camera
  2. sudo raspi-config
  3. Enable I2C
  4. sudo vim /boot/firmware/config.txt
  5. Set camera_auto_detect=0
  6. Add dtoverlay=imx708 below [all]
  7. Reboot for changes to take effect
  8. rpicam-still –list-cameras
  9. mkdir Photos for script later
  10. Set up printer
  11. scp printer-driver-sn_3.13.16_deb.deb ____________
  12. sudo dpkg -i printer-driver-sn_3.13.16_deb.deb
  13. sudo apt install cups enscript -y
  14. lsusb (verify printer is seen)
  15. lpstat -p
  16. If you only want to set up a basic script with no Pi-day edits that just takes normal photos and prints them out, follow the steps here and skip #4. Otherwise, jump to #4.
  17. Run ledcam.py with python3.
  18. If you would like to set up the advanced script with the Pi-day edits, follow these next steps. This script is more complicated since the Pi-mode uses the rembg library to remove the background from the photos we take and then performs image masking to create the person-in-a-pie effect we’re going for. We’re going to create a virtual environment to make this happen.
  19. Lpstat -p #get name of printer
  20. lpadmin -d DB402 #set the printer as default
  21. mkdir pi_booth && cd pi_booth
  22. sudo apt update && sudo apt install libcap-dev -y
  23. python3 -m venv --system-site-packages ~/pi_booth/env
  24. source ~/pi_booth/env/bin/activate
  25. pip install rembg opencv-python pillow gpiozero
  26. pip install picamera2
  27. pip install "rembg[cpu]"
  28. Whenever the pi_booth environment is activated, you will be able to run ledcam_adv.py.


Try getting a basic version of the booth running before moving on to the subsequent steps. It’s going to be much harder to debug if your electronics are in the box!


Putting It All Together

IMG_6745.jpg
IMG_6748.jpg
IMG_6746.jpg
IMG_6749.jpg
  1. You’re going to mount the Arducam inside the Kodak. You could design a mount, but I think the least damaging way to do this is to crumple some newspaper behind the Arducam and have the pressure hold the digital camera in place. Route the cable down to the Pi through the hole in the upper panel.
  2. Coax all your wires into the box. This is one of the most frustrating parts of this project…
  3. Load the printer with thermal paper
  4. Test!!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I couldn't have completed this project without the classes I've taken and the support of CMU students and staff, organizations, and makerspaces throughout the process. I borrowed a Raspberry Pi and a camera module from one of the student organizations on campus, and I used the electronics lab kit from my Intro to ECE class to help me with the first proof of concept so that I could validate my initial idea before investing more in it. I borrowed a lot of equipment from the IDEaTe lending library to set up my Raspberry Pi, which helped bring down the cost of this project. TechSpark was where I spent many hours restoring the Kodak, re-designing, and laser cutting prototypes. Hamerschlag was where I could find quiet, open work space to solder the electronics of the project. Not to mention the fact that I only learned CAD in my Intro to MechE class last semester, basic circuits in Intro to ECE this semester, and soldering from my friend a month or so ago. A huge shoutout to all the people and resources at CMU for helping me turn this idea into reality.

Feel free to let me know if you have any questions or comments about this project. I’d be happy to hear any suggestions you may have as well.