Raspberry Pi Photobooth

After googling around, I found no viable photo booth software for my setup. So here is yet another photo booth for the Raspberry Pi.

Raspberry Pi photobooth application without the case
Raspberry Pi photobooth application without the case

Features:

  • Saves photo to file and optionally prints it
  • Interface with pictograms and colors instead of text
  • Large touch screen friendly buttons
  • Countdown to taking picture
  • Picture review to decide about printing (60 sec timeout)
  • Print queue awareness (won’t print unless queue is empty)
  • Infinite loop
  • Written in Python 3 and tkinter

What you need is:

  • any Raspberry Pi with camera port
  • a Raspberry Pi camera
  • a display; cheap touch screen LCDs are a good fit for this
  • a printer that works in CUPS, set as default printer
  • some extra packages installed: python3-cups python3-image-tkinter cups (get python3-cups from https://launchpad.net/ubuntu/trusty/armhf/python3-cups/1.9.66-0ubuntu2)
  • the code and pictograms

Installation and usage:

  • Save the code and pictograms under /home/pi
  • Run with ‘python3 photobooth.py’ (put a shortcut on the desktop for easy access)
  • Photos are saved to /home/pi/Pictures by default
  • ESC-key exits

Add internet connectivity and some cloud service synchronization with just a password to your Pictures folder to give your guests near instant access to photos.

The set can then be mounted in some nice way, for example like this with a case and tripod:

This key cabinet works perfectly to hide the hardware.
This key cabinet works perfectly to hide the hardware.
Hot glue and straps to hold things in place. The door provides easy maintenance access and insight for the technically curious.
Hot glue and straps hold things in place. The door provides easy maintenance access and insight for the technically curious.

12 thoughts on “Raspberry Pi Photobooth”

  1. I really like your approach. Can I ask how you were able to get python3-cups on your pi? My sources are unable to locate it. Thanks!

    1. I found the link in your python script. Thanks for including it and I’m sorry I didn’t see it before asking. Great example!

  2. Hello Johan,
    i like yout photobooth setup. Do you have an autostart-function? (when the pi boots, the software automatically starts)

    And what cloud service do you use? I wanted to use Dropbox, but i don’t get it to run on my Pi3.

    greetings
    Ben

    1. Thanks for the feedback! Yes, it can easily be added to the graphical environment startup with the following command when installed in the home directory root:
      echo "@python3 photobooth.py" >> ~/.config/lxsession/LXDE-pi

  3. Hi Johan,
    This is a great project, I like the simplicity of your program, ordered a Pi camera to test it !
    Is there a way to get a live preview from the camera ?
    Best,
    Frédéric

    1. Hi, changing line 131 reviewPhoto(filename, 60) to waitUser() should do the trick. It essentially skips back to the start after a picture was taken.

  4. Hi, I have a problem with python :
    Traceback (most recent call last):
    File “/home/pi/photobooth.py”, line 23, in
    from PIL import Image, imageTk
    ImportError: cannot import name ‘imageTk’

    1. Hi, make sure you have the required packages installed, specifically python3-pil.imagetk.

  5. Hello again Johan.
    I would like to control my picamera with scale (Iso, saturation, contrast).
    How can I do? Thank you ! 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *