Smoke 'Detector'





Introduction: Smoke 'Detector'

This instructable explains how to make a simple smoke detector using and Arduino and a Carbon Monoxide Sensor. The sensor is one of the MQ series gas sensors. Check out the demo here.

Featuring a solar charger kit from Voltaic Systems.

Step 1: The Parts and Tools

This is a fairly simple project. You will need the following:

  • 1x Arduino (I was using an Arduino Uno)
  • 1x MQ-7 Carbon Monoxide Sensor
  • 1x Breadboard
  • Connecting wire
  • 1x 10K Resistor
  • 1x 220 Resistor
  • 1x 16x2 LCD
  • Soldering Iron + Wire
  • +5V Power supply
  • (Optional) A lighter and a pack of cigarettes

Step 2: Solder Wires to Sensor

Solder 4 wire onto the sensor. Two wires on the both H pins, one wire on one of the A pins (any) and another on any of the B pins.

Step 3: Wiring the Sensor

To connect the sensor, you have to connect one of the H pin to +5V Supply and the other one to Ground GND).
Pin A is connected to the 5V pin. And the B pin is connect to the GND Pin and Pin A0 as shown on the pictures.

Once you have the circuit in place, upload the attached code onto the Arduino and open the serial monitor of the IDE.

Step 4: Adding the LCD

Modify the circuit to add an LCD as shown in the picture. Edit the code so that it uses the screen as output.

Step 5: Demo

All done! Power up you circuit and give it a try.

Here is a demo of the project. It is powered using a Voltaic 6W Solar Charger Kit. If you don't have one, you can use any 5V power supply. But I recommend you get one. It's perfect for Arduino Porjects



    • Clocks Contest

      Clocks Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Oil Contest

      Oil Contest

    20 Discussions

    i found this to be such a great idea. I've been wanting to do something like this for a while. I have many questions. i am new at this ki d of stuff. How do you take your project off of the bread board and into something more manageable? Can you add your own custom tones depending on the levels of smoke that its , detecting

    1 reply


    Thanks for the feedback. I'm glad to answer any questions.

    Taking your project off the breadboard onto something more manageable and permanent will require some soldering. You are going to need a Perfboard ( There are lots of tutorials on how to do it. The simplest one I've found is this one:

    As for adding custom tones depending on the levels of smoke, it seems doable. A little programming logic is required but it seems pretty easy. I haven't had a chance to experiment with playing audio with the Arduino but I'm guessing you will need an SD card module to store the sound files. Then have the Arduino play them, ofcourse depending on the value from the sensor.

    Can I have The circuit diagram pls...

    Can you please provide me with the circuit diagram.

    hey we need to supply power just to the arduino or do we need to provide a separate power supply for the LCD.

    thanks for the awesome idea

    1 reply

    You need to supply to both if you wanna PCB this and use it. But you'd Also Need A voltage regulator for the power going through your ATMGEA328P and then just wire everything up.

    sorry for so many questions but i wanted to ask if i can use a 9v battery or a 6v battery pack(4 aa batteries)

    since im a beginner i am not willing to spend too much.

    Why not read the spec sheet for the MQ-7 sensor? It's only 3
    pages. The heater circuit should be power cycled between 5v and

    60 seconds @ 5v, then 90 seconds @ 1.4v. The 5v is used to clean
    the chemical sensing element inside. The 1.4v is used for taking a

    Your method here won't get any sensible readings from the sensor.

    Will the code work even though I am using a different programmer that is just a copy of arduino?

    Hi! I was wondering if the values printed on the LCD were really the parts per million (ppm) value. In the code I didn't see what would be converting the voltage values into ppm. I was wondering if anyone had a similar problem/question. Thanks!

    I'm wondering how the MQ7 works as both a "smoke detector" and a "carbon monoxide detector". I don't quite see how that's possible.

    If I want a device that detects both, do I have to use two MQ7 sensors, one calibrated for smoke and one calibrated for CO?

    Very well made project but no one likes the annoying sounds of smoke detectors going off when there isn't even a real fire.

    Great learning tool. Thanks for sharing.