Gas Concentration using MQ-2


I have used grove mq-2 gas sensor with arduino. I have used the code in seeed-wiki for mq-2 gas sensor.

From the first program I have got:

sensor_volt = 1.12V

R0 = 0.34

Then I put R0 in the second program and I got:

sensor_volt = 1.13

RS_ratio = 3.43

Rs/R0 = 10.10

I have two questions: First- How can I use the sensitivity characteristics curve in the datasheet to get the concentrations of gases? Second- Can I use the same reading to measure multiple gases concentration, or I have to use the reading for only one gas? Third- The curve is with RL= 5K ohm, so I have to adjust the variable resistor to 5k Ohm?

Thank you


My first question to someone using Metal Oxide based sensor is what do you expect from this sensor? Have you looked up how these sensor work and what you can and can not do with these kind sensor? You expect way to much.

First: The curve in the datasheet is an example curve, the curve for your sensor could be different. The only way to get a better curve is to calibrate your sensor with several gas-mixtures of different concentration of the compound(s) you want to measure.

Second: You can not calculate concentrations of different gasses, you can’t even get the concentration of one gas. You always get the sum of all the gasses to which the sensor is sensitive. If you know exactly what gas you are measuring and you know that that is the only gas in the air, you can get a good “estimate” IF you calibrated your sensor. If you don’t know what gas is in the air and it can be a mixture of several gasses then you can calculate “A value” but it really doesn’t mean anything. The ony thing you can say is that at one time the vaue is higher, lower or the same then at another time.

Third: No, when you calculate the sensor resistance you have to use the resistance value of your Rload in the formula. You can use other resistance values as long as the power dissipation is not to high.

Figure 2 in the datasheet is a bit strange, R0 is defined as the sensor resistance at a H2 concentration of 1000 ppm.

The normal way is to let the sensor equilibrate in clean air for several hours (or days) until R0 is stable. Then you can calculate Rs/R0 when you are measuring your gasses. This value should be below 1.0. Since I don’t expect that you have a 1000ppm H2 reference mixture you should use this last method. The drawback is that you can’t use figure 2 to make an estimate of your concentration.


Apparently I have expected much! Anyway, Thank you very much, that helped a lot.