Host-MCU-Kiln Svelte Themes

Host Mcu Kiln

Kiln controller using a python app (host) and an esp32 (mcu) for a dual architecture approach.

Kiln Controller — Host / MCU Architecture

Open-source kiln controller with a split architecture:

  • Control Panel (Host) — Python + FastAPI web application running on a Raspberry Pi (or any Linux PC). Handles the UI, firing engine, PID loop, and data logging.
  • IO (MCU) — PlatformIO firmware on an ESP32. Reads thermocouples, drives SSR/relays, runs a TFT display, and handles hardware safety watchdogs.

The two halves communicate over USB Serial using a newline-delimited JSON protocol.

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.

Quick Start

No hardware needed — the app runs in simulation mode out of the box.

# 1. Build the frontend
cd "Control Panel/frontend"
bun install && bun run build

# 2. Install Python dependencies
cd ..
uv sync

# 3. Start
uv run python main.py

Open http://localhost:8000.

See Control Panel/README.md for Docker deployment, serial hardware setup, and InfluxDB/Grafana configuration.

See IO/README.md for firmware build, flash instructions, and thermocouple driver selection.

See docs/ for architecture, HMI design, simulation model, and protocol reference.

Hardware

The IO firmware targets the same PCB as the standalone esp32-kiln-controller. See that repository for PCB fabrication files and assembly notes.

Roadmap

  • UI cleaning up (impeccable skill critique): better color palettes and fonts. I want a more industrial HMI look.
  • Add window in dashboard with embedded grafana
  • Proper architecture diagram
  • Proper hardware e-stop (safety relay self-check + current sensing)
  • PID auto-tune
  • Ethernet driver for host ↔ MCU communication (with OTA firmware updates)
  • Possibility: compatability with the standalone controller with a 3D printer control kinda architecture.
  • Tauri desktop app with python sidecar

Known bugs:

  • graph changes from moving to settings when using sim mode and alpha = 30 it looks like it simplifies data
  • can't switch firing modes from python app when using serial esp32 io board

To test:

  • Thermocouple type selector from dashboard

Contributing

Contributions are welcome. Feel free to open an issue or submit a pull request.

License

Firmware and software source code are licensed under the MIT License. See LICENSE.

Disclaimer

This is an early-stage project developed with the help of AI cooding tools like Claude and GitHub Copilot. It has not been as battle-tested as the standalone esp32 kiln controller. My aim if time permits is to develop this project fully, use at your own risk.

Top categories

Loading Svelte Themes