From e49bc95547e55f79553ef606005511cd428e483d Mon Sep 17 00:00:00 2001 From: Vincent van der Wal Date: Sat, 6 Sep 2025 17:18:15 +0200 Subject: [PATCH 1/4] update readme with useful info --- README.md | 142 +++++++++++++++++++++++++++++++++++++++++++++++++ platformio.ini | 8 +-- 2 files changed, 146 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5107154..8d1d4a5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,144 @@ # CrustCraft +This project aims to replace the existing thermostat of a G3 Ferrari Pizza Oven with an ESP‑chip based control system, thereby improving precision, responsiveness, and overall temperature regulation. + +Happy baking! 🍕🛠️ + + +## Prerequisites + +| **Item** | **Description** | +|------- |------- | +| ESP‑32 Dev Board | Any WiFi‑enabled chip with at least 4 GPIO pins will do | +| MAX6675 K‑Type Thermocouple | Only a K‑type 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 + +### VS Code Extension + +Open VS Code. + +Go to Extensions → Search for “PlatformIO IDE” → Install. +Restart VS Code → PlatformIO panel appears on the left. + +## Project Configuration + +Open the project: + +Platform Command +VS Code Double‑click `crust-craft` folder or open > File → Add Folder to Workspace. + +Edit platformio.ini (shown below – you can adjust as needed): + + +```ini +[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 VS Code’s PlatformIO toolbar. +The output will be displayed in the Build Log pane. +Success → you’ll see: Build Done and an `firmware.bin` file under `.pio/build`. + +## Uploading to the ESP via VS Code + +Press “Upload” (right‑hand 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 – Wi‑Fi Credentials + +The firmware stores your Wi‑Fi SSID & password in `secrets.h`. + +Copy the example or create a new file + +```bash +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 + +```mermaid +flowchart TD + subgraph MCU + ESP32[ESP32
3.3 V
GND]
+ end + subgraph Sensors + MAX6675[MAX6675
3.3 V
GND
CS, SCK, SO] + Thermo[K‑Type
+ / -] + end + subgraph Relay + RELAY[5 V Relay
IN
VCC(5 V)
GND] + end + + ESP32-->|3.3 V|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, open‑source 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 \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 925384f..9b3fa35 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,12 +9,12 @@ ; https://docs.platformio.org/page/projectconf.html [env:esp32doit-devkit-v1] -platform = espressif32 board = esp32doit-devkit-v1 - +platform = espressif32 framework = arduino -lib_compat_mode = strict -lib_ldf_mode = chain + +; lib_compat_mode = strict +; lib_ldf_mode = chain lib_deps = adafruit/MAX6675 library@^1.1.2 From 099c2a1072c53b7083d74b13bd54554414c4e991 Mon Sep 17 00:00:00 2001 From: Vincent van der Wal Date: Sat, 6 Sep 2025 17:48:47 +0200 Subject: [PATCH 2/4] try mermaid --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8d1d4a5..3955687 100644 --- a/README.md +++ b/README.md @@ -103,14 +103,14 @@ const char *password = "WIFI_PWD"; ```mermaid flowchart TD subgraph MCU - ESP32[ESP32
3.3 V
GND]
+ ESP32[ESP323.3 VGND] end subgraph Sensors - MAX6675[MAX6675
3.3 V
GND
CS, SCK, SO] - Thermo[K‑Type
+ / -] + MAX6675[MAX66753.3 VGNDCS, SCK, SO] + Thermo[K‑Type+ / -] end subgraph Relay - RELAY[5 V Relay
IN
VCC(5 V)
GND] + RELAY[5 V RelayINVCC(5 V)GND] end ESP32-->|3.3 V|MAX6675 From 2c8332051c22356d7391baa6d8abecf8a32065a2 Mon Sep 17 00:00:00 2001 From: Vincent van der Wal Date: Sat, 6 Sep 2025 17:49:56 +0200 Subject: [PATCH 3/4] rm bold --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3955687..3e54f2e 100644 --- a/README.md +++ b/README.md @@ -103,17 +103,17 @@ const char *password = "WIFI_PWD"; ```mermaid flowchart TD subgraph MCU - ESP32[ESP323.3 VGND] + ESP32[ESP32 3.3 VGND] end subgraph Sensors - MAX6675[MAX66753.3 VGNDCS, SCK, SO] - Thermo[K‑Type+ / -] + MAX6675[MAX6675 3.3 VGNDCS, SCK, SO] + Thermo[K‑Type + / -] end subgraph Relay - RELAY[5 V RelayINVCC(5 V)GND] + RELAY[5V Relay IN VCC(5V) GND] end - ESP32-->|3.3 V|MAX6675 + ESP32-->|3.3V|MAX6675 ESP32-->|GND|MAX6675 ESP32-->|SCK|MAX6675 ESP32-->|CS|MAX6675 From 5eeafa7d06e957aff34dadacbf8da21469ada7c8 Mon Sep 17 00:00:00 2001 From: Vincent van der Wal Date: Sat, 6 Sep 2025 18:23:08 +0200 Subject: [PATCH 4/4] finalize readme for now --- README.md | 60 +++++++++++++++++++++++++------------------------------ 1 file changed, 27 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 3e54f2e..638304b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,6 @@ Happy baking! 🍕🛠️ git clone https://github.com/vincvdwal/crust-craft/ cd crust-craft ``` -The repo contains the following layout: ## Installing PlatformIO @@ -42,7 +41,6 @@ VS Code Double‑click `crust-craft` folder or open > File → Add Folder to W Edit platformio.ini (shown below – you can adjust as needed): - ```ini [env:esp32dev] platform = espressif32 @@ -60,7 +58,7 @@ framework = arduino Click the “Build” icon (checkboard) in VS Code’s PlatformIO toolbar. The output will be displayed in the Build Log pane. -Success → you’ll see: Build Done and an `firmware.bin` file under `.pio/build`. +Success → you’ll see: "Build Done and an `firmware.bin` file under `.pio/build`." ## Uploading to the ESP via VS Code @@ -91,39 +89,35 @@ const char *password = "WIFI_PWD"; ## Installing the filesystem +Use NPM to install all packages used for the website -## Debugging the filesystem - - -## Building and uploading the filesystem - - -## Diagram - -```mermaid -flowchart TD - subgraph MCU - ESP32[ESP32 3.3 VGND] - end - subgraph Sensors - MAX6675[MAX6675 3.3 VGNDCS, SCK, SO] - Thermo[K‑Type + / -] - end - subgraph Relay - RELAY[5V Relay IN VCC(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 +```bash +npm i ``` +## Developing the filesystem + +For developing the FS you can use the following command: + +```bash +npm run dev +``` + +## Building and flashing the filesystem + +### Create the ESP‑FS image + +```bash +npm run build +``` + +This command writes all of your web assets (HTML, JS, CSS) into a `data/` directory + +### Upload the image to the ESP32 + +In the PlatformIO toolbar, hit "Build Filesystem Image" to pack the `data/` dir into a flashable filesystem image. +Afterwards, click "Upload Filesystem Image" to send the image to the chip. + ## Acknowlegdements