This project covers somewhat advances features for an espresso machine controller. The basic idea was to have reproducible "espresso results" due to temperature regulation and being able to fine-tune. Especialy small machines have a low heat capacity and quality suffers a lot from different heat-up-times and high hysteresis in standard temperature switches. This work is based on my previous work with with IoT, MQTT and my small controller cofcon. As always - take care, you are working with high voltages and you are switching loads up to a few Kilowatts. Please be sure yo know what you are doing, always disconnect and unplug you machine before installing electronics components, choose your components (cables, connectors, sensors, SSR etc.) wisely...
- Espresso Machine (Gaggic CC, Rancilio Silvia etc.)
- ESP8266 with Arduino for ESP8266
- ArduinoJSON v6
- Arduino-PID-Library v1
- ArduinoStreamUtils
- a suitable temperature sensor (e.g. TSIC 306 - library here)
- a SSR which is capable of switching your heater, has a low trigger threshold and does not draw too much current (otherwise you will toast your ESP8266)
- some electronics skills
- very fast and accurate adaptive PID-Controller for the heater of your espresso machine (heat-up-time about 2 minutes, stability/RMS of ~0.15 °C)
- WWW-Interface for control, configuration and tuning
- Telnet-Server for PID status (analogous to serial terminal)
- MQTT-Interface (needs PubSub-Client)
- OTA-Flash enabled (over-the-air, flash firmware via upload in WWW-Interface)
- Serial Interface for testing, debugging
- JSON-Config in internal SPIFFS (uses ArduinoJSON)
- Re-Written auto-tuning-loop to optimize PID parameters
- integrated simulation to test features and functionality