The following project is just a DIY project and did not replace certified smoke detectors. As I'm a voluntary firefighter, please keep your home safe and use high-quality certified smoke detectors. The sensor system which is developed by this project is only an addition.


Smoke detectors save a lot of lives. For example, the number of fire victims fell by more than 48% in France from 1982 to 2012 and 56% in the UK from 1982 to 2013. These reductions can largely be linked to increased fire safety regulations and smoke detectors (Source). In the U.S. 96% of all homes have smoke alarms and approximately 20% of homes with smoke alarms have non-operational smoke alarms. It is estimated that if every home had working smoke alarms, U.S. residential fire deaths could drop by 36%, with nearly 1100 lives saved per year (Source). With an increasing number of smoke detectors, false alarms became a problem (Source). The number of false fire alarms is increasing continuously, which is a severe issue for firefighters.


This project introduces a smoke detector based on ai sensor fusion to determine a fire alarm or not. The system is based on the Arduino Pro Nicla Sense ME board. For safety reasons, most of the sensors are redundant to ensure function even if one sensor is failing. This project focus on four different requirements:

  • Reduce false alarms, based on ai sensor fusion
  • Detect sensor errors or failures
  • All process and ai tasks are calculated on the Arduino board
  • Send Fire alarm via Bluetooth

Working principle

Traditional smoke detectors work with one of the two following detection principles.




Photoelectric smoke detectors work based on a photoelectric sensor and a light path as the source. When a fire breaks out, smoke enters the device through the opening vent. Inside this vent is an optical chamber. As the smoke enters this optical chamber, it hits the light path, which causes the light to be scattered. This scattered light falls onto the photodiode. As the light hits the photodiode light receptor, a signal is generated, which causes the alarm.




Ionization smoke detectors work with two electrodes that are connected to a battery. Normally no current is flowing, because the circuit is open (between the electrodes is only air). But if the air is ionized with Americium-21 (radioactive material) the circuit is closed. Because the ionized air allows current flow. During a fire, smoke enters the detector. It disturbs the ionization process, the circuit breaks, and an alarm is generated.

False Alarms

Both working principles are affected by the following effects:

  • Overcooked food
  • Steam or high humidity
  • Pesky insects
  • A buildup of dust
  • Strong chemicals nearby

All of these external triggers can cause a false alarm.

Project Overview

The following chapters describe the used hardware, dataset collection, and ai model training and ai model inference on a device.


The main measurement principle of the smoke detector is realized with the Sensirion SPS30. This sensor is used to measure particulate matter in the air. The SPS30 works in the same manner as photoelectric smoke detectors. The SPS30 measures the aerosol concentration in the air and returns the number of particles and their size. In other words, the SPS30 is an advanced smoke detector. The data output of the SPS is particular matter (PM): PM1.0 / PM2.5 and number concentration (NC): NC 0.5 / NC1.0 / NC2.5. More about the SPS30. Around the SPS30 different Sensors are used to measure "meta" data around the particles to classify the environment. To make the system more reliable most of the sensors are redundant, to ensure faulty readings are detected.

The following list shows the redundant sensors

  • Humidity/Temperature: BME688 and SHT31
  • Air Pressure: BMP390 and BMP388
  • Gas...
Read more »