Introduction: Documentation Photo Booth

Here is a project I put together while working at the Center for Engineering Education and Outreach at Tufts University. After spending time thinking about how to better document student work, I aimed to create a tool that motivated students to document their own work. What better way than with a photo booth.

By its fun and interactive nature, the Documentation Photo Booth Motivates students to document their own work. A student or team enters the booth with a project, and the device will walk them through taking pictures and writing descriptions of their work. The booth will ultimately provide printouts to the team, as well as storing the data in the cloud (currently on Google Drive) for teachers and evaluators to examine.

The following project details how to put together your own Documentation Photo Booth, But one could easily change the prompts and pictures to suit one's needs.

Enjoy. You can find a bit more information here


  • Full Photo Booth technology for under $150
  • Provides physical print outs and saves images to the cloud (Google Drive)
  • Runs in offline mode, saving pictures locally, and then uploads pictures when reconnected to the internet
  • Runs in sans printer mode, saving pictures to the cloud
  • Useful tool for classrooms, encouraging students to document their work

Step 1: Materials

In order to create your Documentation Photo Booth you'll need:

  • Raspberry Pi (I used the Raspberry Pi 2 Model B)
  • Wifi Dongle
  • PiCamera
  • Keyboard
  • Monitor
  • Cannon Selphy 1200 printer (though older models should work)

Step 2: Raspberry Pi Setup

Follows these directions to get your PhotoBooth up and running (should take about 20 min)
  1. Boot up your raspberry pi and connect to a wifi network
  2. Head into the Pi configurations via terminal by typing: sudo raspi-config
    1. Change the 'Boot Options' to 'Desktop Autologin'
    2. Enable Pi-Cam (this will force you to reboot)
  3. Download the necessary packages via terminal
    1. Netatalk (for File Transfer)
    2. Image Module (for image manipulation)
    3. Cups (for Printing)
    4. GitHub (to download code)
      1. sudo apt-get install netatalk python-imaging python-imaging-tk python-cups cups git-core
      2. This will take 5 minutes or so, so watch this while your waiting.
  4. Give 'pi' user permission to print
    1. sudo usermod -a -G lpadmin pi
  5. Download photo booth scripts:
    1. in your home directory: git clone git://
  6. Set Up Google Drive Permissions:
    1. Set up API for Google Drive:
      1. sudo pip install --upgrade google-api-python-client
        1. Follow steps in 'Step 1' to download client_secret.json file
          1. It may be easier to do this on your personal computer and then copy the json file to your RPI via Netatalk
        2. Place client_secret.json in your DocPB directory
        3. In terminal, run python
          1. navigate to web browser to give permissions

    Step 3: Set Up Printer

    First, ensure that your printer (Cannon Selphy) and raspberry pi are on the same network.
    Now, open the browser on your RPI and navigate to the Cups page,

    • Ensure RPI and Canon Selphy are connected to the same Wifi network
    • Click the administration tab
    • Click 'Add Printer'
    • Find Canon Selphy in the Discovered Network Printers tab, and click continue
    • On the Add Printer Page, click continue
    • On the following page, you'll need to upload a driver
      • wait until the page loads all of the drivers (may take a couple minutes)
      • click 'Choose File' to provide a PPD file
      • Choose file Canon_CP910.ppd
      • Ensure the printer name conains the word 'SELPHY', Click 'Add Printer'
      • Click 'Set Default Options'
      • You're Done!

    Step 4: Edit Settings and Run

    Edit the Settings for the Documentation PhotoBooth by editing the settings.txt file.

    • In the DocPB folder type: sudo nano settings.txt
    • Here you can easily change:
      • Folder Names
      • countdown timer
      • Whether you want it to run sans internet
      • whether you want to print photos
      • whether you want your photos to have a caption
    • type ctrl+x and then y then enter to save and quite
    • type python to run photo booth program

    Note: It takes a few seconds to load. And Depending on your network, it may take a few seconds to send the file from the RPI to the printer.

    Now follow the prompts on the screen to take and compile your photos. The photo booth now will be able to both print and save to Google Drive your print outs!