Skip to content

xtech/self-o-mat

Repository files navigation

The self-o-mat Project

Join the Discord server for self-o-mat discussion: HERE

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: https://self-o-mat.de. You can of course just use the open-source software and build your own full-featured DIY-photobox for free.

Basics

"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!

Features

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!

ℹ️ For more information, check the wiki here: https://github.com/xtech/self-o-mat/wiki

Clone

git clone --recursive https://github.com/xtech/self-o-mat.git

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

Installation

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 https://github.com/gphoto/libgphoto2.git
cd libgphoto2
git checkout tags/libgphoto2-2_5_22-release
autoreconf --install --symlink
./configure
make
sudo make install
sudo ldconfig
  1. Build self-o-mat
cd self-o-mat
mkdir build
cd build
cmake ..
make
  1. Tell your system which type of self-o-mat you are running. For development config use 'dev' by running: sudo bash -c 'echo "dev" > /opt/.selfomat.type'

  2. Edit settings/dev.json to match your setup. It should work with an Arduino Nano by default.

  3. Run the self-o-mat photo-booth software:

#setup your installation
cd <source dir>/build
./self_o_mat.app

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.

If you want to build your own controller board using an arduino, follow this Wiki article: https://github.com/xtech/self-o-mat/wiki/Controller-board

Flash

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!