Bastelix-Lab
IoT Projects
All Projects
Touch HMI

GaFuBi HolzBackofen

WiFi controller for a wood-fired oven with touch display and Home Assistant
ESP32-S32.8" TFTMAX31855Thermocouple Typ KSHT31PlatformIOMQTTHome AssistantWebSocketLittleFS
GaFuBi HolzBackofen
Main image coming soon

Description

A self-developed controller for direct-fired wood-fired ovens — pizza domes, stone bakers, classic fireclay ovens. Developed and commissioned on a fireclay dome oven with stone floor. The core is an ESP32-S3 with two MAX31855 boards, each reading a K-type sheathed thermocouple (Inconel 600): one measures the dome, the other the floor at the baking stone. Both values land live on a 2.8" touch display (ILI9341 + XPT2046) and on the web UI in parallel. The web UI runs over WebSocket with Chart.js, is mobile-friendly, ships with five themes and switches between German and English at runtime. The touch display offers five swipeable pages — main, live chart, timer, network, system. 11 baking programs (Pizza Napoletana, classic, tarte flambée, bread loading/finishing, cake, braising, plum butter, drying, ...) with realistic target temperatures follow the natural cooling curve of a wood oven — one firing is enough for several programs back to back. Each program has a default bake time from practical research, the suggestion is adjusted dynamically based on actual oven temperature, and from the third bake onwards the system learns from the average of the measured times. A cooling alarm warns when the oven cools too fast for the planned bake time. Every firing session is logged automatically as CSV on LittleFS (start above 60 °C, stop after 10 min below 40 °C, max. 12 sessions ring buffer). CSV download straight from the web UI — heat-up and cool-down curves end up in Excel or Grafana. An optional **SHT31** on the case acts as ambient reference: with it the firmware delivers a **Newton cooling prediction** ("oven at 200 °C in 1h45min") from a live fit of the time constant over the last 5 min of cool-down, plus dew point via the Magnus formula. Home Assistant integration via MQTT auto-discovery: dome and floor temperatures as sensors with `state_class: measurement` (long-term statistics), and ambient temperature + humidity if an SHT31 is fitted, program selector, ready binary sensor. Program switching works both ways — from the display or from Home Assistant.

Want something like this built?
This is exactly what my "Custom ESP32 Firmware" package covers — from 239€.
I deliver software only (firmware, configuration, code) — no assembled hardware. The components used are only linked for reference, you buy them yourself. Enclosures on request.

Features

  • 2 K-type thermocouples (dome + floor) via MAX31855 on dedicated HSPI bus
  • 2.8" touch display with 5 swipeable pages (LovyanGFX + custom XPT2046 driver)
  • Live web UI with WebSocket and Chart.js, 5 themes, DE/EN runtime switch
  • 11 baking programs with realistic targets and ETA estimation
  • Adaptive bake-time timer that learns from your last 3 bakes
  • Cooling alarm when the oven drops out of the target window too quickly
  • Session logger: CSV recording of every firing on LittleFS
  • Home Assistant integration via MQTT auto-discovery (bidirectional)
  • Custom raw-SPI read for clone MAX31855 (ignores broken OC bit)
  • 3-read burst with median filter against clone jitter and SPI dropouts
  • 2-point calibration per sensor (ice water + boiling water)
  • Optional SHT31 for Newton cooling prediction and dew point
  • Partial-push rendering on the TFT (only dynamic regions, no tearing)
  • 30-min web chart with localStorage persistence
  • Captive portal only on first config, auto-reconnect watchdog
  • OTA updates via mDNS (`backofen.local`)

Techstack

Hardware
  • ESP32-S3 DevKit N16R8
  • 2.8" SPI TFT (ILI9341 + XPT2046)
  • 2× MAX31855 K-Type
  • 2× K-Typ Mantel-TC Inconel 600 (Ø3 mm)
  • SHT31 I²C T/RH (optional)
Software
  • PlatformIO
  • Arduino Framework (espressif32@^6.9.0)
  • LovyanGFX
  • AsyncTCP + ESPAsyncWebServer
  • AsyncMqttClient
  • ArduinoJson 7
  • LittleFS
Integration
  • Home Assistant MQTT Discovery
  • MQTT Broker
  • OTA via mDNS

Screenshots

Dome oven with touch display on the control panel
Image coming soon
Dome oven with touch display on the control panel
Controller in action — touch display and web UI live
Touch display main page — dome and floor temperature, program, verdict (English UI)
Image coming soon
Touch display main page — dome and floor temperature, program, verdict (English UI)
Web UI with live chart of the last 6 minutes (English language variant)
Image coming soon
Web UI with live chart of the last 6 minutes (English language variant)
Timer page with big buttons (German UI — display and web UI are switchable DE/EN)
Image coming soon
Timer page with big buttons (German UI — display and web UI are switchable DE/EN)
History page on the touch display (German UI)
Image coming soon
History page on the touch display (German UI)
Clone MAX31855 calibration in the web UI (2-point with ice/boiling water, English variant)
Image coming soon
Clone MAX31855 calibration in the web UI (2-point with ice/boiling water, English variant)
Enclosure front panel with GAFUBI lettering (multi-color FDM print)
Image coming soon
Enclosure front panel with GAFUBI lettering (multi-color FDM print)
Internals — ESP32-S3 with MAX31855 boards and wiring
Image coming soon
Internals — ESP32-S3 with MAX31855 boards and wiring
The fireclay dome oven in the garden (construction phase)
Image coming soon
The fireclay dome oven in the garden (construction phase)

More about this project