

The MQ137 is a gas sensor manufactured by MQ Sensors, designed to detect ammonia (NH3) concentrations in the air. It operates on the principle of resistive change, where the sensor's resistance varies in response to the presence of ammonia gas. The MQ137 provides an analog output that can be easily interfaced with microcontrollers and other electronic systems.








The MQ137 sensor is designed for reliable and accurate ammonia gas detection. Below are its key technical details:
| Parameter | Value |
|---|---|
| Manufacturer | MQ Sensors |
| Part ID | MQ137 |
| Target Gas | Ammonia (NH3) |
| 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 500 ppm |
| Preheat Time | ≥ 24 hours (for best accuracy) |
| Analog Output | Voltage proportional to NH3 |
| Operating Temperature | -20°C to 50°C |
| Humidity Range | ≤ 95% RH |
| Dimensions | 32 mm x 20 mm x 22 mm |
The MQ137 sensor module typically comes with a 4-pin interface. Below is the pin configuration:
| Pin Name | Description |
|---|---|
| VCC | Power supply pin (5V DC) |
| GND | Ground pin |
| AOUT | Analog output pin (provides NH3 concentration) |
| DOUT | Digital output pin (threshold-based signal) |
The MQ137 sensor is straightforward to use in a circuit. Follow the steps below to integrate it into your project:
VCC pin to a 5V DC power supply and the GND pin to ground.AOUT pin to read the analog signal corresponding to ammonia concentration.DOUT pin for a digital signal if a threshold is set using the onboard potentiometer.AOUT pin to an analog input pin on a microcontroller (e.g., Arduino).DOUT pin to a digital input pin.Below is an example of how to interface the MQ137 with an Arduino UNO to read analog values:
// MQ137 Gas Sensor Example Code
// This code reads the analog output of the MQ137 sensor and prints the value
// to the Serial Monitor. Ensure the sensor is preheated for accurate readings.
const int MQ137_AOUT = A0; // Connect AOUT pin of MQ137 to Arduino A0 pin
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(MQ137_AOUT, INPUT); // Set AOUT pin as input
}
void loop() {
int sensorValue = analogRead(MQ137_AOUT); // Read analog value from MQ137
float voltage = sensorValue * (5.0 / 1023.0); // Convert to voltage (0-5V)
// Print the raw sensor value and voltage to the Serial Monitor
Serial.print("Sensor Value: ");
Serial.print(sensorValue);
Serial.print(" | Voltage: ");
Serial.print(voltage);
Serial.println(" V");
delay(1000); // Wait for 1 second before the next reading
}
No Output or Incorrect Readings:
Fluctuating Readings:
Sensor Saturation:
No Digital Output:
Q1: Can the MQ137 detect gases other than ammonia?
A1: While the MQ137 is optimized for ammonia detection, it may respond to other gases. However, its sensitivity and accuracy for non-ammonia gases are not guaranteed.
Q2: How do I calibrate the MQ137 sensor?
A2: To calibrate the sensor, expose it to a known concentration of ammonia gas and adjust the load resistance (RL) or use software calibration to map the analog output to the gas concentration.
Q3: Can I use the MQ137 with a 3.3V microcontroller?
A3: The MQ137 requires a 5V power supply for its heater. However, you can use a voltage divider or level shifter to interface its output with a 3.3V microcontroller.
Q4: How long does the MQ137 sensor last?
A4: The sensor's lifespan depends on usage and environmental conditions. Under normal conditions, it can last several years with proper care and maintenance.