A project to control a peanut, coffee & cocoa roaster with an ESP32
All logic depends on the data given by the Thermocouple (MAX6675) & DHT22 sensors. It's intention is to control 3 motors, which will turn on or off based on the temperature that it reaches.
When the temperature reaches the value set on the config, it feeds a relay that controls the first motor, and also starts a timer that was set on the config. Extra configs can be saved.
There will be two push buttons, one will add +1min to the time (and start the timer if there isn't one already), and the other will reduce -1min to the time.
When the timer stops, a buzzer* starts making noise and also feeds the other 2 relays that controls the second & third motor.
Motors can only be stopped manually by either the security button or through the app interface.
MicroPython built-in dht library.
https://github.com/BetaRavener/micropython-hw-lib/blob/master/MAX6675/max6675.py
Uses both the API (lcd_api) and the machine module (machine_i2c_lcd).
https://github.com/dhylands/python_lcd
I made my own module that supports sse based on https://github.com/troublegum/micropyserver and this fork https://github.com/ferdinandog/micropyserver/tree/new-utils