https://github.com/shmick/espresso-pid-controller
Arduino based PID controller on a Gaggia Classic espresso machine
https://github.com/shmick/espresso-pid-controller
arduino coffee esp8266 espresso gaggia iot mqtt pid thermocouple
Last synced: 3 months ago
JSON representation
Arduino based PID controller on a Gaggia Classic espresso machine
- Host: GitHub
- URL: https://github.com/shmick/espresso-pid-controller
- Owner: shmick
- Created: 2018-05-23T02:12:35.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-04-20T19:09:44.000Z (about 4 years ago)
- Last Synced: 2023-08-15T10:38:19.950Z (almost 3 years ago)
- Topics: arduino, coffee, esp8266, espresso, gaggia, iot, mqtt, pid, thermocouple
- Language: C++
- Homepage:
- Size: 1.61 MB
- Stars: 49
- Watchers: 8
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
## Espresso PID Controller
PID controller being used on a pre-2015 Gaggia Classic boiler
The slow responding and somewhat innacturate bimetal coffee thermostat is replaced with a K type thermocouple
connected to an Arduino controller that controls a Solid State Relay (SSR) to control power to the small boiler inside
the espresso machine.
### 2022-04-20 Update
* Fix: MQTT reconnect changed from 2 to 15 to stop reconnect from blocking the rest of the loop
### See [CHANGELOG](CHANGELOG.md) for previous updates
## Parts used
#### Wemos D1 Mini
#### AD8495 Thermocouple amp from [Adafruit](https://www.adafruit.com/product/1778)
#### K Type thermocouple from a QIDI 3D printer with M4 threads from [eBay](https://www.ebay.ca/itm/QIDI-TECHNOLOGY-high-quality-thermocouple-sensor-for-3d-printer-Screw-thread-M4/332233484894)
#### ADS1115 15bit ADC to provide better temperature resolution
#### Crydom Solid State Relay
#### I2C 128x64 OLED display from eBay/Amazon ( not using the OLED for daily use )
***
## Documentation
## IotWebConf Info
* AP password = espresso
## MQTT
MQTT stat topic = `espresso//stat`
Example stat payload `{"Name":"thingName","Uptime":60,"Runtime":60,"Setpoint":105,"Input":105.0,"Output":5.08,"ADC":28457,"Vout":1.78,"operMode":true,"Loops":27734,"steamMode":false}`
MQTT command topic = `espresso//cmnd`
* `{"operMode":true|false}`
* `{"steamMode":true|false}`
* `{"Setpoint":}`