Open Kiosk

Borne murale noire à écran tactile vertical qui affiche des produits d'épicerie, un ticket sortant de l'imprimante logée sous l'écran.

Borne de caisse murale sur LattePanda MU et ESP32

Open Kiosk est une caisse enregistreuse à fabriquer soi-même pour un petit commerce. Un LattePanda MU (carte x86) fait tourner l'application de vente sur un écran tactile de 7 à 15 pouces, un Seeed Xiao ESP32 S3 pilote une imprimante thermique de 58 ou 80 mm, et un boîtier imprimé en 3D tient l'ensemble. Le projet vise les commerçants qui veulent un poste d'encaissement avec ticket sans abonnement à un éditeur de caisse. Le dépôt Open-Kiosk contient le boîtier et le firmware ; l'interface React est dans Open-Kiosk-App.

Boîtier en sept fichiers STL et caisse avec suivi du stock

  • Le boîtier est livré en sept fichiers STL : coque, capots, cache d'imprimante, aération latérale, clip de bouton et support d'alimentation.
  • L'application gère le catalogue et son stock, le panier, l'historique des commandes avec réimpression et des rapports de ventes exportables en CSV.
  • Taux de taxe, numéro fiscal et devise se règlent à l'installation.
  • La recherche de produits accepte la voix, par l'API de reconnaissance vocale du navigateur, et des étiquettes saisies selon la prononciation locale.
  • Le matériel est facultatif : sans ESP32, l'application tourne sur un PC et imprime sur l'imprimante du système.
  • La certification OSHWA, identifiant IN000074, date du 3 juillet 2025.

Données chez Firebase, ticket thermique en roupies

Le projet promet une caisse à 250 dollars, sans contrat de maintenance. Sa fiche OSHWA l'annonce « sans coût logiciel, sans AMC » (contrat de maintenance annuel), constructible pour 250 dollars ou utilisable sur un simple PC. Le README matériel demande des notions d'électronique et l'accès à une imprimante 3D ou à un service d'impression.

Les données vivent dans Firebase, chez Google. L'installation demande les clés d'un projet Firebase, et produits comme commandes sont enregistrés dans Firestore (src/services/firebase.ts). Le fonctionnement local « sans hébergement » qu'annonce le README de l'appli vaut pour l'interface, pas pour la base.

L'administration n'a pas de mot de passe. L'écran d'accueil de l'appli propose deux cartes, « Admin Panel » et « Customer Shop ». La première ouvre la gestion des produits, des prix et des rapports sans rien demander (src/pages/Index.tsx), archive publiée comprise. Un composant de mot de passe existe dans le code, mais aucun écran ne l'affiche.

Le ticket thermique est réglé pour l'Inde. Le firmware de l'ESP32 (ThermalPrinter.ino) écrit « INR » en dur après le total et lit les montants comme des entiers. Le ticket de secours, imprimé par le navigateur, affiche bien la devise choisie avec deux décimales. La reconnaissance vocale est fixée sur l'anglais américain (en-US).

L'archive publiée se lance sous Windows, avec Python et Chrome. Son launch-kiosk.bat exécute python -m http.server 8080 puis ouvre Chrome en mode borne, avec un chemin de dossier écrit en dur à corriger à la main. Le ticket part ensuite du navigateur vers l'ESP32 par l'API Web Serial, à 9600 bauds. Le README matériel attribue pourtant cette liaison à Python et PySerial, et cite des tests Jest absents du package.json.

Aucun des deux dépôts n'a de fichier de licence. Les README annoncent CC BY-SA sans version pour le matériel et MIT pour l'appli. La fiche OSHWA indique matériel « Other », logiciel MIT, documentation CC BY-SA.

Une seule version, la v1.0.0 du 23 juin 2025. L'archive jointe date du 10 juillet 2025, jour du dernier commit de code de l'appli. Le dépôt matériel n'a reçu depuis que deux images et des retouches de README, la dernière le 26 mars 2026. Le package.json garde le nom et la version du gabarit de départ (vite_react_shadcn_ts, 0.0.0). Le tiroir-caisse, l'afficheur client et le lecteur NFC listés en options n'ont de code dans aucun des deux dépôts.

SOURCES

DÉPÔThttps://github.com/MukeshSankhla/Open-Kiosk
LICENCECC-BY-SA