• On sale!
MQ2 Gas Sensor

MQ 2 Gas Sensor

Tax included

Smoke Butane Methane Sensor For Arduino


This Gas Sensor(MQ2) module is useful for gas leakage detection (in home and industry). It is suitable for detecting H2, LPG, CH4, CO, Alcohol, Smoke or Propane. Due to its high sensitivity and fast response time, measurements can be taken as soon as possible.

The smoke sensor has a built-in potentiometer that allows you to adjust the sensor digital output (D0) threshold. This threshold sets the value above which the digital pin will output a HIGH signal.

How does it work?

The voltage that the sensor outputs changes accordingly to the smoke/gas level that exists in the atmosphere. The sensor outputs a voltage that is proportional to the concentration of smoke/gas.

In other words, the relationship between voltage and gas concentration is the following:

  • The greater the gas concentration, the greater the output voltage

  • The lower the gas concentration, the lower the output voltage

The output can be an analog signal (A0) that can be read with an analog input of the Arduino or a digital output (D0) that can be read with a digital input of the Arduino.

The MQ-2 sensor has 4 pins.


Wiring to Arduino Uno


Analog pins


Digital pins





Getting started with the Smoke, Methane, Butane, LPG Sensor ( MQ-2 )

In this example, you will read the sensor analog output voltage and when the smoke reaches a certain level, it will make sound a buzzer and a red LED will turn on. When the output voltage is below  that level, a green LED will be on.

Hardware required

  • 1 x MQ-2 gas sensor 

  • Arduino UNO

  • 1x Breadboard 

  • 1 x red LED

  • 1 x green LED

  • 1 x buzzer

  • 3 x 220Ω resistor

  • Jumper wires

Connecting the Hardware

Follow these schematics to complete the project:



Upload the following sketch to your Arduino board (feel free to adjust the variable sensorThres with a different threshold value):

int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// Your threshold value
int sensorThres = 400;

void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);

void loop() {
int analogSensor = analogRead(smokeA0);

Serial.print(“Pin A0: “);
// Checks if it has reached the threshold value
if (analogSensor > sensorThres)
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);

50 Items
No reviews

16 other products in the same category:

Product added to wishlist
Product added to compare.

iqitcookielaw - module, put here your own cookie law text