IoT Smart Lid Tracks Sourdough Starter With Sensors and Cloud Data
A 3D-printed smart lid with distance, temperature, and humidity sensors tracks your starter's rise in real time and logs every feed to AWS in the cloud.

Justin Klam built the thing most of us have only fantasized about: a lid that watches your starter so you don't have to. His IoT Sourdough Starter Monitor, published on GitHub under the handle justinmklam, fits over a standard jar and uses a distance sensor, a temperature sensor, and a humidity sensor to track fermentation in real time, pushing all that data to AWS for logging and analysis.
The origin story is relatable. Klam had previously tried tracking his starter using computer vision, a setup that required staging a camera, downloading images, manually cropping them, and running an analysis script after the fact. "What I really wanted was something that could tell me when the starter was ready to be used," he wrote in his February 22, 2021 blog post "Precision Sourdough: A Smart Lid for Your Starter," a 12-minute read published on justinmklam.com. The idea for a distance sensor inside the lid came from a Reddit thread and Christine Sunu's sourd.io project. "I thought it was genius, and had to make one for myself," Klam wrote.
He chose WiFi connectivity over an SD card for data storage on purpose. "Saving to an SD card would add hardware costs, as well as being less 'sexy' in today's world of everything having wifi connectivity," he explained. The device publishes readings over MQTT to AWS, where the data is stored in S3 and queried via Amazon Athena.
On the hardware side, the enclosure is 3D printed and designed in Fusion 360. The PCB, with its schematic and layout done in KiCad, is fully assembled and documented in the repository. The firmware builds with PlatformIO v5.1.0, and AWS IoT certificates need to be converted to .der files and dropped into the project's data/ directory before flashing. Files are uploaded to the device's SPIFFS filesystem, with the arduino-esp8266fs-plugin available as an alternative upload method.

The web dashboard is where the project gets genuinely useful for bakers. Klam initially planned to use Amazon QuickSight for visualization but ran into refresh rate limitations he called "a deal breaker." His solution: a custom Flask application with HTML, CSS, and JavaScript that queries S3 directly through Athena. He hosted it on Heroku rather than sorting out free AWS hosting, deploying via a single git subtree command. The dashboard offers three views of any feeding session: "Max rise and time," "graph," and what Klam labels "stats for nerds." You can select, view, and download the logged data for any individual feed.
The full repository at justinmklam/iot-sourdough-starter-monitor spans folders for CAD files, PCB files, firmware (iot-sourdough), the web app, and documentation, with 276 commits logged. The project was featured on Hackaday after the blog post went live. Klam also published a setup template on GitHub for anyone who wants to replicate the AWS IoT infrastructure without starting from scratch. "If you're looking to do the same, let me save you some headache," he wrote.
The specific microcontroller model, sensor part numbers, and sampling frequency aren't detailed in the README excerpts available, so pulling the iot-sourdough firmware folder directly from the repository is the move if you want a complete bill of materials before ordering parts.
Know something we missed? Have a correction or additional information?
Submit a Tip

