Back to Arduino Step By Step Course

Lesson 13: Detecting flame using Arduino

If you don't like to see ads while video is being played you can purchase this course for $200 from Udemy

This lecture focues on very basic flame sensor which detects elements of infrared and triggers an action like turning a buzzer ON or OFF and a relay can be controlled to turn ON/OFF an AC or DC load.

 * Lecture 13 Flame Sensor
 * Arduino code for flame sensor
 * turn a relay ON which the relay
 * can turn a light or alarm ON
* flame sensor is connected to pin 2
 * Relay is connected to pin 8
  Please watch video instruction here
 This code is available at
with over 100 lectures Free On  YouTube Watch it here
Get the code for the course: 
 * Written by Ahmad Shamshiri for Robojax,
 * Date: Dec 05, 2017, in Ajax, Ontario, Canada
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been download from
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <>.

int flameInPin = 2;// define pin 2 for flame sensor 
int relayPin = 8;// pin connected to relay 

int  onTime= 200; // time in melliseond ON and wait before make another reading.
int  offTime= 200; // time in melliseond OFF and wait before make another reading.

void setup() {
//Robojax Step By Step Arduino Course	
    // out pins
    pinMode(flameInPin, INPUT);// define flameInPin as input
    pinMode(relayPin, OUTPUT);// define relayPin as output  for relay         

    Serial.println("Robojax Flame Sensor");


void loop() {

    // read the flame sensor
    if(digitalRead(flameInPin) == HIGH){
      Serial.println("fire! fire! "); 
      digitalWrite(relayPin, HIGH); // Turn the relay ON    
      delay(onTime);// keep the relay or switch ON for the onTime 
      digitalWrite(relayPin, LOW);// Turn the relay OFF
      delay(offTime);// wait offTime  before reading again    
 //Robojax Step By Step Arduino Course
}// loop


If you found this tutorial helpful, please support me so I can continue creating content like this. support me via PayPal