Photo Booth logo

Photo Booth beta

A Raspberry Pi powered Photo Booth

This package uses the Raspberry Camera Module to capture four pictures with a visible countdown. Once captured, all four images are shown for a configurable duration and can be optionally be uploaded to an external web service for post-processing. This server can then return an additional transparent PNG file that will overlay the four photos.

The capture sequence is triggered by GPIO. So you can wire it to a button or other hardware.

A playlist of videos and images is constantly looped while the device is idle.

Hardware setup

The photo sequence is triggered by GPIO. Have a look at the GPIO demo package for an example of how to connect a button to GPIO pin 18:


Demonstrate GPIO integration

Integration into your backend

If you specify an upload url, the device will upload all four images in a single POST request to the url. In your server code you can then store or otherwise do post-processing on the images. Your service should return a transparent PNG file as a response. This image is then added on top of the four photos. This allows you to augment the output - for example by overlaying a QR code where the user can download their photos.

This package includes an example server in that shows how this works. You might want to use a secret url (instead of /upload) and HTTPS for handling upload requests.

Want to run Photo Booth on your Raspberry Pi?

This package is ready to run on your Raspberry Pi using hosted. Easily manage unlimited number of Raspberry Pi devices and centrally configure and run visualizations like this on them. is a prepaid service. You only pay for the resources you are using. No long term commitment, no hidden fees. Learn more...

Compatible devices

pi-1 pi-2 pi-3 pi-cm1 pi-cm3 pi-zero pi-zero-2

Offline support

Maybe This package might work offline: Package provides no offline support information. Also check the information above.

Source code for this package shows you the full source code of this package so you can freely modify it if you want.