From Sensors to AI: Building a Safer, Smarter Culinary Space
Before building, ensure your environment is ready:
This project uses the ESP32 ESP-DO control board, which connects to a plethora of auxiliary devices to perform various actions. The specifics of the ESP-DO are as follows:
The project also includes a battery pack and charger as shown:
The power supply can only charge one battery at a time. When the charging indicator light goes out, it means the left battery is fully charged. Swap the positions of the two batteries and continue charging the other battery.
When using the mainboard motor drive, this power supply is required, and a 3.7V output is sufficient. Unplug the power cord when not in use.
The main structure consists of a number of wooden components and auxiliary devices. Below are the steps on how to properly assemble them into the Smart Kitchen model:
The structure will be laid out on the base plate (wooden board #1) in the following arrangement:
Screw 4 M3*6 screws into 4 brass spacers through the corresponding holes in the base plate (wooden board #1) as shown.
Secure the ESP-DO board to the brass spacers as shown using 3 additional M3*6 screws.
Take wooden boards #23, #24, #25, #26, and #27 and assemble them into the food storage bin structure, then insert it into the base plate as shown and secure the wooden tabs in place with rubber bands.
Take wooden board #8 and insert it into the base plate adjacent to the food storage bin, then insert the tab from the lid of the storage bin into the slot on board #8 as shown, securing it with a rubber band.
Take the line tracking module and plug in a 40cm 4-pin wire, place the module against board #8 as shown, and secure it in place with the black fasteners (note that these do not have to be screwed or separated in any ways, but simply pushed through the fastener holes).
Install the VOC gas sensor and temperature/humidity sensor modules on the opposite side of board #8 as shown, and connect their wiring and secure them in place similarly to the line tracking module.
Take wooden board #7 and insert it into the base plate in the location shown, then connect wooden board #18 to the upper part of board #7 as pictured and secure with rubber bands.
Take wooden board #3 and insert it into the base plate as show, and connect the wooden tabs from boards #7, #8, and #18 to the corresponding slots on board #3. Secure the tabs on board #18 with rubber bands.
Take wooden board #10 and connect it to boards #7 and #8 by bridging them at the top, as shown in the picture. Secure the top tabs of boards #7 and #8 with rubber bands.
Take wooden boards #19, #20, #21, and #22 and assemble them into the structure shown below, and secure the wooden tabs to the end plate with rubber bands.
Attach this component to the main structure in the position shown and secure the wooden tabs on the back with rubber bands.
Take wooden board #9 and attach the two refrigerator handles in the configuration shown, securing them on the back with rubber bands.
Insert board #9 into the base plate at the front of the board #7-8-10 structure (the refrigerator body) as shown in the picture.
Take wooden board #5 and orient it as shown. Connect the water level sensor to a 20cm 3-pin wire and attach it to board #5 in the position as pictured, threading the cable through the cable hole, and using the black fasteners to secure it in place.
Attach the RGB light strip to board #5 in the position as pictured, threading the cable through the cable hole at the left end.
Insert board #5 into the base plate in the orientation shown, then attach wooden board #6 to its far end in the position shown and secure both in place with rubber bands.
Take wooden board #14 and attach the fan module to it in the orientation shown, securing it in place with 4 M3*15 screws and M3 nuts.
Take wooden boards #11, #12, and #13, and attach them to board #14 as shown to form the range hood assembly. Attach this assembly to wooden board #2 in the configuration pictured.
Take wooden boards #15, #16, and #17, and assemble them into the assembly shown in the image, then attach this assembly to board #2 in the position shown.
Take out the tone buzzer, OLED, flame sensor, and human motion sensor modules, and connect the corresponding wires:
Attach all modules to board #2 in the positions pictured, and use black fasteners to secure them in place.
Attach the AI Smart Assistant module to the back of board #2 and secure it in place with M3*15 screws and nuts, then attach the battery module to the back of board #2 in the location shown and secure it in place with M3*6 screws.
Take out wooden board #4, and attach the 5-directional input module in the position shown, securing it in place with black fasteners.
Attach the LED light ring and 180-degree servo in the positions shown adjacent to the 5-directional input module, using M2 screws and nuts to secure them in place.
M2 nut: 
M2 screw: 
Attach board #2 to the main structure and thread all remaining loose wires through the appropriate wire holes to connect them to the ESP-DO.
(Note: connecting the wiring to the correct pins can be done at a later stage, but for the sake of convenience do not secure any panels with wires that are still unconnected.)
Take out wooden board #29 and use M2 screws to attach the 180-degree servo to the board in the configuration shown. Assemble board #29 with wooden boards #28, #30, #31, and #32 to form a trash can, then attach this trash can to the base plate and connect the servo wire through the wire hole to the control board.
Using lights, displays, and sounds to communicate system status to the user.
Understand how to use and control LED lighting.
Button direction.Button direction to 1 and change the light strip to a gradient.Button direction to 2.Button direction to 3.Button direction to dictate the following states:
Button direction = 1: Set LED light strip to perform circular movement with 0.2 second interval.Button direction = 2: Turn all lights off.Button direction = 3: Set all lights to white.
Understand how to use and control LED lighting.
Power and Light Number.Power ≤ 0 (stove is off): fire up the lights in quick succession and set Power to 100.Power by 20.Power by 20.Power.
Power with initial value 180.Power by 1 if the Left direction is pressed and Power < 180.Power by1 if the Right direction is pressed and Power > 0.Power.
Power and Light Number.Power by 1 when Left direction is pressed.Power by 1 when the Right direction is pressed.Power at 0 and 100 respectively.Power value of 50.Power (0-100) mapping to the brightness value (0-255).Power (0-100).
Understand how to activate and control range hood ventilation.
Fan Speed.Fan Speed values 0, 1, 2, and 3.Fan Speed:
Fan Speed = 1: set fan speed (pin 4) to 600.Fan Speed = 2: set fan speed to 800.Fan Speed = 3: set fan speed to 1000.
Understand how to use and control the OLED screen and tone emitter.
Power.Power by 1 when Left direction is pressed.Power by 1 when the Right direction is pressed.Power at 0 and 10 respectively.Power on OLED line 1.Power (0-10) mapping to the brightness value (0-255).
Delay with initial value 0.05.[Delay] seconds.Delay pauses, and optionally using loops or repeats.
Implementing sensor-based "Watchdogs" to prevent accidents.
Set up a system to detect gas leaks and alert the user.
Combustible gas.Combustible gas.Combustible gas on OLED line 2.Combustible gas < 100 (or an underflow value), display "Normal".
Learn how to set up fire alarms and water level sensors.
Flame sensor and Delay.Flame sensor.Flame sensor on OLED line 2.Flame sensor ≤ 3000, call your function and map the value of Flame sensor (4095-0) to the value of Delay (1000-0).[Delay] milliseconds (or Delay / 1000 seconds).
Water level sensor and Tone.Water level sensor.Water level sensor (800-3600) to Tone (0-170).Water level sensor < 800, turn off the LED light strip (pin 12).Water level sensor > 3600, set the LED light strip to Red and play a tone.Tone-180) to 180 and play the tone at different timing.
Design a system that automatically turns off the stove after human inactivity.
Start Time and Fire. Set Start Time initial value to 0.Fire to 0 if the 5-way direction pad is pressed Left, and 1 if it is pressed Right.Fire = 1:
Start Time.Start Time exceeds 5 seconds, set Fire and Start Time to 0.
Smart management of resources and equipment health.
Design a trash can that responds to user inputs.
Switch variable Switch = 1 : Set pin 15 servo angle to 2.
Set up a system to monitor food freshness in the refrigerator.
Carbon dioxide and Formaldehyde.Carbon dioxide value to the CO2 value from the VOC sensor (pin 26).Formaldehyde value to the HOHC value from the VOC sensor.Carbon dioxide on OLED line 1.Formaldehyde on OLED line 2.Formaldehyde > 50 OR Carbon dioxide > 400: display "Food has spoiled".Carbon dioxide > 200: display "Food may spoil".
Carbon dioxide, Formaldehyde, and Risk level.Carbon dioxide on OLED line 1.Formaldehyde on OLED line 2.Risk level = 2:
Risk level = 1:
Carbon dioxide value to the CO2 value from the VOC sensor (pin 26).Formaldehyde value to the HOHC value from the VOC sensor.Formaldehyde > 50: set Risk level to 2.Carbon dioxide > 200: set Risk level to 1.Risk level to 0.
Create a loose food storage that can actively track and notify the user of the amount of food stored.
S1, S2, and Status.S1 and S2 (pin 19) into S2.Status to S1 + (S2 * 10).Status = 0: display "Food sufficient"Status = 10 or 1: display "Food storage half full
S1 and S2.S1 and S2 (pin 19) into S2.S1 = 0 AND S2 = 0: display "Food sufficient" on OLED line 2 and set LED light strip (pin 12) to Green.S1 OR S2 = 0 : display "Food storage half full" on OLED line 2 and set the first 6 LED lights to Orange, leaving the rest dark.
Design a cleaning reminder system for the range hood.
Start time and Cumulative time.Cumulative time to read the value from EEPROM address 0.Start time on OLED line 1, the timer value (ms) on OLED line 2, and Cumulative time on OLED line 3.Cumulative time > 100, display "The range hood needs cleaning" on OLED line 4.Start time = 0, set Start time to the current timer value (ms).Start time is not 0:
Cumulative time to (Cumulative time + (timer value (ms) - Start time)/1000).Start time to 0.Cumulative time to EEPROM address 0.
Using Large Language Models (LLM) for natural interaction and system-wide control.
Use AI to enhance the cooking experience in the Smart Kitchen.
Instruction data.Instruction data.Instruction data on OLED line 1.Instruction data for RGB values.Instruction data on OLED line 2.Instruction data = 1, set the angle of the servo motor (pin 15) to 0. Otherwise, set the angle to 90.
Temperature, Humidity, Temperature record, and Humidity record.Temperature and Humidity values to the Temperature and Humidity values from the DHT11 sensor (pin 27).Temperature value on OLED line 1.Humidity value on OLED line 2.Temperature =/= Temperature record, send the data from Temperature to the AI module.Humidity =/= Humidity record, send the data from Humidity to the AI module.Temperature record to Temperature, and set the value of Humidity record to Humidity.
Instruction data.Instruction data.Instruction data on OLED line 1.Instruction data * 25.Instruction data * 18)).
Use AI to enhance the cooking experience in the Smart Kitchen.
Timer, Start time, and Time remaining.Timer.Start time to the timer value (ms).Time remaining to Timer.Timer on OLED line 1.Time remaining > 0:
Time remaining to (Timer - ((timer (ms) - Start time)/1000)).Time remaining on OLED line 2.Timer > 0:
Timer, Start time, and Time remaining to 0.Time remaining on OLED line 2.
Timer, Time left, Start time, and Flame level.Flame level.Flame level on OLED line 2.Instruction data * 25.Instruction data * 18)).Start time to the timer value (ms).Timer.Time left to Timer.Timer on OLED line 3.Time left > 0:
Time left to (Timer - ((timer (ms) - Start time)/1000)).Time left on OLED line 4.Timer > 0:
Timer, Start time, and Time left to 0.
Instruction data.Instruction data.Instruction data = 0:
Instruction data = 2:
Combine all prior projects into a single unified system.
All devices and pins - refer to previous projects