Arduino Uno with Smoke Detector: A Comprehensive Guide



, ,


Fire safety is of utmost importance, and early detection of smoke is crucial in preventing potential disasters. In this tutorial, we will explore how to interface a smoke detector with the Arduino Uno. You’ll learn the basics of smoke detectors, how they work, and how to create a smoke detection system using this essential component.

Working Principle

Smoke detectors are devices that sense the presence of smoke particles in the air. They operate based on two primary methods: ionization and photoelectric.

  1. Ionization Smoke Detectors: These detectors use a small amount of radioactive material to ionize the air between two electrically charged plates. When smoke enters the chamber, it disrupts the ion flow, triggering an alarm.
  2. Photoelectric Smoke Detectors: These detectors use a light source and a sensor. When smoke enters the chamber, it scatters the light, and the sensor detects the scattered light, triggering the alarm.

For this tutorial, we will use a photoelectric smoke detector.

Components Required

To get started with this project, you’ll need the following components:

  1. Arduino Uno
  2. Photoelectric Smoke Detector Module
  3. Jumper Wires
  4. Breadboard
  5. USB Cable for Arduino
  6. Computer with Arduino IDE Installed


Let’s connect the smoke detector module to the Arduino Uno. Follow these steps:

  1. Connect the VCC pin of the smoke detector module to the 5V pin on the Arduino Uno.
  2. Connect the GND (Ground) pin of the smoke detector module to any GND pin on the Arduino.
  3. Connect the OUT pin of the smoke detector module to digital pin 2 on the Arduino.

Your wiring should look something like this:

[Insert Wiring Diagram]


Now, let’s write an Arduino sketch to read the smoke detection status from the module. Upload the following code to your Arduino Uno:

// Define the pin for the smoke detector module

int smokeDetectorPin = 2;

void setup() {

  // Initialize Serial communication


  // Set the smokeDetectorPin as an input

  pinMode(smokeDetectorPin, INPUT);


void loop() {

  // Read the state of the smoke detector module

  int smokeStatus = digitalRead(smokeDetectorPin);

  if (smokeStatus == HIGH) {

    Serial.println("Smoke Detected!");

    // Add your desired actions here (e.g., activating an alarm)

    delay(1000); // Delay for stability



This code will print “Smoke Detected!” to the Serial Monitor whenever smoke is detected by the module. You can customize the actions that occur when smoke is detected, such as activating an alarm or sending alerts.


You’ve now learned how to interface a smoke detector module with the Arduino Uno, which can be a valuable addition to your home or workplace safety systems. Early detection of smoke can save lives and property. You can further enhance this project by integrating additional safety features and notifications.


Q1: Are smoke detectors reliable?

Yes, smoke detectors are reliable when properly maintained and regularly tested. It’s essential to replace batteries or the entire unit as needed to ensure reliability.

Q2: Can I connect multiple smoke detectors to one Arduino?

Yes, you can connect multiple smoke detectors to different digital pins on the Arduino and modify the code accordingly.

Troubleshooting Q&A

Q1: My smoke detector is not triggering the alarm. What could be the issue?

  • Check your wiring for loose connections.
  • Ensure that the smoke detector module is powered correctly (VCC and GND).
  • Test the smoke detector with a smoke source, such as a candle or matches, to verify its functionality.

Q2: The smoke detector is giving false alarms. How can I improve accuracy?

To reduce false alarms, ensure the detector is placed in an appropriate location (away from cooking areas) and regularly clean the detector’s sensing chamber to prevent dust buildup.

That concludes our comprehensive guide on using a smoke detector module with the Arduino Uno for fire safety applications. Remember to test your smoke detector regularly and prioritize safety in your projects.

Leave a Reply

Your email address will not be published. Required fields are marked *

Explore our other blogs.

  • 8-bit vs. 32-bit Microcontrollers in Today’s Projects

  • Nintendo Sues Creators of Popular Switch Emulator Yuzu, Citing Piracy Concerns

  • Raspberry Pi CPU Temperature Range – Everything You Need to Know

  • image of tunnel

    Reverse Tunneling with Raspberry Pi: A Comprehensive Guide