← Projects

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.

KilnsEmbedded SystemsPythonFastAPISvelteKitESP32PlatformIOIoTInfluxDBGrafana

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.

View on GitHub

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

← Back to Projects