Introduction: FaceBooth - One Button to Facebook Photobooth

I wanted to make a photbooth for a Christmas party. I wanted it to be simple to operate and only be one click easy so that even a guest who was chemically uncoordinated could even operate it.I wanted a solution that would take a photo and post it on facebook. Guests could later tag themselves or others.

There are three parts to this solution:
  1. The Photobooth software
  2. The Button
  3. Software for the button to talk to the software

Step 1: The Photobooth Software

For the photobooth software, I have used DSLRBooth (http://www.dslrbooth.com/) it had everything I wanted.

It can:
  • Print directly to a printer
  • Post to facebook (Pro version only)
  • Generate a QR code for guests to scan and retrieve their photos
  • Email guests a copy of their photos
  • SMS (Twilio account needed)
  • Has a range of templates that you can overlay images etc... These can be customised as well.)
Rather than regurgitate the setup instructions, you can view them at http://www.dslrbooth.com/howto/photo-booth-instructions/

The trial version runs for 7 days and gives you all premium features. If you plan on using this software, download it within 7 days of your event. Or pay for it.

Step 2: The Button

This was the fun bit. I wanted to make the whole experience simple to use. I thought a glowing button would do the trick.

Materials

Tools
  • Soldering iron
  • Wire Strippers/pliers
  • Crimping tool
  • Saw
  • Hot Glue Gun

Step 3: Button - Protoboard Setup

Follow the schematic to solder up you protoboard.

I soldered some pins to the board so I could piggyback my arduino. See image above.

Step 4: Button - Arduino Code

Use the arduino software and upload the below code to your arduino. Essentially it is just the default button script from the examples, however I have added another pin (5) to power the light in the button. Initally I wanted the button to go out when the button was pressed and turn on again after so many seconds to indicate the system was ready. Sadly this did not work as intended. Not sure why but after the command is given to the serial decoder? it must send something back and stop the rest of the script running.

DSLRBooth asks you to click to begin. Below the serial is sending an "s". I'll explain in the next section.

-----------------------------------------------------------------------------------------
const int buttonPin = 3; // the pin that the pushbutton is attached to
const int lightPin = 5; // pin the light in the button is on

void setup() { // initialize the button pin as a input:
pinMode(buttonPin, INPUT);
pinMode(lightPin, OUTPUT); // initialize serial communication:
Serial.begin(9600);
digitalWrite(lightPin, HIGH); }

void loop() {
if (digitalRead(buttonPin) == HIGH) {
Serial.print("s");
delay(5000); //delay 5 seconds so only one command is given
}
}
----------------------------------------------------------------------------------------

Step 5: Download and Install AAC Keys

AAC Keys is a serial reciever. Designed for mobility computing, it responds to commands and keystrokes given over serial connections. This piece of software is needed to decode what the arduino sends into something that the dslrBooth can understand.

I had enormous trouble getting the AAC Keys to accept my mouse click command (as dslr Booth wanted me to do). In fact it almost went in the bin!... until I discovered that pressing 's' on the keyboard also initiated the booth and thus send the 's' keystroke from the arduino.

AAC Keys download can be found at http://www.aacinstitute.org/Resources/ProductsandServices/AACKeys/AACKeys.exe

Step 6: Assembly and Making It Look Good

The box I made was supposed to be 8cm3. However, once I started to assemble it I realised my setup wasn't going to fit. The depth ended up being 9cm deep with an open back. It was made of 10mm MDF, hot glued together.

After I put it together the first time, I thought a plain MDF box just wasn't going to cut it. I made a template and printed it to wrap around the box. I have included that file on this page.

To assemble:

  1. Insert the arduino / protobard into the back of the box.
  2. Place the locking nut of the button over the connector wires
  3. feed wires through the hole (22mm) and connect the button
  4. Screw the locking nut up to secure button.
  5. Attach the USB serial cable to the arduino.

Step 7: Putting It All Together

To put it all together and make it work:
  • Attach your SLR camera to a tripod or similar and connect it to your computer
  • Connect the button assembly to your computer
  • Connect your computer to your monitor or TV (optional)
  • Run AAC Keys and set it to the serial port of your arduino
  • Run dslrBooth (set up your settings - I had it to automatically post to facebook)
  • Click button and your away.
Images above are the final setup and a test shot with an overlay.

I intend on hiding the laptop under the bench so that all guests can see is the camera, button and TV. As an afterthought, I could make a box to house the camera as well so that is party proof too.