The first step for me was getting all of the hardware
prototyped so that I could start developing the software,
and thinking about what kind of enclosure it should all go
into. This meant I needed to select a camera and decide
on the user interface for the booth.
The initial solution for a camera was going to be an
extra Nikon D40X. This — or any other digital single lens
reflex (DSLR) camera — would produce very high quality
photos with fantastic automatic exposure settings. The
problem was that getting a live preview from these
cameras is very difficult on most; impossible on some.
Even triggering the photo capture was a bit hacky, as on
some models I would need to emulate the infrared (IR)
A webcam was a cheaper alternative with many of the
desirable qualities, but they can be difficult to interface
with. It could be done, but the clock was ticking! The
optimal solution for me was the Raspberry Pi camera
board. This $30 camera plugs directly into the Pi with a
ribbon cable that breaks out the camera serial interface
(CSI) bus. It will take still photos or video, and it has a
really nice set of libraries to control it from the Linux shell
or through a Python program.
There is no free lunch, though. The camera is only five
megapixels and doesn’t have automatic exposure settings.
However, for the size of prints that guests would make
and for social media posting, the resolution was plenty. It
also has the bonus of smaller file sizes, which comes in
handy when dealing with hundreds of photos.
The photo booth also needed a “big red button” that
begged to be pressed to start the photo sequence. This
needed to be obvious, intuitive, and make that satisfying
tactile click. A less obvious button was needed to shut
down the photo booth. I certainly didn’t
want to connect a keyboard every time,
but this button needed to be less
obvious and hard to trigger by accident.
As we all know, every good project
has to incorporate some blinking lights,
and this one is no different. I wanted a
flashing light to replicate that of normal
cameras when they are put into time
delay mode. It also would help draw
people’s eyes to look at the camera and
not at themselves on the preview screen.
Lighting the photo scene needed to
be simple and safe. I considered LED
strips, but worried about how to best
position them. In the end, I decided on
just providing a plug that we could use
to switch any lamp we deemed
appropriate when setting up. I started
building up the transistor/relay circuit to
switch the mains power, but found that a
product called the “Powerswitch Tail 2”
existed. This solved the problem in an
opto-isolated and fully enclosed way, and
made me feel a lot better about leaving
the unit unattended. While my mains
wiring would be fine, I didn’t want a
28 March 2016
■ FIGURE 3. The camera connects to the CSI bus through a flat-flex
cable. On the model A+, the bare contacts are towards the HDMI
connector. Make sure this isn't backwards!
■ FIGURE 2. Hook-up diagram for the PiBooth. Be sure
to keep connections short where possible to reduce the
false triggers that the software must fight.