arrow_back All case studies
Retail / Kiosk

Connected Vending Kiosk

Flutter UI on Raspberry Pi + cloud sync

A cloud-connected vending-machine kiosk on Raspberry Pi — a Flutter UI running full-screen in locked single-app mode, backed by a native peripheral-control layer that drives the machine's hardware and keeps inventory in sync with the cloud.

Single-app
Locked kiosk mode
Live sync
Inventory to cloud
Native
Flutter replaced Chromium
Client
An intelligent-vending company (name withheld — NDA)
Delivery
Delivered by our founder at IoTech Designs
Role
Architect & developer — full kiosk stack
Timeline
2019 – 2021

Stack

Raspberry Pi (Linux) Flutter C + Python control layer WebSocket IPC GDBus / BLE Cloud REST bash

help The problem

A vending machine needs a kiosk that feels as polished as a phone app, but that UI also has to reach down and physically run the machine — motors, refrigeration, heater, drop and weight sensors — reliably and safely. This one added a twist: it had to stay in sync with a cloud backend for inventory rather than running as an isolated island.

build What we built

  • A Flutter kiosk UI on Raspberry Pi booting full-screen into locked single-app kiosk mode, with install and autoboot handled by bash scripts so the device comes up as an appliance, not a desktop.
  • A UI that evolved from PoC to production: the PoC ran Flutter in Chromium kiosk mode over WebSocket IPC, production moved to native Flutter on the Pi, dropping the browser overhead.
  • A native peripheral-control layer in C and Python driving dispense motors, refrigeration, heater and drop/weight sensors, exposed to the UI through clean peripheral APIs.
  • BLE peripheral support on Raspberry Pi (and Pine A64) via GDBus for local device interaction.
  • Cloud connectivity closing the loop — fetch live inventory, build a cart, dispense, then write updated inventory back, keeping every machine continuously in sync.

check_circle The result

  • done A complete connected-vending kiosk: app-grade UI, robust hardware control and cloud-synced inventory on affordable SBC hardware.
  • done Full-stack embedded-Linux product development plus the system engineering — single-app lockdown, autoboot — that turns a Raspberry Pi into a shippable appliance.