Skip to main content
Polymath Corporation
AI / SYSTEMS / PRODUCTS

FireShow

AI-powered fire risk prediction and computer vision detection.

Developed internally as an experimental connected-safety system.

Year
2026
Status
Working prototype
Role
Designed and built the full system — hardware, firmware, ML, backend and mobile app.
Categories
AIComputer VisionConnected SystemsIoTFlutterESP32
FireShow mobile app overview screen showing ML fusion risk score, zones, live temperature, humidity, CO and smoke readings

01

The problem

Fire still causes significant loss of life and property, and early warning often depends on standalone smoke alarms that give no context, no remote visibility and no way to understand risk before an event.

Existing low-cost solutions tend to be either single-sensor alarms with no intelligence, or cloud-heavy surveillance systems that are expensive, hard to deploy and useless when connectivity drops.

The useful problem sits between those extremes: give a space continuous multi-sensor awareness, local intelligence that works offline, and a clear interface that tells a person what to do — monitor, investigate or evacuate.

02

Context

Built as an internal Polymath experiment to explore how far a single engineer can push a connected-safety system when hardware constraints, unreliable connectivity and on-device ML are treated as first-class design inputs rather than afterthoughts.

03

My role

  • Architected the end-to-end system: sensor hardware selection and wiring, ESP32 firmware, feature pipeline, risk-scoring model, computer vision fallback detection, backend services and the Flutter mobile application.
  • Implemented the ML fusion layer that combines temperature, humidity, CO and hydrocarbon readings into a single risk score with an action recommendation (monitor / investigate / escalate).
  • Built the vision fallback path so flame detection still works when the primary sensor model is uncertain — demonstrated at score 0.99 on a live ESP32-CAM frame.
  • Designed zone-based monitoring, alerting and history so a deployment can scale from one room to a multi-zone facility.

04

The solution

A deployed ESP32 sensor node reads temperature, humidity, carbon monoxide (dual MQ-7) and hydrocarbon/gas signals, fuses them into a risk score on-device and raises a local buzzer alarm independent of the network.

An ESP32-CAM provides a visual channel. When sensor fusion is inconclusive, a colour/heuristic vision fallback scores frames for flame appearance and surfaces detections in the app with bounding boxes and confidence.

A Flutter application gives operators a live overview: ML fusion score, zone list, live readings, risk trend over time, alert history with frames, and per-device status — designed to keep working through intermittent connectivity.

Everything is zone-aware and org-scoped so multiple devices and locations can be monitored from one interface without mixing contexts.

05

Artifacts

FireShow computer vision flame detection on a live camera frame with bounding boxes and confidence scores on an ESP32-CAM feed
Vision fallback detection on an ESP32-CAM frame (score 0.99).
FireShow hardware schematic showing ESP32 DevKit wired to MQ-7 carbon monoxide sensors, temperature and humidity sensor, buzzer, voltage regulator and battery pack
Sensor node: ESP32, dual MQ-7 CO sensors, RHT sensor, buzzer and power regulation.
FireShow login screen on a mobile phone mockup
Mobile application sign-in.
FireShow app displaying sensor trend charts for temperature, humidity, CO level and hydrocarbon readings
Live sensor trends with coloured sparklines.
FireShow brand splash screen with flame logo on a dark green background
Product identity.

06

Architecture

FireShow system flow
System flow
  1. 01SensorsESP32 · MQ-7 ×2 · RHT · CAM
  2. 02Edge fusionFeature pipeline · risk score
  3. 03Vision fallbackFlame detection on CAM frames
  4. 04BackendDevices · zones · alerts · history
  5. 05ApplicationFlutter · live overview · alerts
Sensor and vision channels fuse at the edge; the backend stores zone state and history; the app is the operator surface.

07

Implementation

Hardware was chosen for cost and availability: ESP32 DevKit as the main controller, dual MQ-7 sensors for CO, a combined temperature/humidity sensor, a piezo buzzer for local alarm, and a buck converter for stable power from a 9V supply.

Firmware samples sensors on a fixed cadence, computes rolling features and a fused risk signal locally so the alarm path never depends on the cloud. Network upload is a secondary channel for remote monitoring.

The vision path runs on ESP32-CAM frames. A primary model is used when available; a colour-based fallback detector guarantees a detection signal even with limited compute, which is what produced the 0.99 score on the test frame.

The mobile app is Flutter for a single codebase across Android and iOS. State is designed around zones and devices so the UI stays coherent as deployments grow, and live readings degrade gracefully when the link drops.

Backend services handle device identity, zone configuration, alert lifecycle and frame history, keeping the contract between embedded, ML and app layers explicit.

08 / Hard parts

The hard engineering.

Signal quality on cheap sensors

MQ-7 and low-cost gas sensors drift and cross-sensitise. The hard part was not reading values — it was deciding when to trust them. Fusion with temperature and humidity, plus rate-of-change features, mattered more than any single threshold.

Working without reliable connectivity

A safety system that only works online is not a safety system. The local buzzer and on-device scoring path were built first; remote monitoring and history were layered on top so a link outage degrades visibility, not protection.

Two detection modalities, one confidence story

Sensor fusion and vision produce different kinds of confidence. Surfacing both in the app — fusion score, action recommendation, and vision fallback score with frames — needed a UI that stays legible under stress without crying wolf.

Hardware constraints meet ML ambition

ESP32-class devices leave little room for heavy models. The design keeps the critical path small and moves heavier analysis to the vision fallback and server side, instead of forcing one model to do everything at the edge.

09

Results

The system runs as a working prototype: sensor nodes report live readings, fusion produces a risk score with an action recommendation, and vision fallback detects flame in test frames (score 0.99 on the demonstrated ESP32-CAM capture). Evaluation against broader real-world fire datasets and longer-duration field trials is ongoing — this is a prototype capability, not a certified safety product.

0.99
Vision fallback score

On demonstrated ESP32-CAM flame frame

4
Sensor channels fused

Temp · humidity · CO ×2 · hydrocarbon

2
Detection modalities

Sensor fusion + computer vision

10

Proof & technology

Evidence

  • Demo

    Product mockups and live detection frames

  • Case study

    Hardware schematic and system architecture

  • Private

    Firmware and model code held internally

Technology

FlutterPythonESP32ESP32-CAMComputer visionMQ-7FirebaseEdge ML

Start a project

Building something difficult?

If this kind of system is close to your problem, tell us what you are trying to ship.