🔥 Magic Fire Alarm fire

ESP32-based multi-sensor fire & gas alarm with MacroDroid voice alerting

Magic Fire Alarm is an intelligent ESP32-based multi-sensor alarm that monitors sudden temperature rise rate or high and low temperature changes, carbon monoxide (CO) and hydrogen gas (H2) all simultaneously for rapid response to onset fires - and when any threshold is breached, it sends an immediate MacroDroid HTTP alert specifying the exact cause, which MacroDroid speaks out loud via your Android phone, even if on silent, this cuts down response time as every second counts, for greater safety.
No other consumer alarm product does this.

The Lithium version denotes it is for Lithium type battery protection.

Fully customisable thresholds and temperature sensors can be calibrated via any browser, or the free optional app.

Low cost (< $20) split Modular design with easy cheap replaceable parts for longevity, greater accuracy and flexible installation.

Can be used for frost detection, or general air condition, in addition to the Lithium or other fire alerts.

What Makes It Different

🗣️
Spoken Cause Alerts MacroDroid speaks the specific trigger — "Excessive Carbon Monoxide present", not just a beep
📈
Temperature Rise Rate Detects rapid temperature increase — catches fires before they reach threshold
🌡️
High Temperature Detects abnormal temperatures - threshold can be adjusted in relation to changing local temperatures whilst avoiding false alarms
🧪
CO + H2 Combined Monitors both carbon monoxide and hydrogen gas simultaneously, with independently adjustable thresholds
🌐
Full RestFul API Query status, adjust thresholds and control all settings and monitor remotely from any phone or browser
📱
Android App Optional free dedicated app with live gauges, toggle controls and configurable thresholds
❄️
Low Temperature Detects abnormal low temperatures - threshold can be adjusted in relation to changing local temperatures whilst avoiding false alarms. USeful for combined frost detection.
🔬
Lithium Sensors Lithium-chemistry generates gases and heat when instability sets in and the combined sensors try to detect this early.
📊
Monitoring Systems Any Home Assistant, Hubitat or other monitors can access the information real time via the RestFul API to create other mechanisms for reacting. EG. Narrow band temperature monitoring [inside threshold limits] for actioning other devices.
🚨
Alert Systems MacroDroid was chosen for it's immediate alert capability, but Home Assistant, Hubitat or other proxies could be notified to take immediate action, unless cancelled.

How Alerting Works

When a threshold is breached, the ESP32 sends an HTTP request to MacroDroid via it's WebHook on your Android phone, passing the trigger cause as a parameter. A MacroDroid macro receives this, extracts the cause and speaks it aloud [at full volume] via text-to-speech — even if the phone is on silent at any time, but it must still have Internet access.

Three separate sensors can trigger an alert, each with its own spoken message: [ in addition to :Fire Fire Fire" ]

TriggerConditionSpoken alert exampleMacroDroid
code received

🌡️ Temperature min Temperature falls below threshold [frost detection]
Temperature is too low" Low
🌡️ Temperature maxTemperature exceeds threshold"Temperature is too high"High
📈 Temperature rise rateTemperature rising faster than configured rate"Temperature is rising rapidly"Rise
💨 Carbon MonoxideCO level exceeds threshold"Excessive Carbon Monoxide present"CO
⚗️ HydrogenH2 level exceeds threshold"Excessive Hydrogen present"H2
Multiple
more than one sensor triggered
"Major fire in progress"
Many
Note: Like all network-connected alarms, Magic Fire Alarm requires an active internet connection, network and powered router for remote alerting and monitoring and a permanent local USB power source.

Status API Output

Call /status on the device to get the current state. Example response:

GuyTec Magic Fire Alarm (for Lithiums version) Settings and current state at 2026-04-12 08:11:23 System: On Alert Alarm: On Buzzer Alarm: On
Temperature High Threshold: 30.00
Temperature Low Threshold: 1.00
Temperature rise rate: 1.50
Temperature adjustment: -3.98 Current Temperature: 20.01 Min Temperature: 19.90 (2026-04-12 08:00:36) Max Temperature: 20.17 (2026-04-12 07:11:37) CO Threshold: 300.00 Current CO: 127.38 Min CO: 80.75 (2026-04-12 08:08:05) Max CO: 214.25 (2026-04-12 07:49:15) H2 Threshold: 300.00 Current H2: 94.13 Min H2: 39.63 (2026-04-12 07:37:19) Max H2: 143.50 (2026-04-12 08:10:33)

Android App — Live Dashboard

A dedicated Android app (Java, API 26+, tested on Samsung S9+) provides a live dashboard with colour-coded gauges, one-tap toggle controls and in-app threshold editing.

🔥 GuyTec Fire Alarm Updated: 2026-04-12 08:11:23
SYSTEM ON ALERT ON BUZZER ON
🌡️ °C 20.01
Thr: 30.00
💨 CO 127.38
Thr: 300.00
⚗️ H2 94.13
Thr: 300.00
Pull down to refresh  ·  Auto-polls every 10 seconds  ·  Tap gauges to set thresholds

Actual APP view

GuyTec.com - Magic Fire Alarm app


Full RestFul API Command Reference -  compatible with Home assistant

All commands are plain HTTP GET requests. Use WebCmd or any browser. Replace 192.168.1.199 with your device IP.

CommandDescription
http://192.168.1.199/statusCurrent settings and sensor readings,
replace "status" with any of the following examples
alarm?system=on|offTurn the entire system on or off (eg. cancel false alarms)
alarm?alert=on|offEnable or disable phone alerting
alarm?buzzer=on|offEnable or disable the onboard buzzer
temp?min=1 Set temperature alarm lowthreshold (°C)
temp?max=35Set temperature alarm high threshold (°C)
temp?rise=1.5Set temperature rise rate threshold (°C/min)
temp?adjust=-2.5Calibration offset — adjusts all temperature readings
temp?reset=tempReset min/max temperature records
temp?reset=coReset min/max CO records
temp?reset=h2Reset min/max H2 records
temp?reset=Reset all min/max records
Co?max=300Set CO alarm threshold (ppm)
H2?max=300Set H2 alarm threshold (ppm)

Comparison With Commercial Alarms

Feature Magic Fire Alarm Nest Protect First Alert SC5 X-Sense
Temperature low monitoring
Yes ❌ No ❌ No ❌ No
Temperature high monitoring Yes Yes Yes ⚠️ Basic
Temperature rise rate detection Yes ❌ No ❌ No ❌ No
CO monitoring Yes Yes Yes Yes
H2 (hydrogen) monitoring Yes ❌ No ❌ No ❌ No
Spoken cause of alarm Yes, immediate via MacroDroid ⚠️ App notification only ⚠️ App notification only ❌ No
Remote alarm cancelling
Full, Buzzer or Alert, Wi-Fi needed ⚠️ Same Wi-Fi only, proximity required, blocked on high CO ⚠️ App silence, no granular control ❌ No
Open HTTP API Full RestFul API ❌ Proprietary only ❌ Proprietary only ❌ No
Adjustable thresholds All sensors ❌ Fixed ❌ Fixed ❌ Fixed
Temperature calibration Yes ❌ No ❌ No ❌ No
Min/Max history logging All sensors ❌ No ❌ No ❌ No
Custom Android app Open source ⚠️ Google Home only ⚠️ First Alert only ⚠️ X-Sense only
MacroDroid integration Native Webhook
❌ No ❌ No ❌ No
Subscription required None ❌ Nest Aware ⚠️ Optional None

What Was Discovered

GuyTec.com - Macrodroid Magic Fire Alarm alert macro
MacroDroid can receive the following alerts:
 High, Rise, CO, H2, Many
GuyTec.com - Cancel.restart macro

For false alerts during configuration
shake to cancel macro and
shake again to re-enable macro


Start up mode

When the system is powered it will trigger both the buzzer alarm and also a trial voice alert on the phone [which can be used to check it is working as expected and test settings by restarting the unit with the restart button].

It may continue producing a buzz alert and voice alert at the first power up while the sensors initialise for anything up to a day.
To get around this, use the alarm?system=off for the first 24 hours, or adjust the thresholds accordingly

Eventual Downloads

ItemDescription
📱 Android App APK Java app for Android API 26+ (Samsung S9+ and above). Pre-configured for 192.168.1.199