

Iot crockpot
Repo for internet enabled crockpot
- Size
- 101.5 × 54.9 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 23
- Nets
- 49
- Pads
- 101
- Tracks, vias
- 0, 0
- Routed
- Not yet
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 25 Jan 2026
- Updated
- 4 Mar 2026
Overview
Iot crockpot is an open-source printed circuit board by AverageJoel, from the AverageJoel/iot_crockpot repository on GitHub, published under the MIT licence. It is a 2-layer board of 101.5 × 54.9 mm with 23 parts on 49 nets.
It is built around the HLK-5M05, MAX31855KASA+T and 1N4148W. Its parts include 6 connectors, 3 resistors, 2 capacitors, 2 ICs and 2 diodes. It belongs with the home automation and IoT boards and the STM32 boards of this library.
Main components
3HLK-5M05
DIP,38x23mm0.1W 18mm 1A 23mm 38mm 3kV 50mVp-p 5V 5W 70% 70V~350V 85VAC~264VAC AC/DC-DC Short Circuit Protection、Over Current Protection ±0.2% DIP,38x23mm AC-DC Power Modules ROHSHI-LINKAC-DC Power ModulesMAX31855KASA+T
SO-8-40℃~+125℃ 14 1500uA 3V~3.6V Built-in temperature sensor SPI Thermocouple-to-Digital Converter SO-8 ADCs/DACs - Special Purpose ROHSMaxim Integrated (Analog Devices)ADCs/DACs - Special Purpose1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching Diodes
README
hardware/README.mdIoT Crockpot Power Board
Custom PCB for the IoT Crockpot controller. Single-board design — the ESP32-S3 handles WiFi, display, thermocouple, relay, and USB directly with no secondary MCU.
Architecture
AC Mains ──► Fuse ──► MOV ──► HLK-5M05 ──► P-FET ──► 5V Rail
(AO3401) │
Gate: 100K→GND │
G-S: 100nF cap │
│
┌──────────────────────────┘
│
├──► AP2112K-3.3 LDO ──► 3.3V Rail
│ │
│ ┌────────────┘
│ │
│ ESP32-S3-WROOM-1-N4R2
│ │
│ ├──► ST7796 Display (SPI)
│ ├──► FT6336U Touch (I2C)
│ ├──► MAX31855 TC (SPI)
│ ├──► Relay driver (GPIO → 2N7002)
│ └──► USB-C (GPIO19/20, native)
│
└──► Relay coil supply (5V)
AC Mains ──► Relay NO contact ──► Crockpot heating elementProject Files
iot_crockpot.kicad_pro— KiCad project fileiot_crockpot.kicad_sch— Top-level schematic (hierarchical sheets)MCU.kicad_sch— ESP32-S3 MCU sheetpower_relays_tempsens.kicad_sch— Power supply, relay, thermocouple sheetiot_crockpot.kicad_pcb— PCB layout
Schematic Status
| Section | Status |
|---|---|
| AC input (fuse, MOV, HLK-5M05) | Done |
| 5V backfeed protection (P-FET AO3401) | Pending |
| AP2112K-3.3 LDO | Pending |
| ESP32-S3-WROOM-1-N4R2 | In progress |
| USB-C connector (GCT USB4085 / HRO TYPE-C-31-M-12) | Pending |
| 14-pin display header (ST7796 + FT6336U) | Pending |
| MAX31855 thermocouple | Pending |
| Relay driver (2N7002 MOSFET) | Done |
| Relay (G5LE-1) | Done |
| Connectors (AC screw terminals, thermocouple) | Done |
See docs/schematic_rework_plan.md for the step-by-step schematic rework guide.
Components
MCU
| Part | Value | Package | LCSC # |
|---|---|---|---|
| ESP32-S3-WROOM-1-N4R2 | 4MB flash, 2MB PSRAM | Module | C2913203 |
Display Interface
| Part | Value | Notes |
|---|---|---|
| J_DISPLAY | 14-pin 2.54mm header | ST7796 SPI display + FT6336U touch |
Display modules (all electrically equivalent, 14-pin 2.54mm interface):
- Hosyond (Amazon B0CMD7Y55M) ~$15
- Waveshare 3.5" Capacitive Touch LCD ~$19
- Elecrow 3.5" IPS SPI LCD ~$17
Note: Use ST7796 controller only. Avoid ILI9488 — no 16-bit SPI color and broken MISO tristate cause SPI bus conflicts.
3.3V LDO
| Part | Value | Package | LCSC # |
|---|---|---|---|
| AP2112K-3.3TRG1 | 3.3V 600mA | SOT-23-5 | (search) |
Power Supply
| Part | Value | Notes |
|---|---|---|
| HLK-5M05 | 5V 5W | AC-DC isolated PSU module |
USB
| Part | Value | LCSC # | Notes |
|---|---|---|---|
| USB-C receptacle | GCT USB4085 or HRO TYPE-C-31-M-12 | C2765186 / C165948 | USB 2.0 only |
| R_D- | 22Ω 0402 | — | GPIO19 to D- |
| R_D+ | 22Ω 0402 | — | GPIO20 to D+ |
| R_CC1 | 5.1K 0402 | — | CC1 to GND |
| R_CC2 | 5.1K 0402 | — | CC2 to GND |
AC Input Protection
| Part | Value | LCSC # | Notes |
|---|---|---|---|
| Fuse holder | 5x20mm clips | C3130 | Xucheng pair |
| Fuse | 0.5A 250V slow-blow | C142839 | Littelfuse 0215.500MXP |
| MOV | 10D561K | (search) | Per HLK datasheet |
Temperature Sensing
| Part | Value | Notes |
|---|---|---|
| MAX31855KASA | K-type interface | SPI, cold junction compensated |
| Thermocouple | K-type probe | High temp |
Relay
| Part | Value | Notes |
|---|---|---|
| Omron G5LE-1 | SPDT 10A | 5V coil |
| 2N7002 | N-ch MOSFET | Relay driver (x2) |
| 1N4148WQ-13-F | Flyback diode | SOD-123 |
| 10K resistor | Gate pull-down | Keeps relay off when GPIO floating |
Protection
| Part | Value | Notes |
|---|---|---|
| P-FET (AO3401) | SOT-23 | Blocks USB-C VBUS backfeed into HLK-5M05 |
| 100K resistor | Gate to GND | P-FET gate bias |
| 100nF cap | Gate-source | Miller coupling suppression |
Connectors
| Part | Value | LCSC # | Notes |
|---|---|---|---|
| Screw terminal (x2) | Phoenix 1935161 | (search) | AC mains in, relay out |
GPIO Assignments
| Signal | GPIO | Notes |
|---|---|---|
| SPI SCK | 12 | Shared: display, MAX31855 |
| SPI MOSI | 11 | |
| SPI MISO | 13 | |
| LCD CS | 10 | |
| LCD DC | 9 | |
| LCD RST | 8 | |
| LCD BL | 47 | PWM backlight |
| SD CS | 14 | SD card on display module |
| Touch SDA | 5 | I2C |
| Touch SCL | 4 | I2C |
| Touch RST | 6 | |
| Touch INT | 7 | |
| MAX31855 CS | 16 | |
| Relay | 17 | Via 2N7002 driver |
| USB D- | 19 | Fixed, native USB |
| USB D+ | 20 | Fixed, native USB |
ESP32-S3 Strapping Pins
| Pin | Default | Action |
|---|---|---|
| GPIO0 | Pull-up to 3V3 | Ensures SPI Boot (normal) on power-up |
| GPIO46 | Float (internal pull-down) | Leave unconnected |
| EN | 10K to 3V3 + 1µF to GND | RC filter for clean power-on reset |
BOOT jumper: 2-pin 2.54mm header (GPIO0 to GND). Install to enter download mode on next reset. Remove for normal boot. Not needed for routine flashing — native USB handles auto-reset via esptool.py.
Safety Notes
- Mains Isolation: HLK-5M05 provides isolation; maintain clearance on PCB
- Creepage/Clearance: Follow IPC-2221 for mains voltage traces
- Fuse: Must be rated for AC mains (250VAC)
- Relay Wiring: Use NO contact for fail-safe (de-energized = OFF)
Fabrication Notes
- Generate Gerbers to
production/gerbers/ - 2-layer board, 1.6mm thickness
- HASL or ENIG finish
- Minimum 2oz copper for mains traces
References
- Hardware Decisions — Component selection rationale
- Schematic Rework Plan — Step-by-step rework guide
- ESP32-S3 Hardware Design Guidelines
- ST7796 Display Module
- Omron G5LE-1 Datasheet
Parts
23| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R3 |
| 3 | Screw_Terminal_01x02 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal | J1, J2, J3 |
| 2 | 0.1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3, C5 |
| 2 | 1N4148W | Diode_SMD:D_SOD-123 | D1, D2 |
| 2 | 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | Conn_01x04_Pin | Connector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal | J4, J5 |
| 2 | G5LE-14 5VDC | Relay_THT:Relay_SPDT_Omron-G5LE-1 | K1, K2 |
| 1 | 1.5A | Fuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolder | F3 |
| 1 | Conn_ARM_SWD_TagConnect_TC2030 | Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical | J6 |
| 1 | Fuse | Fuses:Fuseholder_Clip-5x20mm_Littelfuse_111_Inline_P20.00x5.00mm_D1.05mm_Horizontal_with_3D_body | F1 |
| 1 | HLK-5M05 | Converter_ACDC:Converter_ACDC_Hi-Link_HLK-5Mxx | PS1 |
| 1 | MAX31855KASA | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | STM32G031F6Px | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U1 |
| 1 | Varistor | Varistor:RV_Rect_V25S440P_L26.5mm_W8.2mm_P12.7mm | RV1 |
Questions
How big is the Iot crockpot PCB?
It measures 101.5 × 54.9 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Iot crockpot use?
23 parts, built around the HLK-5M05, MAX31855KASA+T and 1N4148W. 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 Iot crockpot KiCad files?
From the AverageJoel/iot_crockpot repository on GitHub, at the commit this page was made from: the board is hardware/iot_crockpot.kicad_pcb and its schematic hardware/MCU.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Iot crockpot 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
- 2 layers

- 2 layers105 × 58 mm

ZAP-010A
lalithk06/Esp32_Smart_Plug
Hardware reference design for an ESP32-S3 smart plug with mains power conversion, relay switching, RTC support, USB connectivity, and protection components.
80 parts - 2 layers107 × 62 mm

- 2 layers200.3 × 96 mm

ESP32C5 iot switch
mynameisbrozu/esp32-based-iot-switch
Personal project - Iot switch with esp32c5 and 3.7" epaper display
89 partsMIT - 2 layers105 × 58 mm

ZAP-01A
ponrajleo/AI-Hardware-ESP32S3-
This project is part of a complete open-source hardware design course on YouTube:
103 parts - 2 layers105 × 58 mm

ViRa V1.0
VikramR3/ViRa_Ai_plug
ESP32-S3 mains smart plug: HLK-5M05 isolated supply, SRD-05VDC relay, DS3231M RTC. 2-layer KiCad design.
80 partsMIT - 2 layers50 × 100 mm

Airtap
ajkumar-1907/POWER-ELECTRONICS-LIB
Open-source library of power electronics converter topologies — KiCad schematics, working principles, use cases, and design notes for DC-DC, AC-DC, DC-AC, and AC-AC converters. Free to use, modify, and build on.
62 parts1MIT - 2 layers99 × 56.3 mm

ReflowOven controller
TilenTinta/ReflowOven_controller
An open source controller for converting kitchen toaster oven to reflow oven
122 parts5MIT