Saturday, March 31, 2012

Gas Sensor Tutorial

We just received a bunch of MQ Series Gas Sensors. These inexpensive sensors include: MQ2 - Flammable Gas & Smoke MQ3 - Alcohol MQ4 - Methane MQ5 - LPG / Natural Gas MQ6 - LPG / IsoButane / Propane MQ7 - Carbon Monoxide MQ9 - Carbon Monoxide & Flammable Gas
Today's project is a smoke detector that turns on an LED when smoke concentrations exceed a certain level.  We soldered the sensor to the carrier board, along with a sensitivity resistor and a 3 pin header. The carrier board pins are VCC (+5v), GND, and Out, which connects to A0 on our Arduino. We connected a LED to Pin 13 and Gnd as indication of an alarm state (smoke detected). See the video and the code we used: Next step is a temp sensor for heat detection, and a relay for a siren.

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int ledPin = 13;                 // LED connected to digital pin 13

int sensorValue = 0;        // value read from the sensor

void setup() {
  // initialize serial communications at 9600 bps:
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            
  // determine alarm status
  if (sensorValue >= 750)
    digitalWrite(ledPin, HIGH);   // sets the LED on
  digitalWrite(ledPin, LOW);    // sets the LED off

  // print the results to the serial monitor:
  Serial.print("sensor = " );                       

  // wait 10 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:


  1. Hey. Great post. Just testing this sensor right now. I was wondering if you have calibrated the sensor as documented in the datasheet? If so, which equipment did you use?

    1. No, I did not calibrate it. I was just shooting for a confirmation that smoke existed.

  2. what is the value for resistor R1 Shown in diagram Above .Thank you in advance

  3. We used a 20k ohm IIRC. I'd suggest a 30k - 40k pot so you can adjust sensitivity for different gases.

  4. hey how did you solder the sensor on the breakout board because i am confuse between six pins.

  5. i want to ask, if i want use buzzer and fan can i get the source code? i need your help..
    send to my email,

  6. Hi, Great post.

    Did you get the MQ7 to work?

    Would you mind telling us how you connected the sensor especially with the PWM part for the heating coil?

    Thank you so much!

  7. hey am having MQ-2 gas sensor with 6 pins wat to do.....
    can we make this experiment without using arduino

  8. The data sheet explains the pins.

    Yes, you need the Arduino.

  9. can you plz share us how to make the fire alam with fire senzor using arduino

  10. Just connect a 5v piezo instead of the LED.