2025-09-06 17:48:47 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 09:49:26 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 17:18:15 +02:00
2025-09-06 17:48:47 +02:00
2025-09-06 16:11:19 +02:00
2025-09-06 16:11:19 +02:00

CrustCraft

This project aims to replace the existing thermostat of a G3Ferrari Pizza Oven with an ESPchip based control system, thereby improving precision, responsiveness, and overall temperature regulation.

Happy baking! 🍕🛠️

Prerequisites

Item Description
ESP32 Dev Board Any WiFienabled chip with at least 4 GPIO pins will do
MAX6675 KType Thermocouple Only a Ktype thermocouple can withstand the temperatures required
5V Relay Module Atleast 10A
Power Supply 5V / 2A AC-DC adapter
Connecting Wires Silicone heat resistant wiring

Clone the Repository

git clone https://github.com/vincvdwal/crust-craft/
cd crust-craft

The repo contains the following layout:

Installing PlatformIO

VSCode Extension

Open VSCode.

Go to Extensions → Search for “PlatformIO IDE” → Install. Restart VSCode → PlatformIO panel appears on the left.

Project Configuration

Open the project:

Platform Command VSCode Doubleclick crust-craft folder or open > File → Add Folder to Workspace.

Edit platformio.ini (shown below you can adjust as needed):

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino

; Optional environment for ESP8266
[env:esp8266]
platform = espressif8266
board = nodemcuv2
framework = arduino

Building the Firmware

Click the “Build” icon (checkboard) in VSCodes PlatformIO toolbar. The output will be displayed in the Build Log pane. Success → youll see: Build Done and an firmware.bin file under .pio/build.

Uploading to the ESP via VSCode

Press “Upload” (righthand arrow icon) in the PlatformIO bar → It will compile (again if necessary) and flash to the device.

Serial Monitor

Click the “Monitor” icon (plug + arrow) or Ctrl+Alt+M

Custom Configuration WiFi Credentials

The firmware stores your WiFi SSID & password in secrets.h.

Copy the example or create a new file

cp src/secrets.example.h src/secrets.h

And replace the following with your Wi-Fi credentials

// Replace with your network credentials
const char *ssid = "WIFI_SSID";
const char *password = "WIFI_PWD";

Installing the filesystem

Debugging the filesystem

Building and uploading the filesystem

Diagram

flowchart TD
    subgraph MCU
        ESP32[<b>ESP32</b>3.3VGND]
    end
    subgraph Sensors
        MAX6675[<b>MAX6675</b>3.3VGNDCS, SCK, SO]
        Thermo[<b>KType</b>+ / -]
    end
    subgraph Relay
        RELAY[<b>5V Relay</b>INVCC(5V)GND]
    end

    ESP32-->|3.3V|MAX6675
    ESP32-->|GND|MAX6675
    ESP32-->|SCK|MAX6675
    ESP32-->|CS|MAX6675
    ESP32-->|GPIO15|RELAY
    ESP32-->|GND|RELAY

    Thermo-->|+|MAX6675
    Thermo-->|-|MAX6675

Acknowlegdements

This project would not have been possible without the awesome, opensource libraries below.

Library GitHub URL License
adafruit/MAX6675 library https://github.com/adafruit/MAX6675-library BSD
bblanchon/ArduinoJson https://github.com/bblanchon/ArduinoJson MIT
ayushsharma82/ElegantOTA https://github.com/ayushsharma82/ElegantOTA AGPL-3.0
ESP32Async/AsyncTCP https://github.com/ESP32Async/AsyncTCP LGPL-3.0
ESP32Async/ESPAsyncWebServer https://github.com/ESP32Async/ESPAsyncWebServer LGPL-3.0

ToDo

Display

In the long run a capacative LCD screen might be used in addition to the WebSocket connection

S
Description
No description provided
Readme MIT
926 KiB
Languages
Svelte 35.3%
C++ 24.6%
CSS 23.2%
TypeScript 13.6%
JavaScript 2.5%
Other 0.8%