forked from Saur0o0n/PIDKiln
-
Notifications
You must be signed in to change notification settings - Fork 1
PIDKiln preferences
Alejandro Mora edited this page May 15, 2026
·
1 revision
At first startup, configure ESP32Kiln through the web interface. Since ESP32Kiln creates a WiFi AP on first boot, you can connect to it immediately:
-
WiFi network:
PIDKiln_AP -
Password:
hotashell
Then open a browser to http://192.168.10.1 to access the web interface.
Alternatively, edit data/etc/pidkiln.conf before uploading SPIFFS to pre-configure WiFi credentials - then ESP32Kiln will connect to your network on first boot.
At minimum, set WiFi_SSID / WiFi_Password and review the safety temperature limits.
data/etc/pidkiln.conf is a plain text INI-format file. It is transferred to the SPIFFS filesystem during the data upload step. It can also be edited live through the Preferences page in the web interface.
The full reference config below documents all available parameters:
#
## Preferences for ESP32Kiln system
#
#
# WiFi/Network preferences
#
# SSID and password for the AP to which ESP32Kiln should connect
WiFi_SSID =
WiFi_Password =
# How many seconds ESP32Kiln tries to connect to WiFi AP. 0 = infinite loop
WiFi_Retry_cnt = 9
# WiFi operating mode:
# 0 = no WiFi; 1 = connect to AP, if failed become AP (default)
# 2 = connect to AP only; 3 = be AP only
WiFi_Mode = 1
#
# HTTP server configuration
#
# Should large JS scripts be loaded from the Internet (0) or served locally (1)?
# Default is 0 (Internet). Local serving can trigger ESP32 watchdog resets for large files.
HTTP_Local_JS = 0
#
# Web authentication
#
Auth_Username = admin
Auth_Password = hotashell
#
# Time and NTP setup
#
NTP_Server1 = 0.pool.ntp.org
NTP_Server2 = 1.pool.ntp.org
NTP_Server3 = 2.pool.ntp.org
# Time offset in seconds from GMT (e.g. UTC-5 = -18000, UTC+1 = 3600)
GMT_Offset_sec = 3600
# Daylight saving offset in seconds (3600 for 1 hour, 0 if no DST)
Daylight_Offset_sec = 3600
# Fallback date/time if no NTP is available
Initial_date = 2024-01-01
Initial_time = 12:00:00
#
# PID Configuration
#
# PID algorithm type (used by auto-tune and manual operation):
# 0=PID (classic), 1=PID_PoM, 2=PI, 3=PI_PoM, 4=P, 5=P_PoM
PID_Algorithm = 5
# PID cycle window size in ms
PID_Window = 5000
# PID parameters (float, 0-255 range)
PID_Kp = 20
PID_Ki = 0.2
PID_Kd = 0.1
# Proportional on Error (1) vs Proportional on Measurement (0)
PID_POE = 1
# Temperature threshold: if (set_temp - current_temp) > this value, wait in dwell
# before advancing. Default -1 = do not wait (advance on time only).
# Warning: if temperature is never reached, the program stalls indefinitely.
PID_Temp_Threshold = -1
# Thermocouple sampling interval in ms (default 500ms = 2Hz)
PID_Measure_Interval = 500
#
# Logging configuration
#
# How often to log temperature to CSV file (seconds). 0 = disable logging.
LOG_Window = 30
# Maximum number of log files to keep on SPIFFS. Oldest files are deleted automatically.
# 0 = unlimited. Note: each program run produces 2 files (.csv + .log).
LOG_Files_Limit = 40
# Serial debug output (1 = enabled, 0 = disabled)
DBG_Serial = 1
# Syslog UDP output (1 = enabled, 0 = disabled)
DBG_Syslog = 0
# Syslog server IP and port (used only if DBG_Syslog = 1)
DBG_Syslog_Srv = 192.168.1.2
DBG_Syslog_Port = 514
#
# Safety parameters
#
# Abort if temperature drops to or below this value (°C)
MIN_Temperature = 10
# Abort if temperature reaches or exceeds this value (°C). Also enforced in program editor.
MAX_Temperature = 1350
# Abort if housing temperature (second thermocouple) exceeds this value (°C)
MAX_Housing_Temperature = 130
# Thermal runaway detection: minutes without temperature increase (+5°C) before abort.
# 0 = disabled. Tune this carefully for your setup - too short will cause false aborts.
Thermal_Runaway = 0
# How long (seconds) to keep ALARM_PIN high after abort. 0 = alarm disabled.
Alarm_Timeout = 0
# Number of combined thermocouple A+B read errors to tolerate before aborting.
# Increase if you have occasional sporadic read errors.
MAX31855_Error_Grace_Count = 5