Skip to content

chl33/Dough133

Repository files navigation

Dough133 (v1.0.0)

Dough133 is a temperature-controlled container for proofing and fermenting sourdough. It uses a small cooler and a PTC heater with a fan to heat the inside of the cooler. A PCBA with an ESP32 controls the power supplied to the heater to regulate the temperature of the enclosure.

Doughh133

This repository contains:

  • KiCAD design for the PCB.
  • Source code for the device firmware.
  • OpenSCAD design for 3D printed components.

Instructions for the assembly of the device are in this are at my blog.

Please also see the other entries describing this project:

Components needed for making this device, along with links and approximate price as of September 2024:

Item Source Approximate cost
Coleman 16 qt cooler Amazon $23
PTC Air Heater 12V 100W AliExpress $7
DC 12V 5A Power Supply Amazon $12

KiCAD

The circuit board design is in KiCAD/.

Circuit board

These require footprints in chl33_library and symbols in chl33_kicad_sym.

OpenSCAD

Designs for 3D-printable components are in scad/.

The EBox is based on the ProjectBox OpenSCAD system.

The heater mount secures the heater and temperature/humidity sensor inside the cooler.

Heater mount

The Cooler plug helps avoid heat leaking through the hole through which wires run from the heater mount through the wall of the cooler to the EBox.

Cooler plug

Software

The software is based on the og3 library and built using PlatformIO.

Features

  • Modern Web Interface: A responsive Svelte-based UI for real-time status monitoring, PID tuning, and system configuration.
  • PID Temperature Control: Uses a Proportional-Integral-Derivative controller with feedforward to maintain precise temperature.
  • Manual Fan Control: Toggle the enclosure fan manually via the web interface.
  • Home Assistant Integration: Supports MQTT auto-discovery for seamless integration with Home Assistant as a generic thermostat.
  • Safety Features: Includes max/min temperature limits, sensor error detection, and safety hardware to cut heater power if the microprocessor is not running properly.

Getting Started

Prerequisites

Configuration

The project uses ini files for local configuration and secrets. You need to create secrets.ini and secrets-usb.ini based on the provided examples.

  1. General Secrets: Copy secrets.ini.example to secrets.ini and configure:

    [secrets]
    udpLogTarget = 192, 168, 1, 100  ; Optional: IP for UDP logging
    otaPassword = my_secure_password ; Password for Over-The-Air updates
  2. Upload Configuration: For USB flashing, copy secrets-usb.ini.example to secrets-usb.ini:

    [secrets]
    uploadProtocol = esptool
    uploadPort = /dev/ttyUSB0      ; Check your specific port (e.g., COM3 on Windows)
    uploadAuth =
    uploadHostPort =

    (For OTA updates later, you can use secrets-ota.ini)

Building and Flashing

  1. Connect the ESP32 board to your computer via USB.
  2. Build and upload the firmware:
    pio run -t upload
  3. Monitor the serial output to verify startup:
    pio device monitor

Usage

Physical Interface

  • Button: Press the physical button to toggle temperature control ON or OFF.
  • OLED Screen: Displays the current state (Off, Running, Cooling), current temperature, and target temperature.

Web Interface

Once connected to WiFi, navigate to the device's IP address (displayed on the OLED).

  • Status Page: View current temperatures (Enclosure, Room), humidity, and heater status.
  • Controls: Enable/Disable the heater.
  • Configuration: Set the target temperature, ramp rates, and PID gains.

Home Assistant

Ensure your MQTT broker details are configured in the Web UI. The device will automatically appear in Home Assistant as a climate device (Thermostat) if MQTT discovery is enabled.

About

A temperature-controlled container for proofing and fermenting soughdough

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors