Skip to content
hallboyone edited this page Oct 5, 2022 · 4 revisions

Welcome to the RaspberryLatte project! The goal of the project is to develop and maintain a low-cost solution to improve single boiler espresso machines such as the Gaggia Classic. Its key features are

  1. PID boiler control
  2. Automatic preinfusion
  3. Flow control
  4. Mobile based GUI (TODO)
  5. Brew diagnostics and troubleshooting
  6. Less than $100 for all hardware components
  7. Minimal external changes.

Project Structure

The project includes custom hardware, firmware, and software. This provides a natural separation into the following groups.

Hardware

The custom hardware includes new sensors and switches installed within the espresso machine, and a custom PCB carrying the MCU and peripheral hardware. The only visible hardware changes are a 4-throw dial to select the machine's mode (auto, manual, hot water, or steam), and an option OLED display. Only basic tools are required to make the hardware changes. However, since modification requires working with line-voltage, a certain level of skill and care is required to ensure the project is a success.

More details about the hardware can be found here.

Firmware

The firmware is written in C and runs on the Raspberry Pi Pico W. Each src file can be broadly split into three groups:

  1. Hardware interface: Abstract basic operations with the Pico's hardware. For example, the binary_input source sets up a group of GPIO pins as inputs and reads them as a multi-throw switch.
  2. Sensor/driver interface: Code specific to a certain sensor or output used in the project. For example, the nau7802 source sets reads from the NAU7802 Wheatstone Bridge amplifier for the scale readings.
  3. Logic function: Defines how the machine will actually operated. For example, the pid source defines a PID controller that is used to control the boiler. The Pico uses the RP2040 MCU which is a 2-core system. Everything mentioned above runs on core 0. This leaves core 1 open for future networking requirements.

More details about the software can be found here.

Mobile UI (TODO)

To keep the machine's stock look and keep the hardware cost down, the on-board UI was kept very primitive. This will be offset by a mobile UI that connects to the custom hardware over Bluetooth. This will allow the operator quickly tune brew parameters, visualize their shot's characteristics in real time, and troubleshoot any issues they may be having. This part of the project is pending the addition of BLE support to the Pico's SDK.

Clone this wiki locally