Host MCU Kiln Controller
Klipper-style split kiln controller: Python/FastAPI host on Raspberry Pi, ESP32 firmware, SvelteKit dashboard, thermal simulation, and hardware safety watchdogs.
The next generation of my kiln controller — a Klipper-style split architecture that cleanly separates high-level logic from real-time hardware control. A Python/FastAPI host running on a Raspberry Pi (or any Linux machine) handles the firing engine, PID loop, and dashboard. A PlatformIO firmware on an ESP32 owns the hardware: thermocouples, SSRs, TFT display, and safety watchdogs. The two halves talk over USB Serial using custom JSON messages.
Web app
Architecture
Host — Raspberry Pi / Linux
Python + FastAPI backend with a SvelteKit dashboard. Runs the PID firing engine, manages Ramp/Soak programs, logs to CSV and InfluxDB, and exposes the full web UI. Stateless with respect to the MCU — reconnects automatically on USB reset.
MCU — ESP32 + PlatformIO
Firmware reads thermocouples, drives the SSR/relay outputs, and runs a local TFT display HMI. Implements a hardware safety watchdog: if the host stops responding within the comms timeout, the kiln is de-energised automatically — no software dependency for the safety path.
The split follows the same principle as Klipper (3D printer firmware) — keep real-time constraints on dedicated hardware, and put the complexity where iteration is cheap: a Linux process you can restart, test, and deploy without touching the MCU.
Features
- Web Interface — SvelteKit dashboard for live temperature monitoring, firing program editing, and settings.
- Firing Engine — Executes Ramp/Soak firing programs or manual mode via PID control.
- TFT Display — Embedded HMI on the ESP32: shows live PV/SP, segment progress, and allows starting/stopping firing directly at the kiln.
- Thermal Simulation — Full FOPDT simulation model (both host-side and on the MCU) so the whole stack can be developed and tested without hardware.
- Data Logging — Records temperature history to CSV (always) and InfluxDB (optional, for Grafana dashboards).
- Safety Watchdogs — Hardware-level comms timeout and control-loop heartbeat: the kiln de-energises automatically if the host stops responding.