

KilnController
ESP32 BLE kiln controller PCB, KiCAD; 2 thermocouples, 3 heating elements.
- Size
- 163.3 × 389.8 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 82
- Nets
- 64
- Pads
- 289
- Tracks, vias
- 511, 64
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 9 Jan 2024
- Updated
- 30 Mar 2024
Overview
KilnController is an open-source printed circuit board by Erhannis, from the Erhannis/KilnController repository on GitHub. It is a 4-layer board of 163.3 × 389.8 mm with 82 parts on 64 nets, routed with 511 tracks and 64 vias.
It is built around the ESP32-WROOM-32D, MAX31856MUD+T and XY126V-5.0-2P, with the 471KD10, AP2112K-3.3 and ESD9B5.0ST5G among its other parts. Its parts include 19 capacitors, 11 connectors, 10 resistors, 3 diodes and 2 ICs. It belongs with the radio and wireless boards and the ESP32 boards of this library.
Main components
8ESP32-WROOM-32D
-- WiFi Modules ROHSEspressif SystemsWiFi ModulesMAX31856MUD+T
TSSOP-14-40℃~+125℃ 10uA 19 3V~3.6V Programmable gain、Digital filtering、Built-in temperature sensor SPI Thermocouple-to-Digital Converter TSSOP-14 ADCs/DACs - Special Purpose ROHSMaxim Integrated (Analog Devices)ADCs/DACs - Special PurposeXY126V-5.0-2P
插件,P=5mm1 10A 14~26 1x2P 2 2.5 2P 300V 5mm Green M2.5 Through Hole 插件,P=5mm Screw Terminal Blocks ROHSNingbo Xinlaiya Elec.Screw Terminal Blocks471KD10
插件,P=7.5mm210pF@1kHz 3.5kA 300V 385V 400mW 470V 67J 775V 插件,P=7.5mm Varistors ROHSBrightkingVaristorsAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedESD9B5.0ST5G
SOD-923(0402)-55℃~+125℃ 1 10V 15pF 5V 8.4V 80W@8/20us 80nA 8A@8/20us Bidirectional ESD IEC 61000-4-2、IEC 61000-4-5 SOD-923(0402) ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)USBLC6-2P6
SOT-666-6-40℃~+125℃ 150nA 17V 2 3.5pF 5.25V 5A@8/20us 6V ESD IEC 61000-4-2 Unidirectional SOT-666-6 ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)UU9.8-20MH
DIP-4P,17x12mm1.5kV 100MΩ 2 20mH@1kHz 3Ω DIP-4P,17x12mm Common Mode Filters ROHSGuangdong Fenghua Advanced Tech (FH)Common Mode Filters
README
README.mdKiln controller PCB, in KiCAD. ESP32, controlled (potentially) over wifi.
Instructions
Comes with two thermocouple readers and controls three heating elements. Attach thermocouples to appropriate points, attach three SSR-DA60 to HEAT1-HEAT3 and another to ALL_POWER, wire in 240V (see instructions on board), recommended don't attach USB while mains voltage is connected; the 5V sources might conflict - also just seems a little unsafe. The board is shaped to match my Everheat Classic 1210 frontplate - hopefully it fits, haha. You can reshape it if you want, or just run wires to your thermocouples and elements. The Main TC is for inside the kiln (PIDKiln has a link to a sturdy thermocouple), the Aux TC is for the kiln outside surface (I think it's optional?). I broke out all 6 unused GPIO pins. See code for firmware.
Warning: if any elements are active, all elements are live at >= 120V. There's a blue LED that lights up when any element is active; watch out for the blue LED. ALSO! I hear that SSRs can fail closed, meaning the elements may stay live even once the blue LED turns off. So...maybe just unplug the thing if you're gonna touch the coils.
Code
See my fork of PIDKiln at https://github.com/erhannis/PIDKiln Note that in order to flash the code, the board must be unpowered to start, you need to connect BOOT to GND, plug the board in via USB, and then you have a handful of seconds to initiate a data transfer at 115200 baud (either the main code flashing, or the "ESP32 Sketch Data Upload"). Try turning on Arduino IDE logs for compilation and upload, then copy the relevant upload command into the terminal, for timing. Afterward, remove boot jumper and replug the board.
Disclaimer: I have no formal electronics training, and this thing connects to 240V, so like, maybe use this thing away from anything flammable, and on your own head be the results. And DON'T TOUCH THE COILS WHILE IT'S HEATING! Because they're live 240V, and also may be hot.
Additional parts
Thermocouple: https://www.auberins.com/index.php?main_page=product_info&cPath=20_3&products_id=39 (Also one of the cheap k-type thermocouples from amazon, for the case. Though, see notes.) Bus blocks: https://www.amazon.com/dp/B0B2L7QBVN Heat sinks: https://www.amazon.com/dp/B08ZCYBPTV SSRs: https://www.amazon.com/dp/B01MSTFKIP (60DA) Note that (according to tests) these start and stop conducting at zero volt crossings. Also, they still let like 2mA through while open, which CAN yield high voltages. You might get away with lower amp ones.
Notes
I picked the slightly more expensive thermocouple readers, which (supposedly) are more accurate and support multiple thermocouple types instead of just K - just in case that turns out to be useful. If you're not using k-type, though, you'll probably need to tweak something in code to tell the controllers so. I had trouble where at high temperatures, the readings on both thermocouples would go nuts. This stopped happening after I hung the case thermocouple away from contact with anything else. I am baffled as to how that could have happened.
MIT license.
-Erhannis
Btw, I have like 4 extra from the manufacturing batch if anybody want to buy one for like, I dunno, $100, say. (You'll have to add the SSRs and bus terminals yourself, though.) Getting 5 boards assembled from JLCPCB costs around $330 total. (If you're up for soldering the ESP32 WROOM module yourself (difficult), you can use Economy mode instead of Standard and save like $100.)
Parts
82| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | XY126V-5.0-2P | easyeda2kicad:CONN-TH_XY126V-5.0-2P | J2, J7, J8, J9, J10, TC1, TC2 |
| 7 | ~ | erhannis:zip_tie_big | Z1, Z2, Z3, Z4, Z5, Z6, Z7 |
| 6 | 100nF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3, C4, C9, C10 |
| 6 | MountingHole | MountingHole:MountingHole_6mm | H5, H6, H7, H8, H9, H10 |
| 4 | 100Ω | Resistor_SMD:R_0603_1608Metric | R1, R2, R3, R4 |
| 4 | 10nF | Capacitor_SMD:C_0603_1608Metric | C5, C6, C7, C8 |
| 4 | 1uF | Capacitor_SMD:C_0603_1608Metric | C1_UU1, C2_UU1, C3_UU1, C12 |
| 4 | MountingHole | MountingHole:MountingHole_5mm | H1, H2, H3, H4 |
| 4 | ~ | erhannis:SSR Heat Sink | HS1, HS2, HS3, PWR1 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1_M5V1, C1_UM1, C2_UM1 |
| 3 | 330 | Resistor_SMD:R_0402_1005Metric | PLR1, R4_UM1, R5_UM1 |
| 3 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4, J5, J6 |
| 3 | ~ | erhannis:bus_stud | B4, B5, B6 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R2_UM1, R3_UM1 |
| 2 | MAX31856MUD+T | easyeda2kicad:TSSOP-14_L5.0-W4.4-P0.65-LS6.4-BL | THERM1, THERM2 |
| 1 | 100nF/275V | Capacitor_THT:C_Rect_L13.0mm_W6.0mm_P10.00mm_FKS3_FKP3_MKS4 | C13 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 1M | Resistor_SMD:R_0402_1005Metric | R1_UM1 |
| 1 | 22uF | Capacitor_SMD:C_0603_1608Metric | C11 |
| 1 | 471KD10 | easyeda2kicad:RES-TH_L12.5-W4.8-P7.50-D1.2-S3.40 | R6 |
| 1 | 5D-9_C332361 | easyeda2kicad:RES-TH_L11.0-W5.5-P7.50-D0.8-S5.50 | R7 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | REG1_UM1 |
| 1 | Conn_02x04_Row_Letter_First | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical | J1 |
| 1 | EC03-S05_C2840800 | easyeda2kicad:PWRM-TH_EC03-S05 | U1 |
| 1 | ESD9B5.0ST5G | Diode_SMD:D_SOD-923 | D1 |
| 1 | ESP32-WROOM-32D | RF_Module:ESP32-WROOM-32D | ESP1 |
| 1 | Fuse transparent seat | easyeda2kicad:FUSE-TH_L24.5-W9.8-P22.5 | F1 |
| 1 | HT42B534_8SOP | Package_SO:SOP-8_3.9x4.9mm_P1.27mm | U1_UU1 |
| 1 | LED(B) | LED_SMD:LED_0603_1608Metric | PLED1 |
| 1 | LED(G) | LED_SMD:LED_0603_1608Metric | D2_UM1 |
| 1 | LED(R) | LED_SMD:LED_0603_1608Metric | D1_UM1 |
| 1 | MountingHole | MountingHole:MountingHole_6.5mm | H11 |
| 1 | USBLC6-2P6 | Package_TO_SOT_SMD:SOT-666 | ESD1_UM1 |
| 1 | USB_B_Micro | Connector_USB:USB_Micro-B_XKB_U254-051T-4BH83-F1S | USB1_UM1 |
| 1 | UU9.8-20MH | easyeda2kicad:FILTER-TH_4P-L17.0-W12.0-P7.00-D0.6-S8.00 | L1 |
Questions
How big is the KilnController PCB?
It measures 163.3 × 389.8 mm and has 4 copper layers, 1.6 mm thick.
What parts does the KilnController use?
82 parts, built around the ESP32-WROOM-32D, MAX31856MUD+T, XY126V-5.0-2P and 471KD10. 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 KilnController KiCad files?
From the Erhannis/KilnController repository on GitHub, at the commit this page was made from: the board is kiln_controller.kicad_pcb and its schematic general_layout.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the KilnController design in my own project?
Its repository states no licence, so its author keeps all rights: ask Erhannis before reusing the design.
Similar boards
- 4 layers494.3 × 200 mm

- 4 layers230 × 196.7 mm

Steel form Dish washer
R-Mutura/DISHWASHER
Contains hardware and Software implementation of a dishwasher product
156 parts - 2 layers110.7 × 109.2 mm

ESP32S3R8 XR GL
Supriya648/ESP32-S3-XR-Glasses-PCB
Custom PCB with ESP32-S3 camera module for AI/XR glasses
80 parts - 4 layers88.9 × 79.4 mm

Link
oats-center/avena-rs
Avena On The Road: Bringing pavement health data to your fingertips
170 parts3 - 2 layers22 × 40 mm

Sensor interface
911RSR/RaceTemp_BLE
Like RaceTemp, but using STM32WB with integrated BLE instead of UART + an RF module.
35 parts - 6 layers164.4 × 88 mm

TVCS Dev
Mig-M27/Avionics-PCBs
Este repositório é usado para gerir as versões dos projetos KiCAD do sistema de Avionics da Porto Space Team. Está dividido em 2 secções: 1.
311 parts - 4 layers90.2 × 95.9 mm

- 2 layers217.2 × 95.3 mm
