Skip to main content

A DIY photo booth is exactly what you need for your next party

A DIY photo booth is exactly what you need for your next party


Don’t forget props!

Share this story

In my personal experience, I’ve found that parties with photo booths are more fun than parties without photo booths. But if you’re hosting a big event or wedding, you’ll know that actually renting a company to come set up a booth can get really expensive.

But why pay someone to come set up a booth and run it for you when you can just put a really great one together yourself? Here’s how to do it.


  • Raspberry Pi 3, or an older Raspberry Pi with a Wi-Fi adapter.
  • monitor with HDMI-in, to be the screen of the photo booth.
  • A DLSR or other camera that can connect to the Pi over USB, along with whatever weird cable your camera needs to do it.
  • mouse and keyboard, which you’ll need to get things set up on the Pi.
  • A tripod, ideally one that’s taller than your screen so that you don’t block the camera.
  • Patience for messing around with network settings.

Putting it together

There’s basically two parts to this project. The easy part is connecting everything, and the slightly harder part is software. Fortunately, there’s a wealth of various photo booth solutions for a Raspberry Pi out there online already. I used one from developer Phillip Trenz that had a useful local Wi-Fi feature for downloading photos, but there’s plenty of other options out there.

To install it, follow Trenz’s instructions from the Github page for the project. Essentially, what you’re doing here is installing the various pieces of software the program needs to run — including gphoto2, which is a super comprehensive piece of open-source image capture software that works with almost every camera ever made. Then, install the app itself, and you’re good to go.

A few tips from putting this together along the way: once you connect the camera, you need to eject it from the local filesystem, since it can’t be mounted as a folder and used as a camera at the same time. Similarly, I’d recommend setting the camera to shoot in JPEG — not RAW — if you’re using a DSLR. This is because the Pi has trouble handling the larger images.

There’s also a config.json file where you can edit some settings, like whether or not the app will run in fullscreen or if you want the camera to save pictures or simply store them directly on the Pi.

(I didn’t set up a DNS server, but this still worked pretty well for the afternoon we had this set up)
(I didn’t set up a DNS server, but this still worked pretty well for the afternoon we had this set up)

As a final piece of the project, Trenz’s app does also include a local webapp for viewing and displaying pictures. The trick here, though is to get the Pi to broadcast a local Wi-Fi network, which is kind of complicated. This guide from developer Phil Martin over at Frillip is a good place to start — when you get everything setup correctly, you’ll have a local network. Then, you’ll just need an IP address to share with guests for access to the photos. If you’re really clever, you can use DNS mapping to make an actual simple address for your local network, like photo.booth, to make it easier to get to.

You’ll note that we mostly just left our tripod and screen out, but if you’re holding a formal event, feel free to dress up the scene as much as you’d like with a cardboard frame or drop cloth to cover up some of the more technical aspects.

Oh, and don’t forget props. What’s a photo booth without some silly hats?