explaingit

sc00bs110/linea-mini-controller

Analysis updated 2026-05-18

5C++Audience · developerComplexity · 4/5Setup · hard

TLDR

An ESP32 touchscreen controller that replaces a specific espresso machine's control panel, adding brew-by-weight and smart home features.

Mindmap

mindmap
  root((Linea Mini Controller))
    What it does
      Replaces stock control panel
      Live temperature display
      Brew-by-weight via BLE scale
      Home Assistant integration
    Tech stack
      C++
      ESP32-S3
      LVGL UI
      PlatformIO
    Use cases
      Automate espresso brewing
      Track cleaning cycles
      Connect machine to smart home
    Audience
      Hobbyist makers
      Espresso enthusiasts
      Embedded developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace the stock control panel on a La Marzocco Linea Mini with a touchscreen.

USE CASE 2

Automatically stop an espresso shot at a target weight using a Bluetooth scale.

USE CASE 3

Get reminders for cleaning cycles based on shot count.

USE CASE 4

Integrate the espresso machine into Home Assistant for smart home control.

What is it built with?

C++ESP32-S3LVGLPlatformIOMQTT

How does it compare?

sc00bs110/linea-mini-controllereyrefree/gobanggusocosta/esp32_mp3_player
Stars555
LanguageC++C++C++
Last pushed2016-05-16
MaintenanceDormant
Setup difficultyhardmoderatemoderate
Complexity4/52/53/5
Audiencedevelopervibe codergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires specific hardware (ESP32-S3, a particular touch display), wiring into the espresso machine, and PlatformIO setup.

In plain English

This is a hobby electronics project that builds a custom touchscreen controller for a specific home espresso machine, the La Marzocco Linea Mini. It replaces the machine's stock control panel with a 3.5 inch color touchscreen that adds features the original panel does not have. The controller connects to the espresso machine's existing control board through its original wiring connector, using the same communication protocol the factory panel already uses. The maintainer figured out this protocol by listening in on the traffic between the stock panel and the machine, then rebuilt it from scratch. Because it plugs into the existing connector, no changes to the machine's own electronics are needed, and the original panel can always be put back. Once installed, the touchscreen shows live boiler temperature, target temperature, and shot timing. It can pair with a Bluetooth kitchen scale to automatically stop a shot once a target coffee weight is reached, accounting for a bit of drip afterward. It tracks how many shots have been pulled since the last cleaning cycle and reminds the owner when it is time to backflush the machine, and it can be scheduled to automatically wake up and go to standby at set times each day. It also connects to Home Assistant, a home automation system, so the machine's temperature, brewing state, and controls can show up alongside other smart home devices. The device can update its own firmware over the internet by checking this project's GitHub releases, or over a local network for faster testing during development. The hardware is built around a specific ESP32 microcontroller board and a specific touchscreen display module, both named in the README along with wiring instructions. Building the firmware requires installing PlatformIO and setting your own WiFi and network credentials before compiling. The project warns that it connects directly to a mains powered heating appliance, so bugs could cause unexpected behavior, and it is not affiliated with or supported by La Marzocco.

Copy-paste prompts

Prompt 1
Walk me through building and flashing this firmware to an ESP32-S3 using PlatformIO.
Prompt 2
Explain how the GICAR protocol driver talks to the espresso machine's stock control board.
Prompt 3
Help me set up secrets.h with my WiFi and MQTT credentials before compiling this project.
Prompt 4
Show me how the brew-by-weight feature pairs with a Bluetooth scale to stop a shot automatically.

Frequently asked questions

What is linea-mini-controller?

An ESP32 touchscreen controller that replaces a specific espresso machine's control panel, adding brew-by-weight and smart home features.

What language is linea-mini-controller written in?

Mainly C++. The stack also includes C++, ESP32-S3, LVGL.

How hard is linea-mini-controller to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is linea-mini-controller for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.