Engineering · 2024

Robot Barista Store Operation App

Touch desktop app that turns kiosk orders into brewing commands for a collaborative robot

A store operation app that takes kiosk orders, directs a collaborative robot to brew them, and keeps the order queue, equipment status and consumable thresholds on one screen. Staff who never touch robot controls can open and close the store from the display alone.

Client
Confidential client
Category
Engineering
Main screen with the live order queue beside the manual order controls

Overview

  • Operation app for a store where a collaborative robot brews the coffee, driven from a touchscreen
  • Users: store staff on shift, plus technicians handling installation and service
  • End-to-end path: kiosk order received → queued → brewing command sent to the robot → per-cup progress shown → completion recorded
  • Four bottom tabs (Main, Open | Close, Settings, Alarms) plus a separate admin screen
  • Fixed full-screen layout for touch-only operation, with no keyboard required

Challenge

  • Robot responds only to fixed signals → orders cannot be passed through as-is, they must become brewing units
  • Store staff cannot operate robot controls directly → everything on site has to happen on the store screen
  • Dropped connections, restarts and aborted extractions occur during trading hours → order state must survive them
  • Beans and the knock box are refilled and emptied by hand → the screen has to flag replacement first
  • Opening and closing checks drift from person to person → the screen has to fix the order

Solution

  • Two intake paths: automatic kiosk orders and manual orders placed by staff
  • Manual order built from caffeinated or decaf, single or double shot, and quantity
  • Kiosk link toggled on and off during trading hours → manual operation continues while the kiosk is serviced
  • Matching menu on the latest waiting order merged up to 99 cups → keeps the queue from filling with the same drink
  • Queue showing up to 15 waiting and 5 completed orders, with per-cup progress alongside
  • Per-order cancellation for waiting items, plus a full queue reset when orders pile up
  • Continuous extraction without a set quantity, and an immediate stop
Main screen with the order queue next to the manual order controls
Main screen

System architecture

Order flow

  • Kiosk or manual entry → queued → brewing command to the robot → per-cup progress updated → completion or abort recorded

Screens

  • Main: order queue and order controls
  • Open | Close: opening and closing checks with equipment status
  • Settings: consumable usage counts and replacement thresholds
  • Alarms: error history
  • Admin: equipment signals and connection settings for service work

Implementation

  • Command sent → receipt confirmed → command cleared → completion signal exchanged → no duplicate brewing, no lost commands
  • On restart, waiting orders restored, and any job the robot was still reporting on finished first before normal operation resumes
  • Dropped connection retried automatically, with the drop written to the alarm history
  • Counts for grinders, knock box and espresso machine raised at the start of every cup, with a full-screen notice at the threshold
  • Errors turned into coded guidance on a full-screen notice that stays until cleared → empty cup, missing portafilter, collision stop, emergency stop, lost connection
  • Opening and closing checks laid out over eight illustrated steps, with portafilter, knock box, conveyor sensor, servo and emergency stop states shown beside them
  • Closing posture blocked while brewing → no collision from moving the arm mid-job
  • Numbers and addresses entered on an on-screen keypad → suits store installations without a keyboard
  • Equipment signal settings read back from the robot on connection → screen values never drift from the equipment
Opening checklist screen with eight illustrated steps and live equipment sensor states
Opening checklist

Result

  • Staff open, run and close the store from the display alone, never through robot controls
  • Kiosk orders reach the robot without passing through anyone's hands
  • Errors during service come with their cause and remedy on screen, and the past history stays available
  • Bean and knock box replacement tracked by usage count rather than by feel
  • Waiting orders survive restarts and dropped connections, so service continues uninterrupted
  • Technicians adjust equipment signals and connection settings on site from the screen
Settings screen showing consumable usage counts and replacement thresholds
Settings

Technology

  • Python
  • wxPython
  • Modbus TCP
  • SQLite
  • asyncio
  • Pillow

Screens

Have a problem that needs solving?

From software development to equipment integration and engineering, we can work out the approach that fits what your project needs.

Discuss a project