

DoughLee2
A temperature-controlled container for proofing and fermenting soughdough
- Size
- 69.9 × 44.5 mm
- Copper layers
- 4
- Thickness
- 2.07 mm
- Parts
- 62
- Nets
- 61
- Pads
- 221
- Tracks, vias
- 462, 77
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 28 Sep 2024
- Updated
- 2 Nov 2026
Overview
DoughLee2 is an open-source printed circuit board by chl33, from the chl33/Dough133 repository on GitHub, published under the MIT licence. It is a 4-layer board of 69.9 × 44.5 mm with 62 parts on 61 nets, routed with 462 tracks and 77 vias.
It is built around the ESP32-WROOM-32, SHTC3 and BD90610EFJ-CE2, with the 74LVC1G08Z, AMS1117-3.3 and SN74LVC1G123DCUR among its other parts. Its parts include 5 ICs, 2 connectors, 1 capacitor and 1 inductor. It belongs with the ESP32 boards of this library.
Main components
8ESP32-WROOM-32
SMD,18x25.5mm-40℃~+85℃ -98dBm 2.4GHz 2.7V~3.6V 20dBm Bluetooth4.2 ESP32-DOWDQ6 UART、SDIO、SPI、I2C、GPIO、PWM、ADC、DAC SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesSHTC3
Digital I²C temperature / humidity sensor. Input voltage: 1.62 - 3.6 V Typical accuracy: ±2 %RH and ±0.2 °C Datasheet: https://www.sensirion.com/shtc3/SensirionUncategorisedBD90610EFJ-CE2
SOIC-8-40℃~+125℃@(TA) 1 1.25A 500kHz 5V~36V 800mV~36V Adjustable Buck Buck Built-in No SOIC-8 DC-DC Converters ROHSROHM SemiconductorDC-DC Converters74LVC1G08Z
SOT-553-5-40℃~+125℃ 1 1.65V~5.5V 1.7V、2V 2 2.4V、3.8V 32mA 32mA 4ns@5V,50pF 550mV、800mV 700mV、800mV 74LVC Series AND Gate SOT-553-5 Logic Gates ROHSDiodes IncorporatedLogic GatesAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSN74LVC1G123DCUR
VSSOP-8-0.5mm-40℃~+125℃ 1 1.65V~5.5V 18.5ns 20uA 32mA 32mA 74LVC Monostable Reset input、Adjustable pulse width、Retriggerable function Schmitt trigger VSSOP-8-0.5mm Monostable Multivibrators ROHSTexas InstrumentsMonostable MultivibratorsIRLB8721PBF
TO-220AB-55℃~+175℃ 1 N-channel 1.077nF 110pF 13nC@4.5V 16mΩ@4.5V 2.35V 30V 360pF 62A 65W N-Channel ±20V TO-220AB MOSFETs ROHSInfineon TechnologiesMOSFETsSS34
SMA(DO-214AC)-55℃~+125℃ 3A 40V 500uA@40V 550mV@3A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdDough133 (v1.1.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.

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:
- Building a DIY Sourdough Proofer (Dough133),
- Dough133 Electronics: Designing a Custom ESP32 Controller for Proofing Sourdough, and
- Dough133 Control: Yeast Welfare through Applied Mathematics.
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/.

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.

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.

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 & Adafruit IO Integration: Supports MQTT auto-discovery for seamless integration with Home Assistant as a generic thermostat, as well as SSL/TLS and Adafruit IO broker modes.
- Safety Features: Includes max/min temperature limits, sensor error detection,
WifiWatchdogrecovery, and a software-monitored200 Hzheartbeat pulse for the hardware safety circuit (SN74LVC1G123) to cut heater power if the main loop or control loop stalls.
Getting Started
Prerequisites
- PlatformIO (CLI or VSCode extension).
- Node.js (v22+) and
npmfor building the Svelte web interface.
Configuration
The project uses ini files for local configuration and secrets. Create secrets.ini and local.ini based on the provided examples:
-
Secrets (
secrets.ini): Copysecrets.ini.exampletosecrets.iniand configure:ini [secrets] otaPassword = my_secure_password ; Password for Over-The-Air updates -
Local Build & Upload Settings (
local.ini): Copylocal.ini.exampletolocal.ini:ini [platformio] default_envs = wifi ; Use 'usb' for serial flashing or 'wifi' for OTA [local] uploadPort = 192.168.1.100 ; IP address of the board for OTA uploads build_flags = '-D LOG_UDP' '-D LOG_UDP_ADDRESS=192, 168, 1, 50' wifi_upload_flags =
Building and Flashing
- Install Svelte frontend dependencies (first time):
bash cd svelte && npm ci && cd .. - Build and upload the firmware (via USB or OTA depending on
default_envsor-e):bash pio run -e usb -t upload # Flash via USB (/dev/ttyUSB0) pio run -e wifi -t upload # Flash via OTA - Monitor the serial output to verify startup:
bash 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.
Parts
62| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 100nF | Capacitor_SMD:C_0603_1608Metric | C_RST1, Ca1, Ca2, Ca3, Ca4, Ca5 |
| 4 | 1k | Resistor_SMD:R_0603_1608Metric | Rl1, Rl2, Rl3, Rl4 |
| 3 | LED | LED_SMD:LED_0603_1608Metric | D_HR1, D_LFN1, D_SFTY1 |
| 2 | 100k | Resistor_SMD:R_0603_1608Metric | R_T1, RPUSW1 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | Ru3, Ru4 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | Cb2, Cb3 |
| 2 | 12k | Resistor_SMD:R_0603_1608Metric | Ru1, Ru2 |
| 2 | 2.2k | Resistor_SMD:R_0603_1608Metric | Rf1, Rf2 |
| 2 | 470 | Resistor_SMD:R_0603_1608Metric | RRST1, Rt3 |
| 2 | 490 | Resistor_SMD:R_0603_1608Metric | Rt1, Rt2 |
| 2 | Barrel_Jack | Connector_BarrelJack:BarrelJack_Horizontal | JHTR1, JPWR1 |
| 2 | IRLB8721PBF | Package_TO_SOT_THT:TO-220-3_Vertical | Q_FAN1, Q_HTR1 |
| 2 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP1, JP2 |
| 1 | 100 μH | chl33_library:CD54 | L1 |
| 1 | 100pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C_RT1 |
| 1 | 10nF (50V) | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | CB1 |
| 1 | 180pF (50V) | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | 1N4001 | Diode_SMD:D_SMB | DFAN1 |
| 1 | 220uF (35Vx2) | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | Cbulk1 |
| 1 | 27k | Resistor_SMD:R_0603_1608Metric | R_RT1 |
| 1 | 33k | Resistor_SMD:R_0603_1608Metric | RB1 |
| 1 | 4.7uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C_B1 |
| 1 | 43k | Resistor_SMD:R_0603_1608Metric | RB2 |
| 1 | 44uF (16V) | Capacitor_SMD:C_0603_1608Metric | Cc2 |
| 1 | 47uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | Cc1 |
| 1 | 74LVC1G08 | chl33_library:SOT-23-5 | U5 |
| 1 | 8.2k | Resistor_SMD:R_0603_1608Metric | RB3 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U3 |
| 1 | BD90610EFJ-CE2 | chl33_library:BD90610EFJ-CE2 | U_B1 |
| 1 | BLU | LED_SMD:LED_0603_1608Metric | D_PWR1 |
| 1 | Conn_01x04_Female | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J_OLED1 |
| 1 | Conn_01x06 | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J1 |
| 1 | ESP32-WROOM-32 | RF_Module:ESP32-WROOM-32 | U2 |
| 1 | Edge2x6_Connector | chl33_library:EdgeConnector_2x3 | J3 |
| 1 | SHTC3 | Sensor_Humidity:Sensirion_DFN-4-1EP_2x2mm_P1mm_EP0.7x1.6mm | U1 |
| 1 | SN74LVC1G123DCUR | chl33_library:SOP50P310X90-8N | U4 |
| 1 | SS34 | Diode_SMD:D_SMA | DB1 |
| 1 | SS34-E3/9AT | Diode_SMD:D_SMB | DHR1 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW_ON1 |
The 59 most common of 62 parts.
Questions
How big is the DoughLee2 PCB?
It measures 69.9 × 44.5 mm and has 4 copper layers, 2.07 mm thick.
What parts does the DoughLee2 use?
62 parts, built around the ESP32-WROOM-32, SHTC3, BD90610EFJ-CE2 and 74LVC1G08Z. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the DoughLee2 KiCad files?
From the chl33/Dough133 repository on GitHub, at the commit this page was made from: the board is KiCAD/DoughLee2.kicad_pcb and its schematic KiCAD/DoughLee2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the DoughLee2 design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 4 layers49.5 × 39.4 mm

- 4 layers25 × 41.5 mm

- 6 layers46 × 76 mm

Q2-v2
0x616c6f6e/esp32s31-mp3
打开 q2-v2.kicadpro。这是 ESP32-S31NRV16 裸芯片版的独立工程,当前按用户要求改为 0402 阻容、电源分区铺铜并就近打过孔,信号待手动布线。不是可打板文件。原生产主板 hardware-q2 的 PCB 保持原文件哈希。
198 parts - 4 layers140 × 120 mm

PianoMatrice
manvalan/MuonScope
Piano di rivelazione MuonScope con 16 fotodiodi VBPW34S in matrice 4×4 a passo 10 mm, per il bus MIKILAB REV5.1.
490 parts - 4 layers160 × 100 mm

Lunar Hawks Rover Control
Matthew-Garcia/NASA-Lunabotics-UHCL-Lunar-Hawks
UHCL Lunar Hawks proof-of-concept excavation rover: ROS 2, micro-ROS, MicroPython, control PCB development, CAD, and research.
207 partsMIT - 4 layers30 × 30 mm

Neuromorphic ir sensor compact
RyanHailey21/neuromorphic-IR-hand-assembled
All through-hole re-implementation of the Rev A neuromorphic IR event sensor: no SMD parts, solderable with a basic iron.
121 parts - 2 layers70 × 100 mm

Upper
sbarisic/MagMouse
Open source hall-effect based mouse - no mechanical contacts - no failure points
92 parts2 - 4 layers70 × 38 mm
