PhotoBooth : un photomaton DIY !

J’ai conçu cette photobox pour remettre la photo au cœur des moments partagés — sans cloud, sans internet, sans complication. Mariage, anniversaire, fête de village, événement associatif : l’objectif est toujours le même — offrir un souvenir spontané, accessible à tous.
Un seul bouton physique suffit : un compte à rebours s’affiche, la lumière s’allume, la photo est prise et affichée immédiatement en plein écran. Aucune application, aucun Wi-Fi, aucune compétence technique requise.
Conçu pour fonctionner partout, en toute autonomie, sans collecter ni transmettre la moindre donnée.
Photomaton Raspberry Pi – Modulaire, autonome et prêt pour vos événements
🎯 Objectif du Projet
Concevoir un photomaton autonome, léger et simple d’usage, capable de capturer les souvenirs d’un événement — mariage, anniversaire, réveillon, soirée entre amis, fête d’entreprise — sans dépendre d’aucune connexion internet ni d’un ordinateur externe.
Le système repose sur un Raspberry Pi 3B+ couplé à une Pi Camera v2.1, sous Raspberry Pi OS Lite 32 bits : une base matérielle abordable, fiable, et facilement reproductible.
Un bouton. Un écran. Un sourire.
🌟 Pourquoi c’est idéal pour une soirée
Aucune box Wi-Fi, aucun smartphone, aucune application. La photobox fonctionne de manière entièrement autonome et s’intègre discrètement à n’importe quel événement.
L’interaction est volontairement réduite à l’essentiel : un bouton physique, un compte à rebours, un flash — et la photo s’affiche immédiatement en plein écran. Chaque cliché est automatiquement sauvegardé en double : carte SD et clé USB.
Accessible à tous, y compris aux personnes peu à l’aise avec la technologie. Et en cas de problème, la solution est prévue : une carte SD de secours préconfigurée permet de redémarrer le système en 15 secondes.
🧱 Matériel utilisé
Le projet privilégie les composants abordables, récupérables ou disponibles d’occasion — sans compromis sur la fiabilité.
- Raspberry Pi 3B+ (lien Amazon, trouvable pour 30 € sur des sites de petites annonces d’occasion.)
- Pi Camera v2.1 (capteur OV5647) : lien Amazon
- Écran HDMI 20″ (récupéré ou d’occasion)
- Carte microSD 32 Go (Acheter sur Amazon)
- Clé USB 16+ Go (sauvegarde automatique) (Lien Amazon)
- Bouton mécanique + impression 3D (type arcade)
- Micro-switch V-155-1C25 (lien Amazon)
- Prise Wi-Fi Tuya flashée Tasmota (gestion du flash LED 220V) (Acheté chez Action et hack avec tuya-cloudcutter : https://github.com/tuya-cloudcutter/tuya-cloudcutter )
- Spot 220V 50W – Pour la photo, un éclairage proche de la lumière du jour (environ 5500K) garantit des couleurs naturelles et équilibrées. J’ai choisi la récup : un spot d’extérieur de terrasse trouvé dans mes tiroirs, parfait pour l’usage.)
Le choix du spot à 5500K est intentionnel : cette température de couleur, proche de la lumière du jour, garantit des teintes naturelles et équilibrées sans post-traitement.
🔌 Consommation électrique
- Max : 74 W (flash activé)
- Min : 24 W (veille hors capture)
- Conso moyenne estimée : 28 Wh
- Coût horaire (2025 – tarif 0,25 €/kWh) : ~0,01 €
📂 Fonctionnement général
Le système démarre seul et ne nécessite aucune intervention : dès la mise sous tension, l’interface se lance automatiquement et l’aperçu vidéo s’affiche en plein écran.
Le cycle complet, de l’appui au bouton à la photo affichée, se déroule en six étapes :
- Démarrage automatique de l’interface au boot
- Aperçu live MJPEG affiché sur l’écran HDMI
- Déclenchement exclusivement via le bouton GPIO physique
- Compte à rebours visuel + activation du flash
- Capture et affichage instantané de la photo
- Sauvegarde automatique en double — carte SD et clé USB
Aucune action manuelle n’est requise entre deux prises.
🎨 Interface utilisateur (non tactile)
L’interface est développée en HTML/CSS/JS et pilotée par des scripts Python. Elle s’exécute entièrement en local, en plein écran, sans navigateur externe ni connexion réseau.
Volontairement non tactile — c’est un choix de conception assumé, au profit de la simplicité et de la fiabilité. Un seul point d’entrée : le bouton physique.
Elle intègre :
- Un aperçu live en temps réel (flux MJPEG)
- Un compte à rebours dynamique avant la capture
- L’affichage plein écran de la photo prise
- Un thème graphique personnalisable selon l’événement (rétro, festif, épuré…)
🤖 Composants logiciels
OS & Services
- Raspberry Pi OS Lite 32 bits (Debian 11)
- Apache2 (serveur local avec CGI activé)
- Automatisation au démarrage via
rc.localousystemd
Scripts Python
- Capture photo avec
picamera2 - Le flux vidéo MJPEG est généré en direct par la caméra Pi v2.1, sans enregistrement ni traitement sur la carte SD.
Cela garantit une utilisation fluide tout en préservant la durée de vie de la carte SD, car aucune écriture continue n’est effectuée en arrière-plan. Le système reste réactif, léger, et adapté à un usage prolongé en événement. - Gestion GPIO avec
RPi.GPIOetgpiozero - Contrôle flash via
requests(commande HTTP) - Sauvegarde, nettoyage automatique, diagnostics
🔧 Données techniques clés
- Temps de boot : ~15 s
- Capture : ~2 s (résolution native)
- Flux live : < 100 ms de latence (MJPEG)
- RAM utilisée : ~300 Mo
- Température : 35–55 °C
Services activés
sudo systemctl enable apache2
sudo systemctl enable ssh
sudo systemctl enable camera
sudo systemctl enable preview_loop
Répertoires principaux
/var/www/html/photomaton/
├── index.php # Interface
├── photos/ # Captures JPG
├── cgi-bin/photo.py # Capture
├── cgi-bin/stream_mjpeg.py# Flux vidéo
└── theme/retro/ # Thème graphique
🧠 Conception et philosophie
La Photobox NLion repose sur trois principes non négociables : simplicité d’accès, fiabilité, et autonomie totale. Aucune donnée n’est collectée, transmise ou stockée en ligne — tout reste en local, sur la machine.
Logiciel Scripts Python légers et modulaires, interface sans cloud, nettoyage automatique des fichiers corrompus ou anciens. Le système se gère seul.
Matériel Boîtier imprimé en 3D avec ventilation active discrète. Le flash 220V est piloté via une prise Tasmota en HTTP local — aucune application tierce, aucune dépendance externe.
Domotique La prise Tuya flashée sous Tasmota permet un contrôle total en local : commandes HTTP directes, synchronisation flash/déclenchement en temps réel, sans cloud Tuya.
Évolutions envisagées
- Impression directe via imprimante thermique USB
- Filtres photo en live (OpenCV)
- Mode rafale
🧭 Pour aller plus loin
Le système a été pensé pour être reproductible :
- Tous les composants sont abordables ou récupérables
- Le code est modulaire et peut être adapté facilement
- Aucune compétence avancée en Linux requise : les scripts démarrent automatiquement, les erreurs sont gérées, et la prise de photo fonctionne tant que le bouton est branché
✅ Fin du projet
✅ État du projet
La Photobox est fonctionnelle et testée. Un seul bouton, aucun menu, aucun écran tactile, aucune configuration : tout le monde peut l’utiliser, sans mode d’emploi.
Le boîtier physique est en cours de finalisation — quelques impressions 3D restent à réaliser, une couche de peinture à appliquer, et le support du flash ainsi que le diffuseur sont encore à optimiser. La version finale est proche.



Optimisation de la PiCam pour un Photobooth
La caméra est configurée avec des réglages spécifiques afin d’obtenir un compromis idéal entre vitesse, netteté et qualité d’image, quel que soit l’environnement de prise de vue.
Configuration de la PiCam (v2.1)
- Résolution :
- PiCam v2.1 → 3280 × 2464 (8 MP, format 4:3)
- Framerate : 30 images/seconde pour une bonne réactivité
- Metering mode :
matrixafin d’analyser l’ensemble de la scène, plus fiable queaverage - Dynamic Range Compression (DRC) :
highpour protéger les hautes lumières
Réglages image appliqués :
- Luminosité : 50 (équilibré)
- Contraste : 10 (plus de relief)
- Saturation : 5 (couleurs naturelles, non saturées)
- Netteté : 15 (limite le bruit tout en gardant du détail)
- Denoising (si disponible) : activé pour réduire le bruit numérique
- Compensation d’exposition : -2 afin d’éviter la surexposition
Détection et adaptation automatique
Le script analyse en temps réel la vitesse d’exposition (exposure_speed) calculée par la caméra et ajuste automatiquement les paramètres :
- Très lumineux (plein soleil) → ~1/400s, ISO 100
- Lumineux → ~1/200s, ISO 100
- Normal → ~1/100s, ISO 100
- Faible lumière → 1/100s, ISO 200
- Sombre → 1/50s, ISO 200
- Très sombre → 1/33s, ISO 400 max
👉 L’objectif est de trouver le meilleur compromis entre netteté (éviter le flou dû aux mouvements) et qualité d’image (réduction du bruit lié aux ISO élevés).
Balance des blancs et flash
- AWB : réglée en mode flash lorsqu’un éclairage additionnel est présent, sinon en mode auto.
- Avant la capture, l’exposition passe en mode manuel afin de figer les réglages et éviter toute variation au déclenchement du flash.
Capture et sauvegarde
Les photos sont enregistrées en JPEG qualité 92%, un réglage qui offre un compromis optimal entre :
- qualité visuelle,
- taille de fichier raisonnable,
- rapidité d’écriture (essentiel pour un photobooth).
Conditions d’utilisation de la Photobox : https://nlion.fr/photobox/
📩 Contact : nlion.fr / contact@nlion.fr
NLION – Photomaton DIY v1.0