Skip to content
All projects
IoT Smoke Detector & Alert System
IoTcompleted

IoT Smoke Detector & Alert System

Apr 20233 months
<5sfrom smoke detected to SMS + email + dashboard alert — wherever you happen to be

Overview

A regular smoke alarm is useless if you're not home to hear it. This project closes that gap: an MQ-2 sensor on an Arduino watches the air, an ESP8266 streams readings to the cloud, and the instant smoke crosses a threshold it fires SMS and email alerts and updates a live web dashboard. It's a small, honest end-to-end IoT system — sensor to phone.

Tech Stack

frontend
React
backend
Node.jsExpress
database
Firebase
other
ArduinoESP8266Twilio API

Challenges

  • Getting reliable, timely communication from a tiny sensor up to a backend server.
  • Staying sensitive to real smoke while avoiding false alarms that train people to ignore it.
  • Delivering alerts across several channels — SMS, email, and web — at once.
  • Building a dashboard simple enough to glance at and trust.

Solution

An MQ-2 sensor feeds an Arduino, and an ESP8266 relays readings wirelessly to a Node/Express backend that evaluates them against a threshold. When smoke is detected it triggers instant alerts via the Twilio API and Firebase Cloud Messaging, while a React dashboard shows live status and alert history for review after the fact.

Outcome

The system turned a passive alarm into an active one: detection within seconds, alerts pushed to a phone wherever you are, and a history you can look back on. It's a clean demonstration that meaningful safety tech doesn't require expensive hardware — just thoughtful wiring of cheap parts to the cloud.

What I'd do differently

A single threshold is brittle — it false-alarms on shower steam and cooking. I'd fuse a second signal (temperature or CO) and apply a simple rolling-average or tiny on-device model to confirm a real event before alerting, plus a local battery-backed buzzer so safety never depends on Wi-Fi being up.

Built with

ArduinoESP8266MQ-2 Smoke SensorC++Node.jsExpressFirebaseReactTwilio API