Skip to content

Analog CO/Combustible Gas Sensor(MQ9


The Analog CO/Combustible Gas Sensor(MQ9) module is useful for gas leakage detecting, it used the sensitive material SnO2, which with lower conductivity in clean air. It make detection by method of cycle high and low temperature, and detect CO when low temperature (heated by 1.5V). The sensors conductivity is more higher along with the gas concentration rising. When high temperature (heated by 5.0V), it detects Methane, Propane etc combustible gas and cleans the other gases adsorbed under low temperature. MQ-9 gas sensor has high sensitity to Carbon Monoxide, Methane and LPG. The sensor could be used to detect different gases contains CO and combustible gases, it is with low cost and suitable for different application.
SKU: SEN90512P SES90101S

Analog CO Combustible Gas Sensor(MQ9).jpg

Alt text


  • High sensitivity to Methane, Propane and CO
  • Long life and low cost
  • Simple drive circuit

Application Ideas

  • Domestic gas leakage detector
  • Industrial gas detector
  • Portable gas detector


Hardware Installation

Arduino UNO Gas Sensor
Analog A0 A0

Gas Sensor(MQ9)1.jpg

Demo cede

1.Put the sensor in a clear air, copy the demo code to your sketch, then upload to Arduino or Crowduino board.

void setup() {

void loop() {
  float sensor_volt; 
  float RS_air; //  Get the value of RS via in a clear air
  float R0;  // Get the value of R0 via in LPG
  float sensorValue;

/*--- Get a average data by testing 100 times ---*/   
    for(int x = 0 ; x < 100 ; x++)
    sensorValue = sensorValue + analogRead(A0);
  sensorValue = sensorValue/100.0;

  sensor_volt = sensorValue/1024*5.0;
  RS_air = (5.0-sensor_volt)/sensor_volt; // omit *RL
  R0 = RS_air/9.9; // The ratio of RS/R0 is 9.9 in LPG gas

  Serial.print("sensor_volt = ");

  Serial.print("R0 = ");


2.Open the monitor of Arduino IDE, you can see some data are printed, write down the value of R0 and you need to use it in the following program. During this step, you may pay a while time to test the value of R0.

Gas Sensor(MQ9)2.JPG

3.Put the sensor in one gas where the environment you want to test in. However, don't forget to replace the R0 below with value of R0 tested above

void setup() {

void loop() {

  float sensor_volt;
  float RS_gas; // Get value of RS in a GAS
  float ratio; // Get ratio RS_GAS/RS_air
  int sensorValue = analogRead(A0);
  RS_gas = (5.0-sensor_volt)/sensor_volt; // omit *RL

  /*-Replace the name "R0" with the value of R0 in the demo of First Test -*/
  ratio = RS_gas/R0;  // ratio = RS/R0 

  Serial.print("sensor_volt = ");
  Serial.print("RS_ratio = ");
  Serial.print("Rs/R0 = ");




Now, we can get the concentration of gas from the below figure

Gas Sensor(MQ9)4.JPG