How to Detect Concentration of Gas by Using MQ2 Sensor





Introduction: How to Detect Concentration of Gas by Using MQ2 Sensor

MQ-2 Gas sensor is used to detect the gas level around the area. This sensor able to use as home or factory gas leak monitoring, suitable for gas, butane, propane, methane, alcohol, hydrogen, smoke and other monitoring devices.


  • Size: 35mm x 22mm x 23mm (length x width x height)
  • Main chip: LM393, ZYMQ-2 gas sensors
  • Working voltage: DC 5 V
  • Characteristics:
  1. With a signal output instruction.
  2. Dual signal output (analog output, and high/low digital output)
  3. 0 ~ 4.2V analog output voltage, the higher the concentration the higher the voltage.
  4. Better sensitivity for gas, natural gas, city gas.
  5. With a long service life and reliable stability.
  6. Rapid response and recovery characteristics.

Step 1: Gather Materials

Step 2: Understanding Pin Definition of MQ2 Gas Sensor

Step 3: Set Up the Circuit Above

LCD pins

-Pins D7 , D6 , D5 , D4 connect to arduino digital pins 2,3,4,5 respectively.

-Pins A and K connect to 5V and GROUND respectively

-Pins VSS and VDD connect to Ground and 5V respectively.


-Use as a LED indicator for the calibration process of the MQ2 gas sensor

-Connect to digital pin 13 of Arduino Uno

MQ2 Gas Sensor

-Analog output connect to the A0 of arduino


-Center pin connect to the V0 of LCD display

-Other two pins just connect to 5V and GROUND respectively

*Note: All of pins above is configured regarding the circuit figure above. You can configure the connection yourself regarding your favourite.

Step 4: Programming the Arduino Uno

As you can see in the graph above , it shows several gases.

The values are plotted on a semilog paper, as you can see the values indicate 100......1000.....10000 ppm.

These values when plotted on a normal graph would represent a curve like an exponential one.

Formula In the Coding

pow(10,( ((log(rs_ro_ratio)-pcurve[1])/pcurve[2]) + pcurve[0]))

Based on the graph MQ2, the derivation of ppm formula will be:

Y - y1 = m( X - x1)

X= (y-y1)/m + x1

X= (Rs/Ro-y1)/m + x1

log X =(log (Rs/Ro) - y1)/m +x1

X =10^( (log (Rs/Ro) - y1)/m +x1)

*Note: X = ppm on the graph

Y= Rs/Ro

***The derivation formula are same and can be used for other types of MQ gas sensor.

If you have any problem about the coding, you are welcome to ask any question in the comments below or contact us for further details.



    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Pro Tips Challenge

      Pro Tips Challenge
    • Paper Contest 2018

      Paper Contest 2018

    We have a be nice policy.
    Please be positive and constructive.


    2 Questions


    How to adjust load resistance(RL) which is given to be 5Kohms in data sheet..and how clean air resistance (Ro) is taken to be 10Kohms?


    i want to make same projct but for mq7 (i use a Modula like you use but mq7 )
    my quastion
    what is RL for mq7
    and R0 and clean air
    and normal RO
    because i search in data sheet and didn't understand this thing


    What's the power consumption of the gas sensor module?

    it is 800miliWatt as give in data sheet

    Hi, we are not sure for it. Anyway you may refer to the datasheet

    HI . from the graph how to find x y and slope .. pls help me out

    first take 2 points from the graph, find y axis co-ordinate and x-axis co-ordinate, since it is log-log graph, find respective log values of each co-ordinate with base 10,then substitute in (y2-y1)=m(x2-x1), where "m" is slope..

    Hi how do you distinguish the different gases? this is not clear to me

    By comparing with the different slopes give in the data sheet

    hi . please give us an example about how i can detect a gas with mq2 ireallyneed to underestand this because of my project i really need an example....please help me

    hi did you get your answer ???