IOT

DIY Photo booth using Raspberry Pi for your parties

This photo booth has better features that make the pictures stand out and is not simply for shooting pictures. In this project, pictures are taken and afterward transformed into lovely GIF visuals using a Camera module controlled by a Raspberry Pi. The best feature is that it will effortlessly and instantly submit the converted GIF photos to your Tumblr account.

Hardware Required

  • Raspberry Pi 
  • Raspberry Pi Camera module 
  • 5V power adapter including USB A to Micro B cable 
  • SD card with 8GB or more memory 
  • 7-inch monitor (HD or SD is your preference) 
  • HDMI or RCA video cable (depends on the monitor you use) to connect from Pi to your screen
  • Power adapter for your monitor
  • USB / Wireless keyboard and mouse
  • Arcade button with in build 5V LED
  • GPIO cables
  • Tripod Mount

Please be aware that the Raspberry Pi 3’s TRRS audio adaptor conceals the composite video.

Optional Parts:

The components on the list can be employed to give your photo booth a polished appearance. But how you use it is entirely up to you.

  • WiFi adapter in case you need to establish wireless internet connection 
  • TTL cable to troubleshoot or make changes without disturbing the setup.
  • Pi Cobbler
  • USB power panel mount
  • Ethernet panel mount
  • USB port panel mount

Algorithm Of Photo Booth:

  • Start the device
  • To signal that the device is starting, turn on all of the front LEDs. Then, after a short while, turn them all off.
  • Await Arcade button press from the guests.
  • The “Get ready” light will begin to flicker once the button is hit, signalling to the guests to prepare.
  • On the monitor, show a real-time video preview.
  • Ask the visitor to strike a pose for the camera by briefly blinking the “Pose” LED.
  • Take a picture and save it in the.jpg format with a time stamp in the filename.
  • Repeat four times
  • Process each image that was taken.
  • The uploading light will now blink to show that the photo has been submitted to Tumblr.
  • Animate all four images into a single GIF.
  • To Tumblr, post the converted GIF image.
  • The “Uploading” light should stop flashing, and the “Done” light should stay on for a short while.
  • Guests can view the results of their picture session by playing the GIF images on the screen a few times.
  • Wait for another Arcade button to be pressed.
  • Once finished, turn off the Raspberry Pi.

Circuit Design:

photo-booth-design

Here is a concept for a photo booth that demonstrates how to connect an optional TTL cable and an LED-integrated arcade button. Similar LED connections should be made to the Pi’s GPIOs (Omitted in the design).

Setting Up The Photo Booth:

photo-booth-raspberry-pi

I made the choice to put all the required components together inside a wooden box. This will offer my project a wonderful authentic photo booth look. I attached the Pi to a glass panel, linked the other pieces, and put everything together within the wooden box.

complete-photo-booth-raspberry-pi

Make sure the setup is stable by mounting everything on a tripod. For this, a PA speaker mount is another option that delivers a high level of stability. Additionally, put it in a convenient location for guests to pose for pictures. Create a comfortable lighting environment for the visitors.

Setting Up The Raspberry Pi:

  • If you are just getting started with your Pi, first of all you need to install Noobs on the SD card
  • Now you need to configure your Pi to display video preview in the monitor
  • For that you need to edit a config file
sudo nano /boot/config.txt
Comment out the below line
# hdmi_force_hotplug=1

In order to get decent-looking video on your screen, you may also need to make further changes to this configuration file’s settings. Here are the modifications I made to my configuration file.

start_x=1
gpu_mem=128
framebuffer_width=800
framebuffer_height=480
sdtv_aspect=3
disable_camera_led=1
sudo nano ~/.config/lxsession/LXDE-pi/autostart
  • And add the following in the autostart file :
@xset s 0 0
@xset s noblank
@xset s noexpose
@xset dpms 0 0 0

Taking Photos:

photo-booth-front

Front View Of Photo Booth

  • When the Raspberry Pi is off, connect the camera to it. Start it up now, and then set it up initially by follow these instructions. I have employed PiCamera as a means of camera control. PiCamera can be installed from this Here

Creating Animated Gif Images:

This project uses GraphicsMagick to convert the images captured to animated Gif. Follow these installation instructions to get it installed in your Raspberry Pi. But the following should work fine as well

sudo apt-get install graphicsmagick
  • After a successful installation, place some photos in your directory and use the following code to check GraphicsMagick’s functionality.
gm convert -delay 100 *.jpg joined.gif

Uploading To Tumblr:

Pytumblr and the Tumblr API are the two apps you need to upload the captured photos from Pi to internet. To get Pytumblr follow these steps

sudo python get-pip.py
  • Download Pytumblr and copy the files to your Pi. Now unzip the obtained file into your Pi
wget “https://github.com/tumblr/pytumblr/archive/master.zip”
  • Navigate to Pytumblr master folder and run the below command to install it
sudo python setup.py install

Final Code:

The complete code is available on GitHub. A few variables have to be changed based on the information from your device. Change anything you want and save it wherever you choose. I’ve put the code in a folder with the name

/home/pi/photobooth/

Now we need to get the code running on your Raspberry Pi once at the start up. Here is a nice tutorial that could guide you to do it.

sudo nano /etc/xdg/autostart/myscript.desktop

And now save something like the following:

[Desktop Entry]
Type=Application
Comment=Start my script
NoDisplay=false
Exec=sudo python /home/pi/photobooth/drumminhands_photobooth.py
NotShowIn=GNOME;KDE;XFCE;
Name[en_US]= drumminhands_photobooth.py

The DIY Photo Booth Building Tutorial is now complete. We MATHA ELECTRONICS will be back soon with more informative blogs

Leave a Reply

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