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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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.


  • 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:
digitalWrite(lightPin, HIGH); }

void loop() {
if (digitalRead(buttonPin) == HIGH) {
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.
Hardware Hacking

Participated in the
Hardware Hacking

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    25 Discussions


    4 years ago

    Ive wired everything up, got all the software and code copied but can't get the arduino to talk to the dslr photobooth. Can you provide some more instructions here? The photobooth program starts its sequence when i press the spacebar, but not 's'.

    6 replies

    Reply 4 years ago

    Hmmm... Did you install the AAC Keys program and set it to the correct serial port? The port can be found in the arduino software. If you successfully uploaded a sketch then look for the port it is using and use the same port for AAC Keys. Let me know how you go.


    Reply 4 years ago

    Thanks for the reply, yeah so I am not seeing the correct port that the arduino is using in the AAC program. It is not listed, maybe thats my problem. Any ideas?


    Reply 4 years ago

    What operating system are you using? I did this instructable on a Windows 7 machine and since have had problems with it on Windows 8+. Something to do with the USB to serial port drivers. I had the same problem with the arduino. The arduino forums had a solution from memory. Using a generic modem driver... try the arduino forums.


    Reply 3 years ago

    Hi. Works perfect on Windows 7. Now I am struggling to get it to work on Windows 10...


    Reply 4 years ago

    You've lost me there... no idea about mac drivers... good luck with it.


    5 years ago

    Seems like my failed reply went through too... Two answers for the price of one.


    5 years ago

    Thanks achopra3. I have both sitting around and it would be ideal to make the whole system more portable. Hmmm...Battery powered and wifi. Could take it anywhere.


    5 years ago

    Achopra3, good idea. I wanted to use a raspberry pi but time was a factor. Party's tomorrow and I had a few other things to do beforehand - mow lawns, tidy up, make kegorator etc... Go pro was something I had not though about. The wide angle lens would mean subjects (guests) would have to be very close. 1 meter away and that would be a bit in your face, no pun... But more easily replaced than the slr in party mode.


    5 years ago

    Reggie, your right. See image attached. The hardest part is the triple connection between pin 3, the resistor and ground. Have a look at the example button script in Arduino examples. All I have added there is another pin to control the led in the button.

    2013 10:10 pm.jpg