

The Gas Sensor MQ-9, manufactured by Zhengzhou Winsen Electronics Technology Co., Ltd, is a versatile gas sensor designed to detect a variety of gases, including carbon monoxide (CO), methane (CH₄), and liquefied petroleum gas (LPG). It operates on the principle of resistive change in the presence of target gases, providing reliable and accurate measurements for air quality monitoring and safety applications.








The MQ-9 sensor is designed for ease of use and integration into various systems. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage | 5V DC |
| Load Resistance (RL) | Adjustable (typically 10 kΩ) |
| Heater Voltage (VH) | 5V ± 0.2V |
| Heater Power Consumption | ≤ 350 mW |
| Detection Range | 10 ppm to 1000 ppm (CO) |
| Preheat Time | ≥ 24 hours |
| Operating Temperature | -20°C to 50°C |
| Humidity Range | ≤ 95% RH |
| Sensitivity | Detects CO, CH₄, and LPG |
| Output Signal | Analog voltage |
The MQ-9 sensor typically comes with four pins or terminals. Below is the pinout description:
| Pin Name | Description |
|---|---|
| VCC | Power supply pin (5V DC) |
| GND | Ground pin |
| AOUT | Analog output pin (provides gas concentration) |
| DOUT | Digital output pin (threshold-based signal) |
The MQ-9 gas sensor is straightforward to use in a circuit. Follow the steps below to integrate it into your project:
Below is an example of how to interface the MQ-9 sensor with an Arduino UNO to read analog values:
// MQ-9 Gas Sensor Example Code for Arduino UNO
// This code reads the analog output of the MQ-9 sensor and prints the value
// to the Serial Monitor. Ensure the sensor is connected to the correct pins.
const int analogPin = A0; // Connect AOUT pin of MQ-9 to Arduino A0
int sensorValue = 0; // Variable to store the sensor reading
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(analogPin, INPUT); // Set the analog pin as input
}
void loop() {
sensorValue = analogRead(analogPin); // Read the analog value from MQ-9
Serial.print("Gas Sensor Value: ");
Serial.println(sensorValue); // Print the sensor value to Serial Monitor
delay(1000); // Wait for 1 second before the next reading
}
| Issue | Possible Cause | Solution |
|---|---|---|
| No output or unstable readings | Insufficient preheating time | Ensure the sensor is preheated for ≥ 24 hours. |
| Low sensitivity to target gases | Incorrect load resistor value (RL) | Adjust RL to optimize sensitivity. |
| Fluctuating output values | Unstable power supply | Use a regulated 5V DC power source. |
| Sensor not detecting gases | Sensor placement or environmental factors | Ensure proper placement and ventilation. |
How long does the MQ-9 sensor last?
The sensor has a typical lifespan of 2-3 years under normal operating conditions.
Can the MQ-9 detect multiple gases simultaneously?
Yes, the sensor can detect CO, CH₄, and LPG, but it does not differentiate between them.
What is the purpose of the digital output (DOUT)?
The DOUT pin provides a high or low signal based on whether the gas concentration exceeds a preset threshold.
How do I calibrate the MQ-9 sensor?
Calibration involves exposing the sensor to a known concentration of the target gas and adjusting the load resistor (RL) to achieve accurate readings.
By following this documentation, users can effectively integrate and utilize the MQ-9 gas sensor in their projects for reliable gas detection and monitoring.