

A flame sensor is a device that detects the presence of fire or flames by sensing infrared radiation emitted by the flame. It is commonly used in fire alarm systems and safety applications to provide early warning of fire hazards. Flame sensors are highly sensitive to infrared light within a specific wavelength range, making them effective for detecting open flames in various environments.








Below are the key technical details of a typical flame sensor module:
| Parameter | Value | 
|---|---|
| Operating Voltage | 3.3V to 5V | 
| Current Consumption | 20mA (typical) | 
| Detection Angle | 60° | 
| Wavelength Sensitivity | 760 nm to 1100 nm (infrared range) | 
| Output Type | Digital (D0) and Analog (A0) | 
| Operating Temperature | -25°C to 85°C | 
| Pin | Name | Description | 
|---|---|---|
| 1 | VCC | Connect to the positive power supply (3.3V to 5V). | 
| 2 | GND | Connect to the ground of the power supply. | 
| 3 | D0 | Digital output pin. Outputs HIGH when flame is detected, LOW otherwise. | 
| 4 | A0 | Analog output pin. Provides a variable voltage proportional to flame intensity. | 
Below is an example of how to use the flame sensor with an Arduino UNO:
// Define the pins for the flame sensor
const int flameSensorDigitalPin = 2; // Digital output pin (D0)
const int flameSensorAnalogPin = A0; // Analog output pin (A0)
const int ledPin = 13; // Built-in LED for flame detection indication
void setup() {
  pinMode(flameSensorDigitalPin, INPUT); // Set D0 as input
  pinMode(ledPin, OUTPUT); // Set LED pin as output
  Serial.begin(9600); // Initialize serial communication for debugging
}
void loop() {
  int flameDigital = digitalRead(flameSensorDigitalPin); // Read digital output
  int flameAnalog = analogRead(flameSensorAnalogPin); // Read analog output
  // Print analog value to the Serial Monitor
  Serial.print("Analog Value: ");
  Serial.println(flameAnalog);
  // Check if a flame is detected
  if (flameDigital == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED if flame is detected
    Serial.println("Flame detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED if no flame is detected
    Serial.println("No flame detected.");
  }
  delay(500); // Wait for 500ms before the next reading
}
No Flame Detection:
False Positives:
Unstable Readings:
Analog Output Not Changing:
Q1: Can the flame sensor detect flames through glass?
A1: No, most flame sensors cannot detect flames through glass as it blocks infrared radiation.
Q2: What is the maximum distance for flame detection?
A2: The detection range depends on the flame size and intensity but is typically up to 1 meter.
Q3: Can I use the flame sensor outdoors?
A3: Yes, but ensure it is protected from environmental factors like rain, dust, and direct sunlight to avoid damage or false readings.
Q4: How do I know if the sensor is working?
A4: Test the sensor by exposing it to a small flame (e.g., a lighter) and observe the digital output (D0) or analog output (A0) values.