Go Light Your World

Let us capture your your memory with our cameras. This is our blog…

HCPB ButtonBox v.2…

Happy Camper Photo Booth (the HCPB in the title…) is the name under which the photo booth is operating.

Originally, a Freescale FRDM-KL25Z board was used for user input. It  read the status of 2″ arcade buttons and sent button pushes as key strokes to the host computer as a USB keyboard. The arcade button lights were on except when the buttons were pushed. There was no easy way to make the host computer turn the LEDs on or off.

Now, there is a version 2 of the button box. It is based on the Teensy3.1 programmed using the Arduino code suite as a USB serial/keyboard/mouse/game controller device. As with the old button box, there is a breakout board to connected it into the photo booth. It  reads the status of the arcade buttons and reports those as keyboard key strokes. Additionally, the USB serial device receives characters from the host computer and turns on the LEDs within the arcade buttons. Additionally, it can turn on and off the inverter for some EL wire wound in a ring that goes around the lens (so people can see where to look) as well as the remote control for a video camera.

The breakout board schematic and layout are below. The board sent off for fab at OSH Park and a better view of the board layout can be see there. Extra FETs were added for later expansion, if additional features are thought up.


Posted by by david

Add a comment

Details Of The Photo Booth

As promised in a posting about the pseudo-neon sign, here are some details about the physical construction of the photo booth…

Here is the booth in action at a recent luncheon with the neon sign at the top:

photobooth at luncheon

The booth frame is constructed from 1″ electrical conduit. 3/4″ conduit would probably have worked just as well and would have been cheaper, but after buying the 1″ fittings, I was rather committed…

Here are two early photos taken during construction when I was still hanging the monitor on the back wall. (I’ve since moved it because it causes people to be looking up and off into space.) I’m also not using battery powered strobes any more.

1599780_10203192723116286_617373438_o (1)


The conduit is joined with car port/canopy fittings I bought from Yuma’s Bargain Warehouse. (I recently discovered there is a relatively local supplier of the same fittings, Shade King, located just north of Austin, TX, so I could have bought these locally and saved the shipping cost.) Below is a diagram of the rough dimensions of the booth. I won’t bother with the specifics of the fittings and lengths because I would construct it slightly differently had I to do it all over again…

photobooth drawing

The shelf was constructed from 1×8 poplar painted black (it was on clearance at Home depot, so I bought it instead of white pine). It’s held to the frame by 1″ single-sided conduit clamps. The camera mounts to the center of the board with a Manfrotto 234RC tilting quick release mount, allowing the camera to tilt up and down for adjustment. It can’t be seen well in the image below because it’s behind the frame that holds the TV with HDMI input.


The photo booth is skinned with tablecloths I bought from Amazon. These were the cheapest source of good weight material with which to skin the booth AND the edges were already hemmed. All the “real” fabric stores wanted more money for lighter weight material. Along with the tablecloths, I bought a 20 yard roll of hook and loop tape from Amazon for attaching the tablecloth curtains to the booth. More tablecloth was used to fashion a cap to cover the top of the booth. Again, I won’t bore with the details, since I don’t expect anyone to copy me exactly… The tablecloth skin can be seen in the photo at the top of this post.

Inside the booth, white tablecloth hangs as a background (unless the event organizer orders a custom printed background). Behind the camera and monitor, white tablecloth hangs as a bounce diffusion surface. Two 45 Watt-second AC slave strobes are optically triggered by the camera’s flash. The strobes and confined space of the booth allows using an aperture of F11 and pre-focusing the lens so that everything from about 2 feet out to 5 feet are in focus. (The camera I’m using is a Nikon D90 with a 24mm/2.8 prime lens, which has the focus distance markings on it.)

Constant illumination in the booth is provided by a home-made LED stick consisting of 3 meters of 3528 warm white strip LEDs stuck on an aluminum meter stick in a T8 protective tube.

The photo booth software itself is still a work in progress. It’s basically a Python script I wrote. Linux runs on a fanless quad core ARM computer (see below) with a Freescale i.MX6Q, 2GB of RAM, and a 32GB SSD inside. Everything I used is open source, mainly libgphoto2 and piggyphoto, python-pygame, and graphicsmagick. I’m reluctant to release the source code because it is not turn-key software.


There are two USB flash disks plugged in. For redundancy, I copy each set of image files to multiple drives in case anything goes wrong. The additional advantage of extra flash drives is that at the end of an event, it is fully stocked with all the photos so I can deliver a purchased drive immediately. The USB hub has the wireless keyboard, the camera, and a custom “keyboard” plugged into it.

The custom “keyboard” is a microcontroller board programmed as a USB keyboard. The 50mm lighted arcade buttons (see below) provide the user input.


The bottom board is a Freescale FRDM-KL25Z with a custom shield board I made on top. There is currently no differentiation in the script between the buttons, but they each generate a different letter. The buttons came from Amazon.

In operation, the Python script waits for a button push to start the sequence. Four photos are taken and displayed in succession, then two versions of composites are generated: one is intended for displaying on screens at the event and the other is a vertical strip much like what the old fashioned photo booths used to spit out. Two of these latter images side by side can be printed on 4×6 paper. All the raw source images are saved along with the composites.

All of the images are shared on the local network via SAMBA. This allows setting up several Android devices around a venue to display the photo booth images in a slide show. Although it’s hard to make out in the photo at the top of this post, there is a TV hanging from the top of the photo booth just to the right of the opening. Having this SAMBA share also allows me to look at the photos with my Android phone to check on things.

The booth is very functional at the moment but not quite ready to hire out. I plan to add near real-time uploading of the images to our SmugMug.com account (where examples of the booth photos can be seen in addition to on Facebook). I am also thinking of adding an option to print the double print strip images.

There are improvements I need to make to the booth physically as well – I need to be able to set it up and break it down in 30-45 minutes. One of the things that can help with this is to build a box to house the camera, computer, monitor and button(s) allowing all the connections to be left intact. All that would need to be done is fasten the box down and plug in the power.

One interesting side note is that the Nikon D90 will drain a battery dead if left plugged into an active USB host. To avoid the hassle of having to use, charge, and switch out batteries, I purchased an AC power supply for the D90.



Posted by by david

Add a comment

Pseudo-Neon Signs with EL Wire

Here’s a quick DIY for making pseudo-neon signs with EL wire.

This sign was to accompany the photo booth that I’ve been developing. I wanted to give it a vintage feel, so I thought a pseudo-neon sign was the way to go. Here’s the end result:



The sign measures 10 inches wide by 30 wide, cut from a single sheet of 20×30 foam core.

On the front side, the letters were blocked out. A pen was used to punch holes through which the EL wire was threaded. A needle and thread was used to tack the EL wire in place so the letters would keep their shape. A single 9 foot long orange EL wire was used for this sign with about a foot and half left over. After the threading and tacking was complete, black paper tape was used to tape the other half of the foam core on the back side to hide the EL wire on that side.





The sign was mounted by taping a 5/8 diameter aluminum rod to the edge of the sign and inserting the rod into a super clamp. The battery pack should have been on the same side as the rod, though, so it the pack could be strain reliefed.

This is just a single color sign, but multiple colors can be used like with real neon signs…

Posted by by david

1 comment

Mic Mono/Stereo Adapter, PCB version…

A previous post detailed an adapter that could combine two mono mics with 1/8″ jacks for use with a camcorder, as well as a headphone splitter so that two headphones can be used with a single jack on a camcorder.

This adapter was used to record a video.  A Rode VideoMic on a boom pole and an Audio Technica ATR-3350 clipped on the talent were used together with the mic combiner part of this design. The boom pole operator and the camera operator both had headphones on using the splitter part.

A board has now been designed that can function as either a mono/stereo combiner or headphone splitter depending on how the jumpers are configured. The board is set up so that 0.1″ headers can be used with computer type jumper blocks but the configuration can be soldered in place as well.

Here is the schematic:


The Mic Adapter configuration has three modes of operation:

  1. Two mono mics are combined from jacks J1 and J2 to J5.
  2. A stereo mic can be plugged into J1 with stereo output at J5.
  3. A single mono mic can be plugged into J2 and appears as a stereo mic at J5.

In the headphone configuration, a stereo source may plugged into any jack and two headphones into the remaining two jacks. It should be noted that in this configuration, J1 always needs to have something plugged in to keep the left and right channels from being shorted together. (This could have been avoided but it would have required extra jumper points. Boards made with the existing design can have the trace cut at J1 if this is a concern.)

The layout is here:


Boards may be ordered at OSH Park. It uses these jacks (from Digikey).

The board offers no strain relief, so care must be taken to keep the jacks from being pulled off the board.

Posted by by david

Add a comment

Laying the foundation for a Photo Booth…

The latest project I’be been working on is a powered photo booth, powered by Linux running on an embedded ARM processor. More on that and that later…

I bought two 19″ TVs for the purpose, one for inside the booth and one for outside. The outside one is to present a running slide show of all the photo taken at the venue, along with some prompts to grab a prop and pose for one.

For that purpose, I bought an HDMI stick powered by a Freescale i.MX6Q quad-core ARM processor, the Zealz GK802. It ships with a recent version of Android that’s loaded on an internal microSD card. Not being much of a programmer in general or Android in specific, I found some instructions on the net for loading the stick with other flavors of Linux. Since I had already cloned an Ubuntu 12.04 LTS system I put together on a Freescale i.MX6Q Sabre SD board, I loaded that onto the stick following the multi-boot directions here.

Success! The stick booted and since it was a cloned system, all the remote access components I added  and configured worked straight away. It won’t need a mouse or a keyboard attached because everything can be remotely controlled through the network. It will just run the slide show endlessly using eog (Eye of Gnome), unless a better randomized, looping slide show application can be found.

The image files will be added into the stick remotely as they’re taken. Current plans are to attach a QR code to each image so that those posing can immediately find and download the images to their smart phone. Dispense with the printer and deliver the tiled up and original images through a local wireless network. I’ve not seen any other photo booth vendors or software that offer that.

Posted by by david

Add a comment

Bad Behavior has blocked 52 access attempts in the last 7 days.