AI stove safety checker using Arduino UNO Q, OpenClaw, computer vision, and an MQ-2 gas sensor.
In countries where gas stoves are common, a frequent OCD-related behavior is repeatedly checking stove knobs before sleeping or leaving home.
This project combines:
- Computer vision
- Gas sensing
- Natural language interaction
- Linux + MCU hybrid processing
to create an AI-powered stove monitoring device.
The system checks whether stove knobs appear closed and cross-validates the result using a gas sensor.
The result is delivered through Telegram or WhatsApp in plain language.
Example:
"The stove appears to be off. Gas levels are normal."
- π₯ Detects possible open stove knobs using AI vision
- π§ͺ Cross-checks with MQ-2 / FC-22 gas sensor
- π€ Natural language interaction through OpenClaw
- π· USB webcam support
- π‘ Telegram or WhatsApp integration
- π§ Optional offline ML model via Edge Impulse
- β‘ Uses Arduino RouterBridge between Linux and MCU
- π© Compatible with Arduino ecosystem
- Arduino UNO Q (4 GB recommended)
The UNO Q contains:
| Processor | Purpose |
|---|---|
| STM32U585 MCU | Real-time sensor handling |
| Qualcomm DragonWing QRB2210 MPU | Debian Linux + AI agent |
This allows Linux applications and real-time microcontroller tasks to run simultaneously.
| Part | Qty |
|---|---|
| Arduino UNO Q | 1 |
| USB webcam | 1 |
| USB-C hub with power delivery | 1 |
| MQ-2 / FC-22 gas sensor | 1 |
| Female-male jumper wires | 3 |
| UNO Q | MQ-2 |
|---|---|
| A0 | AOUT |
| 5V | VCC |
| GND | GND |
The device uses two independent methods:
A webcam captures the stove knobs.
OpenClaw analyzes the image using a vision-capable AI model to determine whether knobs appear open or closed.
An MQ-2 sensor measures combustible gas concentration.
The sensor acts as a secondary validation layer.
MQ-type sensors require calibration.
A fixed threshold is unreliable because readings vary due to:
- Temperature
- Humidity
- Sensor tolerances
- Altitude
Recommended process:
- Power the sensor for at least 2 minutes
- Measure clean-air baseline for 60 seconds
- Average the readings
- Trigger alerts above ~130% of baseline
Adjust sensitivity depending on environment.
#include <Bridge.h>
int readSensor() {
return analogRead(A0);
}
void setup() {
Bridge.begin();
Bridge.provide("readSensor", readSensor);
}
void loop() {
delay(100);
}from arduino.app_utils import Bridge
value = Bridge.call("readSensor")
print(value)The RouterBridge transparently handles RPC communication between the MCU and Linux processors.
Install Arduino App Lab and configure:
- Wi-Fi
- Password
- SSH access
SSH example:
ssh arduino@BOARDNAMEcurl -fsSL https://openclaw.ai/install.sh | bashsudo apt-get update -y
sudo apt-get install -y fswebcam v4l-utils
sudo usermod -aG video arduinofswebcam -d /dev/video0 -r 1280x720 --no-banner test.jpg- Open Telegram
- Search for
@BotFather - Run
/newbot - Save the token
- Start the bot
- Get your chat ID from
@userinfobot - Configure OpenClaw
Is the stove off?
Did I leave the gas on?
Check the burners.
Check the knobs before sleep.
For fully offline inference:
- Train a model using Edge Impulse
- Use kitchen-specific images
- Deploy locally on the UNO Q
- No Internet dependency
- Environment-specific training
- Model training required
- More deployment complexity
- Historical logs
- Local-only inference
A basic enclosure is included.
Features:
- Tripod mount
- Front-facing camera position
- MQ-2 mounting support
Recommended material:
- PLA
- Supports enabled
This project is experimental.
It should not be considered a certified gas safety device.
Always follow proper gas safety practices.
- https://www.arduino.cc/product-uno-q
- https://docs.arduino.cc/tutorials/uno-q/routerbridge-multilanguage/
- https://docs.arduino.cc/software/app-lab/getting-started/quickstart/
MIT