Overall Description

Product Perspective

A thermostat based two-point controller is even today frequently used in espresso machine designs. This controller type lacks accuracy and repeatability when pulling espresso shots. In this demonstration application the aim is first to upgrade an existing espresso machine by replacing its electronics and electric components, and secondly to implement a control and monitor firmware using the Bern RTOS. The application must be easy to understand in order to showcase the real-time capabilities of the RTOS.

The components of the demo application are shown in the figure below.

FW components Espresso machine firmware components

The aim is to use preexisting libraries for drivers, network stack and graphics to reduce development effort. A library written in C can be used, if it provides a more functionality than its Rust alternative, or if there is no Rust library.

For this demonstration application a Racilio Silvia single-boiler espresso machine will be used. The figure below shows the fluid components after modification providing an overview of the actuators and sensors.

Fluid path Espresso machine fluid diagram (overpressure valve omitted)

The Rancilio Silvia controls the brewing temperature based on thermostats without any electronics. The following sensors will be added for the electronic controller:

  • Temperature sensors
  • Pressure sensor
  • Flow meter

Product Functions

The espresso machine provides features to:

  • Brew coffee
  • Display brewing profile (temperature, pressure, time)
  • Log machine state to a server over a local network

User Personas

  • Coffee Drinker: The goal of a coffee drinker is to get a good and easy to make coffee in the morning. They expect simple control elements and feedback of the brew.

  • Manufacturer: Companies producing espresso machines want feedback on how their machines are used to improve on future products.

  • Student: Students can use the espresso machine hardware to develop their own firmware. They expect a thorough documentation and enough flexibility to implement their own project ideas.

Operating Environment

The first iteration of the hardware is based on an STM32F7 microcontroller board from the Bern University of Applied Sciences. The espresso machine will be used solely in the lab and exhibitions.

User Documentation

The espresso machine documentation consists of:

Assumptions and Dependencies

Sensors

It is assumed that the following sensor are accurately enough for a consistent brew:

  • RTD temperature sensor on the outside of the boiler (perhaps a temperature can be placed in the brew chamber)
  • Flow meter can detect small steps in water flow and is not affected by jitter created by the vibration pump
  • Pressure sensor can be placed at brew head to measure the relevant water pressure

Bern RTOS

The Bern RTOS must provide all the necessary features to develop this real-time application and should not introduce bugs to the system.

HAL

This demonstration is focused on the application of Bern RTOS. It is assumed that the Rust HAL already include most of the hardware support used in this project.