explaingit

chronoconstant/sourdough-monitor

14C++Audience · ops devopsComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

Battery-powered ESP32 gadget that measures sourdough starter rise height and reports it to Home Assistant over MQTT via ESPHome.

Mindmap

mindmap
  root((Sourdough-Monitor))
    Inputs
      Distance from VL53L4CD
      Temperature and humidity
      Just Fed button press
    Outputs
      Rise height and percent
      Past-peak binary sensor
      Battery percentage
    Use Cases
      Track starter rise from a phone
      Alert when starter peaks
      Log fermentation by climate
    Tech Stack
      ESPHome YAML
      XIAO ESP32-C3
      Home Assistant
      MQTT
      VL53L4CD
      SHT31-D

Things people build with this

USE CASE 1

Flash an XIAO ESP32-C3 with the ESPHome YAML to monitor a sourdough starter jar

USE CASE 2

Wire a VL53L4CD and SHT31-D over I2C using the included scanner config

USE CASE 3

Print the lid enclosure for a Brod and Taylor jar from the provided 3D files

USE CASE 4

Add a Home Assistant dashboard card and past-peak notification automation

Tech stack

ESPHomeESP32-C3MQTTHomeAssistantVL53L4CDSHT31-D

Getting it running

Difficulty · moderate Time to first run · 1h+

You need to solder two I2C sensors and a LiPo to a XIAO ESP32-C3 and flash ESPHome firmware before anything shows up in Home Assistant.

GPLv3 for the project, so you can use and modify it but any redistributed version must stay open under GPLv3, and the bundled VL53L1X driver stays MIT.

In plain English

Sourdough Monitor is a small battery-powered gadget that sits on the lid of a sourdough starter jar and watches the starter rise after each feeding. The author wanted to know, from a phone or a wall-mounted dashboard, how far the starter has risen and when it peaked, so the next stage of baking can start at the right moment. The whole thing reports into Home Assistant, the open-source smart-home hub. The sensing is done with two parts. A VL53L4CD time-of-flight sensor points straight down into the jar and measures the distance to the top of the starter, which the firmware turns into a height and a rise percent. An SHT31-D sensor reports temperature and humidity, because fermentation speed depends on the kitchen climate. A push button labeled Just Fed lets the baker mark the start of a new cycle: the firmware archives the previous cycle's stats, drops the baseline, and waits for the starter to settle before locking in a new low point against which rise is measured. The brains are a Seeed XIAO ESP32-C3 microcontroller running ESPHome, an open firmware that exposes sensors as Home Assistant entities over MQTT. The board wakes about every 15 minutes, takes a reading, publishes the data, then drops back into deep sleep. The README says a 1200 mAh single-cell LiPo gets roughly a month per charge, and the XIAO charges over its built-in USB-C port. An optional pair of 100 k ohm resistors form a battery voltage divider so the hub can show a battery percentage. The repository ships ESPHome YAML firmware, a separate scanner config for first-time I2C bring-up, a bundled third-party VL53L1X driver, 3D-printable lid enclosure files, a wiring guide, a troubleshooting guide, and a Home Assistant dashboard card plus a past-peak binary sensor that can trigger a phone notification when the starter starts collapsing. The enclosure is sized for a Brod and Taylor jar. The author writes openly that Claude, Anthropic's AI assistant, did most of the firmware and documentation work. The project is licensed under GPLv3, with the bundled VL53L1X driver kept under its original MIT license.

Copy-paste prompts

Prompt 1
Walk me through flashing the ESPHome YAML in this repo onto a Seeed XIAO ESP32-C3
Prompt 2
Show me how to wire the VL53L4CD and SHT31-D sensors to the XIAO ESP32-C3 board
Prompt 3
Adapt the lid enclosure STL for a Weck 760 ml jar instead of a Brod and Taylor jar
Prompt 4
Write a Home Assistant automation that sends a phone notification when the past-peak sensor fires
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.