Skip to content

All items ship from our office in Colorado USA - $5.95 Flat-Rate US shipping & free shipping on orders over $75!

MQ-9 Carbon Monoxide CO Methane LPG Gas Sensor Detector Module User Guide

MQ-9 Carbon Monoxide CO Methane LPG Gas Sensor Detector Module User Guide - Envistia Mall

📋 Overview

The MQ-9 gas sensor detector module is a versatile sensor designed to detect carbon monoxide (CO) as well as combustible gases including methane (CH₄) and LPG (Liquified Petroleum Gas). It can detect CO concentrations from 10 to 1,000 ppm and combustible gas concentrations from 100 to 10,000 ppm, making it a dual-purpose sensor for both toxic and flammable gas monitoring.

The module is built around the MQ-9 semiconductor gas sensor element mounted on a convenient breakout board with onboard signal conditioning. It provides both an analog output (AO) that varies with gas concentration and a digital TTL output (DO) that triggers when concentration exceeds an adjustable threshold set by the onboard potentiometer.

With its fast response and recovery characteristics, long service life, and reliable stability, the MQ-9 module is an excellent choice for projects that need to monitor both carbon monoxide and combustible gases with a single sensor. It is suitable for both home and industrial use.


⭐ Key Features

  • Dual-Purpose Detection — Detects both carbon monoxide (CO) and combustible gases (methane, LPG) with a single sensor
  • Wide Detection Range — CO: 10–1,000 ppm; Combustible gases: 100–10,000 ppm
  • Dual Signal Output — Analog (AO) and digital TTL (DO) outputs for flexible integration
  • Adjustable Threshold — Onboard potentiometer to set the digital output trigger level
  • Indicator LEDs — Power LED and digital output (DO) status LED for visual feedback
  • Fast Response & Recovery — Quick detection and return to baseline for reliable monitoring
  • Simple Interface — Only 4 pins (VCC, GND, AO, DO) — no library required
  • 5V Compatible — Works directly with Arduino, ESP8266, and other 5V development boards

📊 Specifications

Parameter Value
Operating Voltage 5V DC
Maximum Power Consumption 800 mW (160 mA at 5V)
Detectable Gases Carbon monoxide (CO), methane (CH₄), LPG
CO Detection Range 10–1,000 ppm
Combustible Gas Detection Range 100–10,000 ppm (CH₄, LPG)
Analog Output (AO) 0V to ~5V (proportional to gas concentration)
Digital Output (DO) TTL level — LOW normally, HIGH when gas detected
Threshold Adjustment Onboard potentiometer
Preheat / Warm-Up Time ~20 seconds minimum; allow a few minutes for stable readings
Indicator LEDs Power LED, DO (Digital Output) LED
Dimensions Approx. 32 × 20 × 27 mm (1.25 x 0.8 x 1.1 inches) L × W × H
Weight ~7 grams

📌 Pinout

The MQ-9 module has 4 pins arranged in a single header row:

Pin Label Description
1 VCC Power supply input — connect to +5V
2 GND Ground — connect to GND
3 DO Digital output — TTL HIGH when gas exceeds threshold
4 AO Analog output — voltage proportional to gas concentration (0–5V)
📝 Note: Pin order may vary slightly between manufacturers. Always verify the silkscreen labels printed on your specific module before wiring.

🏗️ Schematic / Circuit Diagram

The schematic below shows the onboard circuit of the MQ-9 gas sensor detector module, including the sensor element, comparator (LM393), potentiometer for threshold adjustment, and indicator LEDs.

MQ Series Gas Sensor Module Schematic

Key components on the module:

  • MQ-9 Sensor Element — The cylindrical metal-mesh component that detects carbon monoxide and combustible gases
  • LM393 Comparator — Compares the sensor signal against the potentiometer threshold to produce the digital output
  • Potentiometer — Adjusts the gas concentration threshold for the digital (DO) output. Turn clockwise to increase sensitivity (trigger at lower concentrations), counter-clockwise to decrease
  • Power LED — Illuminates when the module is powered
  • DO LED — Illuminates when the digital output is triggered (gas detected above threshold)

🔌 Wiring to Arduino

The MQ-9 module connects to an Arduino Uno (or compatible board) with just 4 wires. No external components are needed.

Wiring Table

MQ-9 Module Pin Arduino Pin
VCC 5V
GND GND
AO A0 (Analog Input)
DO D2 (Digital Input)
⚠️ Important: The MQ-9 sensor element draws up to 160 mA. When powering from an Arduino's 5V pin, make sure you are using USB power or an external supply that can provide sufficient current. If you experience unstable readings, use an external 5V power supply for the module's VCC pin (with a shared GND connection to the Arduino).

🔧 How It Works

The MQ-9 module uses a tin dioxide (SnO₂) semiconductor sensor element. Here's how it operates:

  1. Heating: The sensor contains a small heater coil that raises the SnO₂ element to its operating temperature. This is why the module draws relatively high current (~160 mA) and requires a warm-up period.
  2. Gas Detection: When carbon monoxide or combustible gas molecules contact the heated SnO₂ surface, the sensor's electrical resistance decreases. Higher gas concentration means lower resistance.
  3. Analog Output (AO): The onboard voltage divider converts the resistance change into a voltage signal (0–5V). Higher gas concentration produces a higher voltage on the AO pin.
  4. Digital Output (DO): The LM393 comparator compares the analog signal against a reference voltage set by the potentiometer. When the gas concentration exceeds the threshold, the DO pin goes HIGH and the DO LED illuminates.
📝 Note: The MQ-9 responds to both CO and combustible gases simultaneously. The analog output reflects the combined presence of all detectable gases — the sensor cannot distinguish between CO and methane/LPG on its own. If you need to identify specific gases, consider pairing the MQ-9 with a dedicated CO sensor (MQ-7) or combustible gas sensor (MQ-5) and comparing readings.

🚀 Step 1: Reading Analog Gas Levels

This basic sketch reads the analog output from the MQ-9 sensor and prints the raw value (0–1023) to the Serial Monitor. Use this to observe how the sensor responds to gas and to help calibrate your threshold.

/*
 * MQ-9 CO & Combustible Gas Sensor — Analog Reading
 * Envistia Mall - Product Support
 *
 * Reads the analog output of the MQ-9 sensor
 * and prints the value to the Serial Monitor.
 *
 * Connections:
 *   MQ-9 VCC -> Arduino 5V
 *   MQ-9 GND -> Arduino GND
 *   MQ-9 AO  -> Arduino A0
 *   MQ-9 DO  -> Arduino D2 (optional for this sketch)
 */

const int gasSensorAnalog = A0;  // Analog input pin

void setup() {
  Serial.begin(9600);
  Serial.println("MQ-9 CO & Combustible Gas Sensor - Analog Reading");
  Serial.println("Warming up sensor (allow a few minutes)...");
  Serial.println();
}

void loop() {
  int sensorValue = analogRead(gasSensorAnalog);

  Serial.print("Gas Level (raw): ");
  Serial.print(sensorValue);
  Serial.print("  |  Voltage: ");
  Serial.print(sensorValue * (5.0 / 1023.0), 2);
  Serial.println(" V");

  delay(1000);  // Read once per second
}

How to Use:

  1. Wire the MQ-9 module to your Arduino as shown in the wiring table above
  2. Upload the sketch to your Arduino
  3. Open the Serial Monitor at 9600 baud
  4. Allow the sensor at least 20 seconds to warm up — a few minutes is recommended for stable readings
  5. Observe the baseline reading in clean air, then bring a gas source (such as a butane lighter with the gas valve open but unlit) near the sensor to see the value increase

🚀 Step 2: Digital Threshold Gas Detection with Alarm

This sketch uses both the analog and digital outputs. The digital output (DO) triggers when gas concentration exceeds the threshold set by the onboard potentiometer. This example also demonstrates a simple serial alarm message.

/*
 * MQ-9 CO & Combustible Gas Sensor — Digital Threshold Detection
 * Envistia Mall - Product Support
 *
 * Reads both analog and digital outputs.
 * Prints an alarm when gas exceeds the
 * potentiometer-set threshold.
 *
 * Connections:
 *   MQ-9 VCC -> Arduino 5V
 *   MQ-9 GND -> Arduino GND
 *   MQ-9 AO  -> Arduino A0
 *   MQ-9 DO  -> Arduino D2
 */

const int gasSensorAnalog = A0;   // Analog input pin
const int gasSensorDigital = 2;   // Digital input pin

void setup() {
  Serial.begin(9600);
  pinMode(gasSensorDigital, INPUT);
  Serial.println("MQ-9 CO & Combustible Gas Sensor - Threshold Detection");
  Serial.println("Warming up sensor (allow a few minutes)...");
  Serial.println();
}

void loop() {
  int analogValue = analogRead(gasSensorAnalog);
  int digitalValue = digitalRead(gasSensorDigital);

  Serial.print("Analog: ");
  Serial.print(analogValue);
  Serial.print("  |  Digital: ");
  Serial.print(digitalValue);

  if (digitalValue == HIGH) {
    Serial.print("  |  *** GAS DETECTED! ***");
  } else {
    Serial.print("  |  Normal");
  }

  Serial.println();
  delay(500);
}

How to Use:

  1. Wire the MQ-9 module to your Arduino including both AO and DO connections
  2. Upload the sketch to your Arduino
  3. Open the Serial Monitor at 9600 baud
  4. Allow the sensor to warm up for a few minutes
  5. Use a small screwdriver to adjust the onboard potentiometer — turn it to set the threshold where the DO LED just turns off in clean air
  6. Introduce gas near the sensor — when the concentration exceeds your threshold, you'll see "GAS DETECTED!" in the Serial Monitor and the DO LED will illuminate

⚖️ MQ-7 vs. MQ-9 — Which CO Sensor Should You Choose?

Both the MQ-7 and MQ-9 detect carbon monoxide, so it's natural to wonder which one is right for your project. Here's a side-by-side comparison to help you decide.

Feature MQ-7 MQ-9
Primary Target Gas Carbon monoxide (CO) only Carbon monoxide (CO) + combustible gases
CO Detection Range 10–1,000 ppm 10–1,000 ppm
Combustible Gas Detection No Yes — methane (CH₄) and LPG (100–10,000 ppm)
Operating Voltage 5V (cleaning) / 1.5V (measurement) 5V (constant)
Heating Cycle Required Yes — alternating 5V/1.5V cycle for best accuracy No — constant 5V operation
Warm-Up Time 48h initial burn-in; 2–5 min subsequent ~20 seconds minimum; a few minutes recommended
Ease of Use Moderate — PWM heating cycle recommended Simple — constant 5V, no special cycle
CO Accuracy Higher (with proper heating cycle) Good for general detection
Gas Differentiation CO-specific (minimal cross-sensitivity) Cannot distinguish CO from CH₄/LPG
Best For Dedicated CO monitoring where accuracy matters Multi-gas detection where simplicity is preferred
Dimensions 32 × 20 × 27 mm 32 × 20 × 27 mm
Power Consumption 800 mW max 800 mW max
Price Similar Similar

Quick Decision Guide

  • Choose the MQ-7 if you need dedicated, accurate CO detection and are willing to implement the heating/measurement cycle in your code. The MQ-7 is the better choice for CO-specific safety applications.
  • Choose the MQ-9 if you want a simpler, multi-purpose sensor that detects CO, methane, and LPG on a constant 5V supply with no special heating cycle. The MQ-9 is ideal for general gas monitoring where detecting multiple gas types with one sensor is more important than pinpoint CO accuracy.
  • Use both together if you need to differentiate between CO and combustible gases. Compare readings from both sensors — if the MQ-7 shows elevated CO but the MQ-9 shows a proportionally higher reading, combustible gas is likely also present.

💡 Tips & Best Practices

  • Warm-Up Time: The MQ-9 stabilizes quickly — readings become stable after about 20 seconds. However, for the most reliable baseline, allow a few minutes of warm-up time before relying on readings.
  • Potentiometer Calibration: Adjust the potentiometer in clean air so the DO LED is just off. This sets your baseline. Then test with a known gas source to verify the trigger point.
  • Ventilation: After gas exposure, allow the sensor to return to clean air. The readings will gradually return to baseline — this is normal recovery behavior.
  • Environment Calibration: Calibrate and test the module in the specific gas environment of your application to establish baseline readings and appropriate thresholds for gas concentration alerts.
  • Multi-Gas Awareness: The MQ-9 responds to both CO and combustible gases simultaneously. The analog output reflects the combined presence of all detectable gases. If you need to identify a specific gas, consider pairing the MQ-9 with other MQ-series sensors and comparing readings.
  • Analog Readings: The raw analog value (0–1023) is not a direct PPM measurement. For approximate PPM conversion, you would need to calibrate against a known gas concentration and apply the sensitivity curves from the MQ-9 datasheet.
  • Power Supply: If readings seem erratic, try powering the module from an external 5V supply rather than the Arduino's 5V pin. The sensor's heater draws significant current that can affect other components.

⚠️ Important Notes

  • The sensor element gets hot during operation. Do not touch the metal mesh cylinder while the module is powered — it can cause burns.
  • Carbon monoxide is a deadly gas. This module is intended for gas detection and indication only. It is not a certified safety device and should not be used as the sole protection against carbon monoxide poisoning or gas leaks in life-safety applications. Always use UL/CSA-listed CO detectors for life safety.
  • Use of this gas sensor module in environments with gas leaks or in the presence of carbon monoxide may pose safety risks. Follow safety guidelines and standards for gas detection and ventilation in such environments.
  • Do not expose the sensor to high concentrations of gas for extended periods, as this can degrade the sensor element over time.
  • The MQ-9 is a broad-spectrum sensor — it responds to CO, methane, and LPG simultaneously. It cannot differentiate between gas types on its own.
  • Keep the sensor away from direct airflow (fans, HVAC vents) that could dilute gas concentrations and cause missed detections.
  • Do not test the sensor by exposing it to vehicle exhaust or other combustion sources in enclosed spaces — this creates a serious health hazard.

🎯 Typical Applications

  • Combined CO and combustible gas leak detection
  • Home gas monitoring (kitchen, furnace room, garage, water heater area)
  • Industrial gas monitoring systems
  • Arduino and microcontroller safety projects
  • Portable multi-gas sniffers and handheld detectors
  • Smart home automation — trigger ventilation fans, alarms, or shut-off valves when gas is detected
  • Air quality monitoring stations
  • Educational and STEM projects demonstrating analog sensor interfacing

🏪 Where to Buy the MQ-9 CO Methane LPG Gas Sensor Detector Module

This module is available at envistiamall.com.

  • 📦 Fast US Shipping
  • 🔄 Hassle-Free Returns
  • 📧 Responsive Customer Support

📚 Additional Resources


    This guide is provided by Envistia Mall for educational and technical reference purposes. The manufacturer and Envistia LLC (dba Envistia Mall) are not responsible for any damages or losses resulting from the use of this product. Always follow proper electrical safety practices when working with electronic components. Specifications are based on manufacturer data and are subject to change without notice.

    Share this guide:
    in

    🛒 Related Products

    Find the components mentioned in this guide in our store.

    Browse Products →