Blog Home

Using sensor fusion and tinyML to detect fires

Arduino TeamFebruary 13th, 2023

The damage and destruction caused by structure fires to both people and the property itself is immense, which is why accurate and reliable fire detection systems are a must-have. As Nekhil R. notes in his write-up, the current rule-based algorithms and simple sensor configurations can lead to reduced accuracy, thus showing a need for more robust systems.

This led Nekhil to devise a solution that leverages sensor fusion and machine learning to make better predictions about the presence of flames. His project began with collecting environmental data consisting of temperature, humidity, and pressure from his Arduino Nano 33 BLE Sense’s onboard sensor suite. He also labeled each sample either Fire or No Fire using the Edge Impulse Studio, which was used to generate spectral features from the three time-series sensor values. This information was then passed along to a Keras neural network that had been configured to perform classification, resulting in an overall accuracy of 92.86% when run on real world test samples.

Confident in his now-trained model, Nekhil deployed his model as an Arduino library back to the Nano 33 BLE Sense. The Nano sends a message over its UART pins to an awaiting ESP8266-01 board when a fire has been detected. And in turn, the ESP8266 triggers an IFTTT webhook to alert the user via an email.

If you would like to learn more about the construction of this fire recognition system, plenty of details can be found on the project page.