Introduction: Image Processing Based Fire Recognition and Extinguisher System

About: I am an Electronics Engineer and hobbyist......I'm interested in work in robotics and automation, I make projects using Arduino and other hardware. I love to share things which I learn.

Hello friends this is an image processing based fire detection and extinguisher system using Arduino

Step 1:

Basically system is divided into two parts

1 fire detection

2 fire alert and extinguisher

In the first part fire detects using image processing.

Here in this project I’m using open CV and python for fire detection. I created a HAAR Cascade Classifier for fire detection using Open CV. It has trainer and detector for train our own cascade classifier, HAAR Cascade is used to detect object for which it has been trained. Lots of positive and negative image samples are need to train classifier. Training of cascade classifier is complex and time consuming process, so to make it easy I find a cascade training software on web name is “cascade trainer GUI”.

For training cascade classifier, download and install this
trainer EXE from the above link. Create a folder with name fire (you can create folder with any name as my target object is fire, so I created folder “fire”) now create two folders inside of fire folder with name “n” and “p”, n folder is for negative image samples and p for positive image samples. Positive image contains the object which we want to detect, in our case we want to detect fire so collect the image samples which contains fire and put them inside of p folder. For negative samples collect large numbers of images which do not contains fire even partially. Now follow the steps on above page for making your cascade classifier file, or you can download pre-made cascade classifier for fire detection and source code from the link (source code)

Comes toward
the python, to run this project you need to install following modules and libraries to your python setup.

· Numpy

· Scipy

· Pyserial (click her to download numpy, scipy and pyserial)

After installation of all modules open python code with name fire detection, if you get some errors while running, don’t get panic, we just done first part.

Step 2:

Let’s move towards hardware, here I’m using Arduino UNO as controller since I need to control pump, buzzer and red LED’s.

Components used:

Arduino uno :

16x2 LCD:

5volt buzzer:


5volt relay:

Bc547 transistor:

Resistors 470r, 1k, 220r, 10k preset:


Capacitors 1000uf/25volt, 470uf/16 volt:

Diode 1N4007

Webcam (optional, you can use your laptop camera also):

Mini submersible pump (from local store)

Connect all the components as per the circuit diagram below, connect arduino to your computer using USB cable and find out the com port on which Arduino is connected, now open the Arduino code, select com port and correct board from tool menu of Arduino and upload the code.

Step 3:

Open the python code with name fire detection, check com port write in code is correct or not in line 13, if not change it with your Arduino com port number. Click on run tab then click run module or press F5.

If all connections are ok, camera preview will show on screen. Now show fire to it, fire get detected and pump start as well as buzzer starts beep sound.


Source code:

Python modules:

Cascade trainer GUI:

Hope you find this useful. if yes, like it, share it, comment your doubt. For more such projects, follow me! Support my channel on YouTube.

Thank you!



Sensors Contest

Participated in the
Sensors Contest