xtech / self-o-mat

self-o-mat is an open source software for your DIY photobooth!
https://self-o-mat.de
MIT License
53 stars 8 forks source link

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:

Supported Cameras

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
  3. Build self-o-mat

    cd self-o-mat
    mkdir build
    cd build
    cmake ..
    make
  4. 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'

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

  6. 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:

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!