

The MQ-137 is a gas sensor manufactured by HANWEI ELECTRONICS CO., LTD., designed to detect various gases, particularly hydrogen sulfide (H₂S). It operates on the principle of resistive change, where the sensor's resistance varies in the presence of target gases. This analog output can be processed to determine gas concentrations, making the MQ-137 a versatile component for environmental monitoring, industrial safety systems, and air quality control.








The MQ-137 sensor is designed for reliable and accurate gas detection. Below are its key technical details:
| Parameter | Value |
|---|---|
| Manufacturer | HANWEI ELECTRONICS CO., LTD. |
| Part ID | MQ-137 |
| Target Gas | Hydrogen Sulfide (H₂S) |
| Operating Voltage | 5V DC |
| Load Resistance (RL) | Adjustable (typically 10 kΩ) |
| Heater Voltage (VH) | 5V ± 0.2V |
| Heater Power Consumption | ≤ 800 mW |
| Detection Range | 5 ppm to 100 ppm (H₂S) |
| Preheat Time | ≥ 24 hours |
| Output Signal | Analog (voltage proportional to gas concentration) |
| Operating Temperature | -20°C to 50°C |
| Operating Humidity | 35% to 95% RH |
The MQ-137 sensor typically comes with six pins. Below is the pin configuration and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | H1 | Heater pin 1 (connect to 5V supply) |
| 2 | A | Analog output pin (connect to ADC input) |
| 3 | B | Analog output pin (alternative, same as A) |
| 4 | H2 | Heater pin 2 (connect to ground) |
| 5 | A | Analog output pin (duplicate of pin 2) |
| 6 | B | Analog output pin (duplicate of pin 3) |
Note: Pins A and B are internally connected, and either can be used for the analog output.
Powering the Sensor:
Connecting the Output:
Preheating the Sensor:
Reading the Output:
Below is an example of how to connect and read data from the MQ-137 sensor using an Arduino UNO:
// MQ-137 Gas Sensor Example with Arduino UNO
// This code reads the analog output of the MQ-137 and prints the value to the Serial Monitor.
const int sensorPin = A0; // Analog pin connected to MQ-137 output
int sensorValue = 0; // Variable to store the sensor reading
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
Serial.println("MQ-137 Gas Sensor Test");
}
void loop() {
sensorValue = analogRead(sensorPin); // Read the analog value from the sensor
Serial.print("Sensor Value: ");
Serial.println(sensorValue); // Print the sensor value to the Serial Monitor
// Add a delay for stability
delay(1000); // Wait for 1 second before the next reading
}
Note: The raw sensor value must be calibrated to convert it into a gas concentration (ppm). Refer to the sensor's datasheet for the calibration curve.
No Output or Fluctuating Readings:
Inaccurate Readings:
Sensor Not Responding to Gas:
High Power Consumption:
Q1: Can the MQ-137 detect gases other than H₂S?
A1: Yes, the MQ-137 can detect other gases, but it is most sensitive to hydrogen sulfide (H₂S). Refer to the datasheet for cross-sensitivity information.
Q2: How do I calibrate the MQ-137 sensor?
A2: Use a known concentration of H₂S gas and record the sensor's output voltage. Create a calibration curve by plotting the voltage against the gas concentration.
Q3: Can I use the MQ-137 with a 3.3V microcontroller?
A3: The sensor requires a 5V power supply for the heater. However, you can use a voltage divider or level shifter to interface the analog output with a 3.3V microcontroller.
Q4: How long does the MQ-137 last?
A4: The sensor's lifespan depends on usage and environmental conditions. Under normal conditions, it can last several years.
By following this documentation, users can effectively integrate the MQ-137 gas sensor into their projects and ensure reliable performance.