Skip to content

Latest commit

 

History

History
60 lines (38 loc) · 3.05 KB

File metadata and controls

60 lines (38 loc) · 3.05 KB

Gesture-Controlled Photo Booth for Arduino VENTUNO Q

An interactive, self-contained Photo Booth for the Arduino® VENTUNO™ Q. The application recognizes hand gestures locally, uses them to select a themed photo frame, captures the result from a USB camera, and sends it to a CUPS-backed print server.

Created and maintained by Ernesto Voltaggio.

Download

Download the complete, ready-to-use package from the pinned release:

The release bundle contains the App Lab import archive, print server, kiosk setup and teardown scripts, kiosk launcher, and 3D-printable VENTUNO Q holder.

Features

  • On-device hand gesture recognition using the arduino:gesture_recognition Brick.
  • Portrait web kiosk built with the arduino:web_ui Brick.
  • Physical trigger button using an Arduino Nano ESP32 as a USB HID keyboard.
  • Asynchronous, request-ID-idempotent printing with explicit success/failure feedback from a host-side CUPS service.
  • Automatic login and full-screen Chromium kiosk configuration.
  • Reversible kiosk setup that snapshots pre-existing system state, plus a 3D-printable board holder.

Repository Structure

  • photo-booth/: App Lab application source, including the Python backend, web interface, gesture assets, and Nano ESP32 firmware.
  • print-server/: Host-side HTTP service and systemd unit that submit photos to CUPS.
  • kiosk/: Full-screen kiosk setup, launcher, and teardown scripts.
  • hardware/: STL file for the VENTUNO Q stand holder.
  • scripts/build-release.sh: Rebuilds the App Lab archive and complete release bundle.

Quick Start

  1. Download and extract photo-booth-bundle.zip from the release above.
  2. Import photo-booth-app.zip into Arduino App Lab.
  3. Install the service from print-server/ and confirm that CUPS can see the printer.
  4. Flash the Nano ESP32 firmware included in the application archive.
  5. Run sudo bash setup-kiosk.sh on the VENTUNO Q and reboot.

Detailed assembly, wiring, deployment, printing, kiosk, and troubleshooting instructions are provided by the accompanying Arduino application note.

Building the Release Bundle

Requirements: Bash, zip, and shasum.

./scripts/build-release.sh v1.0.0

The generated files are written to dist/ and are intentionally excluded from Git. Because the application note has not been published yet, corrected artifacts continue to use v1.0.0.

Security and Privacy

The print server listens on all interfaces without authentication and is intended for a trusted local network only. Uploaded photos are stored unencrypted; configure KEEP_UPLOADS according to the installation's retention requirements.

License

This project is distributed under the GNU General Public License v3.0. Bundled third-party components retain their respective licenses; see THIRD_PARTY_NOTICES.md.

Arduino, VENTUNO, and their logos are trademarks of Arduino SA. The license does not grant rights to use Arduino trademarks or branding.