Tophealth, later rebranded as TopBrewer, is a versatile vending machine designed to prepare beverages through programmable settings. The machine’s interface allows assistants to control various parameters, such as the time needed to heat or cool drinks, and dosage timing for pouring.
The project was passed to us by a manager/technician from Scanomat.com, with the goal of developing two Flutter applications to control the machine and interface with customers’ mobile apps.
Key Features and Solutions:
- Embedded Linux Application with Serial IO/UART Communication: We developed a Flutter application that runs on an embedded Linux device. This application communicates with the vending machine’s hardware through Serial IO/UART, allowing real-time control of drink preparation. The machine’s proprietary protocol supports both function calls and data streams, which we successfully implemented within the Flutter app.
- Mobile App Integration via BLE: The second Flutter app was designed to establish a Bluetooth Low Energy (BLE) connection with the customer’s mobile app. This allows users to send orders directly to the machine, as well as receive updates or notifications. The communication between the vending machine and mobile app is seamless, ensuring a smooth and intuitive user experience.
- Proprietary Communication Protocol: The vending machine’s proprietary communication protocol posed a challenge, as it required implementing both function calls and handling continuous data streams. We worked within these specifications to enable reliable, real-time interaction between the device, embedded app, and mobile app.
Outcome and Results:
The project, now known as TopBrewer, has evolved into a smart coffee brewing machine. By integrating Flutter with embedded systems and mobile BLE communication, we created a flexible and efficient solution that allows users to order and customize drinks via their mobile phones. The system is now widely used in coffee brewing, offering a modern, automated solution for beverage preparation.