Skip to content

krulkip/Hob2Hood

Repository files navigation

🛠️ Hob2Hood ESP32 Control System

📌 What is Hob2Hood? Hob2Hood is an automation system that allows an induction hob (cooking top) to communicate wirelessly with a kitchen range hood. It controls the ventilation fan speed and lighting based on whatthe hob’s communicates to the hood — for example, turning on the fan and lights when cooking starts, or adjusting its speed as the heat increases.

4 relay board ESP32 D1 mini
4Relay ESP32 D1 mini

Some hobs and hoods support Hob2Hood natively (e.g. AEG, Electrolux), using infrared (IR) communication to transmit commands. This project replicates and enhances that functionality using an ESP32, allowing: Manual or IR-based fan/light control
OTA (Over-The-Air) firmware updates
Web-based control interface\

🚀 What This Program Does This firmware is running on an ESP32:
Listens to IR commands using the RMT peripheral and a TSOP4838 IR receiver.
Decodes DECODE_HASH - format signals. This is a native IRRemote library protocol that works with Hob2Hood.
Maps decoded signals to known Hob2Hood commands (Vent1–4, Light On/Off)
Controls output GPIO pins that switch relays connected to:\ Fan speed relays (Vent1–4)
Light switch
Hosts a web interface which has a serial input where commands can be typed in (via SerialHTML)
These real-time command reception works via WebSocket
Supports OTA updates, with IR and SerialHTML safely paused during update
Implements a watchdog timer for reliability

🔌 Wiring / Pinout (ESP32 to Hood)
Function ESP32 GPIO\
IR Receiver GPIO 5 Connect IR sensor OUT pin here
Fan Speed (1) GPIO 32 Level shifter FAN HIGH or LOW
Fan Speed (2/3) GPIO 27 Not used relay needs to be HIGH allways Fan On/Off Ctrl GPIO 19 Main ventilation power ON/OFF
Light On/Off GPIO 25 Relay to control hood light
Built-in LED GPIO 2 Status indicator\

All output pins drive relays to control hood ventilator and light.

🌐 Web Interface (SerialHTML) Simple control page served by ESP32 to control Light and Vent speed via WebSocket.

🔧 Installation & Setup
Ensure you have the following libraries installed:\

ESPAsyncWebServer
AsyncTCP
ArduinoOTA
SerialHTML (custom or internal library)
Connect to the ESP32's IP address shown in serial output after WiFi connection.\

⚙️ Special Features
🔧 Modular structure: clean, well-organized functions.
📡 OTA integrated safely to enable over the air updates (disables IR for robustness).
🔄 Watchdog Timer (WDT) to ensure recovery from freezing/lockups covering all cores.
🌐 WiFi reconnect logic is lightweight and correct.
📲 SerialHTML abstraction for WebSerial with realtime WebSocket control.
📦 CommandQueue + xQueue usage is perfect for decoupling.
🧪 Debug info sent to serialHTML for checking incoming IR codes.
🕹️ IR Task on separate core giving robustness and responsiveness.\

🧠 IR Code Mapping
IR Code (Hex) Function
0xE208293C Light ON
0x24ACF947 Light OFF
0xE3C01BE2 Ventilation 1
0xD051C301 Ventilation 2
0xC22FFFD7 Ventilation 3
0xB9121B29 Ventilation 4
0x055303A3 Ventilation OFF\

🧪 Debugging & Logs
Open the Web Serial Monitor at ESP32Hob2Hood/serial
IR signal decoding
Fan/light command handling
OTA state
WiFi reconnection attempts
Watchdog resets (if triggered)
📸 Images Schematic / wiring diagram

Schematic

Screenshot of the web control page

Screenshot

Old wiring of Hood. The 3 way rocker switch was replaced by two relays. In my actual wiring i have used 3 but one is closed permanently and so has no function.

Some improvements possible.
Put a 100nF capacitor on the power supply to the ESP32
Add a 10kOhm resistor pull down on the IR receiver.
These should improve the IR receiver and produce less eroneous signals.
Add a snubber circuit to dampen the relay. I see that when the relay operates this generates bogus IR signals.
RC snubber: good for both AC/DC, but may allow some current leakage.
Diode: simple, great for DC, slows turn-off time slightly.
Zener + diode: faster turn-off, tighter voltage control.
Varistor (MOV): robust spike suppression, mainly AC use, can degrade over time.

About

Hob2Hood interface with ESP32

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages