Pi Booth

Capturing the Moment with Raspberry Pi

Jack Barker

Issue 1, July 2017

This article includes additional downloadable resources.
Please log in to access.

Log in

When Jack proposed to his girlfriend Pam, he unwittingly created an opportunity to put his DIY skills to powerful use.

Photo booths are hugely popular, and we here at DIYODE have been to our fair share of events where we’ve added bunny ears and chef’s hats to create a few minutes of laughs, but a lifetime of memories is something else! However, when Jack was quoted $500+ to hire a photo booth for use at his wedding reception, like all good hobbyists facing a higher-than-expected cost for something, Jack’s creative wheels started turning. He decided he’d come up with a tidy solution to make it happen for less.

It’s a great idea. How did you tackle getting started?

Before I became too heavily invested in the idea, I did some prototyping with a simple breadboard adaptor, camera, screen, and a simple tactile push-button switch [1]. This enabled me to run some really basic tests. Since this was my first Raspberry Pi idea, I thought slow and steady was a good approach. It took me almost no time at all to get vision from the camera onto the screen, and the rest followed easily. I knew it was going to work, and celebrated with a photo of the working camera on my desk.

Pi Booth Construction
Simple breadboard adaptor.


That’s fantastic – there’s nothing like when a plan comes together! So how did you find your first Raspberry Pi experience?

I had nothing to lose really, since if it didn’t work out I could just pay to hire a photo booth! But it turned out to be quite easy to do, and it’s definitely something I would recommend for others to attempt. I started with a really simple Python script, which takes less than 100 lines of code (you can download it from the resources below). It is set up to react to the “go button” and delay timing of the photo, so everyone can get ready. Then it snaps the photo and saves the image to the SD card. It gives people clear indications as to what’s going on.

Wow, just 100-lines? That is tidy – it even includes the comments!

It was a great working prototype, and it meant I could get everything tested. For our wedding though, we wanted a little bit more fun and showmanship. So I took the basic code and began enhancing it. The result is a longer programme loop, which is designed to take a series of four images with a countdown between each one. I made up some fun graphics to guide our guests through the process, and they absolutely loved it. You can download the code from Github.

Pi Booth screens
Pi Booth screens.

Even then, it still only comes in at around 250 lines of code, and for using such minimal code I’m very happy with the functionality. I could have gone further with the code, but in the midst of planning the wedding, work commitments, and everything else, it was working great for what it was designed for.

The instructional graphics [2] are definitely a nice touch. No wonder everyone responded so well. Some photo booths will provide a real-time print. Were you printing them?

Actually, because the photos were being written to an SD card, after the wedding I posted them to a live microsite that our guests could go and visit. This meant I didn’t have to worry about a printer, and also our family and friends could see each other’s funny photos, while they were looking for their own.

So simple! And we all know simple is better, especially as the night draws on, the drinks bill goes up, and any complex thinking goes out the window! Is that perhaps why you opted for a HUGE green button that screams “push me”?

The big green button was a logical choice really. It’s so simple that even kids basically knew what to do, without even being able to read the screens. But the two work together to make sure nobody needs any help.

Pi Booth setup
The completed Pi Booth, set up and ready to snap the day away.
Pi Booth internals
Pi Booth internals.

What was the most difficult part of the hardware construction?

Getting the screen mounted with a nice rectangular cut was a challenge. But I used the screen itself as a template, and just carefully cut it out. The result was a fairly neat fit. The box itself was reasonably straight forward. You could really make it any size and shape you like, paint it, whatever you want. I just used some plywood, but you could make it out of anything, really. The hardware inside is quite small, so you could probably mount it into a large plastic case too – but I think having a reasonably large box helps people notice that it’s there. When you want people to use it, you don’t want something that fades into the background.

Can you describe your guests’ reactions?

They absolutely loved it. We set it up on a stand, alongside some funny hats, rabbit ears, novelty glasses and things. We even had a small whiteboard that they could write messages on. All items were picked up for a few dollars from a discount variety store. We had over 100 photo-sets taken with the photo booth (i.e. 400+ photos), so our guests definitely got into the spirit of things. And we now have loads of funny memories we can look back on! 

Jack's Pi Booth in action

So everything went to plan, and you’re now the proud owner of a homemade photo booth! What [if anything] would you change next time around?

TIMESTAMPS: Time was something of an issue. You need to boot the Raspberry Pi either connected to the internet, or with a Real Time Clock (RTC) module installed. My timestamps were consistent (since the Pi was on the entire time), but it wasn’t accurate to real time. We had two locations we used the booth at, and when we restarted it at the reception, the clock reset too. It didn’t take me long to sort them out on the computer afterwards, but having RTC would solve this problem entirely.

LIGHTING: I also think the photos themselves would have benefited from more light. The light strip I put in was good, but more light, and perhaps mounted externally would have been better; a little more like what the professional photo studios do, I suppose. We used the booth at an outdoor location (after the ceremony) and an indoor location (at the reception), and the photos that were taken with some daylight are definitely clearer. The indoor photos were still great, after a little photoshop work fixed up the brightness, but some additional lighting would definitely have made them even better.

MORE ELEGANT HARDWARE: The Raspberry Pi itself proved to be very well-suited to this project, but I would upgrade some of the hardware so it’s not quite so crude. It works, and it works very well. However, some things like power on/ off switch, reset button for the Pi, and a few other controls could develop this idea into a very elegant and fully featured photo booth. At the moment without unscrewing the case, it’s basically “unplug/ plug in” to turn it all on and off.

POWER: I had to provide 5V power for the Raspberry Pi and the screen, but 12V power for the LED pushbutton and the lighting in the top. To get it all working, I simply used a powerboard, but I had three mains adaptors plugged in there. If I wanted to make it more robust, I would use a 5+12V dual rail power supply, then hardwire everything in. This isn’t really a requirement, but it’s something that I thought about doing.

These are definitely all minor points, and standard add-ons identifiable only after a real-world trial. We can even envisage audio queues – a few pre-recorded MP3 files and a loudspeaker to keep them on-track could be a fun thing to experiment with too. It sounds like it was a huge success overall! Is there anything else you’d like to mention?

Overall I am still exceptionally happy (and importantly, my wife Pam is too) with the results. The previous notes are just “version two” ideas for if I have to call upon the almighty booth again in the future. Raspberry Pi proved to be very versatile and a simple platform to get started with, and achieve a working prototype in very little time.

CREDIT: Jonathan Lang Photography.