Overview
This Fırat University embedded-systems project organised coffee preparation as a modular control sequence around a Raspberry Pi. The system connected higher-voltage and low-voltage actuator stages with a local user interface, while its software structure supported maintainable preparation logic and headless iteration.
The documented implementation used relays for a 220 V AC boiler and a 12 V DC pump, PWM-controlled servos for coffee and milk dispensing, a 16×2 LCD with keypad selection, and SSH over Ethernet for remote debugging and software updates.
System architecture
The Automated Coffee Preparation System was designed as a coordinated embedded-control prototype rather than a collection of disconnected devices. A Raspberry Pi served as the control core, connecting user selection, dispensing actuators, pumping, and heating-related stages within one modular software and hardware arrangement.
Control concept
The system was developed at Fırat University from May to June 2025. Its control software follows a modular object-oriented Python approach so that preparation stages and connected devices can be organised as distinct responsibilities. This structure supports changes to device behaviour without collapsing the sequence logic into one monolithic program.
Power and actuation integration
The documented electrical design separates the connected loads by function. Relay stages control the 220 V AC boiler and 12 V DC pump, while PWM servo actuators control the coffee and milk dispensing mechanisms. This division keeps the automation logic connected to the distinct electrical and mechanical behaviours required for the preparation sequence.
Local interaction and maintainability
A 16×2 LCD and keypad provide a compact local interface for selecting preparation options. For development and maintenance, the software can be reached through SSH over Ethernet, enabling headless debugging and updates without requiring a dedicated display or keyboard at the controller.
Documented outcomes
- Connected relay-switched boiler and pump stages with PWM dispensing actuators under one Raspberry Pi workflow.
- Organised preparation behaviour in modular Python rather than a single hard-to-maintain control script.
- Combined a practical keypad/LCD interface with Ethernet-based remote maintenance.
