Designing the System Hardware Architecture
- Haaris Ahmed

- Jan 25, 2021
- 2 min read
The CookMate system can be divided into two broad components – an automated system of sensors and actuators, and a human interface device that provides high-level control of the system and reports feedback to a user.
Both of these systems have different enough responsibilities and requirements that they should be designed as separate systems which interact with one another as needed.
From this point onward, the human interface device will be referred to as the ‘user interface controller’ and the controller responsible for the operation of the automated system of sensors and actuators will be known as the ‘system controller’.
SYSTEM CONTROLLER
The system controller is responsible for the physical execution of the recipe. It is responsible for using sensor-data (and other logic) to controller the system actuators (such as motors). To achieve these goals reliably, a real-time capable controller is required that can guarantee deterministic executions of tasks. An STM32F401RE nucleo micro-controller is suited to this task. This controller has sufficient I/O ports to satisfy the needs of the project and is compatible with a real-time operating system such as FreeRTOS.
USER INTERFACE CONTROLLER
The user interface controller is not a real-time sensitive device. Its main responsibilities lie in presenting an aesthetically pleasing user interface that conveys information about the state of the system and allows users to select different options. This user interface system will also be required to store recipes that can be used to command the system controller. To satisfy these needs, a controller with a platform that supports graphics applications is needed. It is also preferable for this controller to have a common file system already implemented. To satisfy these needs, a Raspberry Pi 3 controller was selected.
OTHER COMPONENTS
A number of sub-components would be needed to control the sensors and actuators connected to the system controller.
The diagram below shows a high-level overview of how these components would connect together





As a person that can't cook, I respect the vision