Skip to content
self-o-mat is an open source software for your DIY photobooth!
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

The self-o-mat Project

The self-o-mat project started with the desire to build an inexpensive photobooth for personal use which is able to produce high quality images using DSLR cameras. Since we wanted to build a solution for personal use, the project needed to run on inexpensive hardware and work with our DSLR cameras. Sadly we did not find a project which is able to deliver this - so the self-o-mat project was born.

Since then, a lot has changed: We have found that many of you share the same view: Building a photobooth should be easy! Therefore we have created a photobooth kit which is now available at: You can of course just use the open-source software and build your own full-featured DIY-photobox for free.


"A Raspberry Pi® and a DSLR camera should be all that's necessary to build a high quality photobooth!" - This was the basic idea when we started designing the self-o-mat and it hasn't changed since: A DSLR camera and a Raspberry Pi® is all you need to get started!


Currently the self-o-mat software is a basic but stable and reliable software with the following features:

  • Live Preview - get a fluid live preview of the current shot
  • Full quality images - even with a Raspberry Pi® we're able to process large JPEG files and RAW images
  • High performance - no loading times or lags
  • Support for most DSL cameras and webcams - Just connect your existing camera
  • Live Image Printing - Connect any CUPS compatible printer and print each image directly. Great for giveaways at weddings!
  • Live Template Overlay - Want to use self-o-mat commerially? Brand your images with your own logo!
  • App Inclusive - update camera settings on the go. Just connect your smartphone and change settings live!

Supported Cameras

  • Cameras
    • Canon EOS 450D (no autofocus)
    • Canon EOS 5D Mark III
    • Canon EOS 600D
    • Nikon D7500
    • Nikon D7200
  • Printers
    • Canon Selphy CP 1200
    • Canon Selphy CP 1300
    • Mitsubishi CP-D70DW

How to get started?

Getting started with self-o-mat is simple. You just need to clone the git repository, install the dependencies, build the software and run it. If you're not sure how to do this, we provide a hardware kit which includes the precompiled software fully installed. Just plug and play: Get it here!


git clone --recursive

Hint: --recursive is required to clone git submodules.


Installation is simple - just follow these steps:

  1. Install the following dependencies: sudo apt-get install build-essential cmake libmagick++-dev libboost-all-dev libopencv-dev libsfml-dev libcups2-dev libprotobuf-dev protobuf-compiler libusb-dev automake autoconf pkg-config autopoint gettext libtool nasm libturbojpeg0-dev

  2. Get libgphoto2:

git clone
cd libgphoto2
git checkout tags/libgphoto2-2_5_22-release
autoreconf --install --symlink
sudo make install
sudo ldconfig
  1. Build self-o-mat
cd self-o-mat
mkdir build
cd build
cmake ..
  1. Edit settings.json to match your setup

  2. Run self-o-mat

#setup your installation
cd <source dir>

Now what?

So now you're running the self-o-mat software and your photoboot is technically done. Just add a trigger mechanism and put it in a box. For better image quality, add a flash to your box. If you want to get started quickly, we have created some components for you:

The Controller

You'll need a controller to trigger the image capture. Basically you have two options: The self-o-mat controller or a DIY solution.

The self-o-mat Controller Board

The self-o-mat controller board is a simple add-on to the Raspberry Pi® which is able to control the photobooth for you:

  • Connect any button to the board to trigger the capture. You can use an arcade button, a large buzzer, a coin slot or any other switch as trigger.
  • Tell the user the exact moment when the photo is taken: Just connect an Neo Pixel LED ring or strip for a count down animation before the trigger.
  • The LED ring flash connector can be used to connect our LED flash. It is triggered to illuminate pictures with a soft light for perfect pictures. The flash brightness and duration can be set through the self-o-mat software.
  • Connect a 7-15V DC power supply to the power input of the board and it will power the Raspberry Pi® for you. The booard has an Arduino compatible processor which is able to switch the power. So the Raspberry Pi® can shut down gracefully and turn its own power off.
  • The board has switched power outputs. Just connect additional components which should be switched with your photobox. For example a screen or an LED flash could be connected. As soon as the booth is powered the outputs will be powered as well.

You can Get the controller board here!

The DIY Solution

Self-o-mat is triggered by sending commands to the serial console. In order to trigger the software, use any Arduino board and write the trigger signals to the serial port. Serial settings and protocol can be adjusted in the software.


Every photobooth should have a flash for best possible images. If you already own a flash, you're done. Just connect it to your DSLR camera! If you need a customized solution which can be configured via the self-o-mat app read on.

We have created a beatuiful LED Ring flash which features over 100 high CRI LEDs for perfect color accuracy. Just power the flash and connect it to the Raspberry Pi® (or to our self-o-mat controller board) and the software will flash it during image capture. You can Get the flash here!

You can’t perform that action at this time.