ISR-based Fire and Smoke Alarm with configurable Test Values

This project is not very simple, just to demonstrate the use of ISR-based Timers of ESP8266TimerInterrupt library v1.0.2 (Hardware Timer Interrupt)

The design principles are as follows:

  1. Fire or Smoke measurement and alarm activation are considered mission-critical, and must not be interfered or blocked by any other bad tasks, intentionally or unintentionally. This principle can be applied to any of your project. Please check the way ISR-based are designed (very lean and mean), no delay() and no unnecessary baggage.
  2. The sound alarm is also considered critical. Alarm without sound has no meaning in real-life dangerous situation.
  3. Blynk is considered just a Graphical-User-Interface (GUI). Being connected or not must not interfere with the alarm detection / warning.

Certainly, with Blynk GUI, we can achieve many more great features, such as remote check and control, configurable test case and value, etc. when possible.

This can be applied in many projects requiring reliable system control, where good, bad, or no connection has no effect on the operation of the system.

Please go to GitHub for ESP8266 code. Will port it to other platform such as ESP32 and Arduino.


PS: The QR code and Blynk APP currently has no Notification Widget as I haven’t got time to make and send QR to the posting machine. And I believe you can do much better job in designing the GUI. I’m the worst GUI designer :slight_smile:


This code is based on that of the previous project

You can get both and compare what steps are done to make it ISR-based way.

Have fun Blynking.

1 Like