What it is
The ShillehTek MQ-135 Air Quality Hazardous Gas Sensor Module for Arduino uses a Tin Dioxide (SnO2) sensing layer to track indoor air pollution trends from gases such as ammonia (NH3), nitrogen oxides (NOx), alcohol, benzene, smoke, and CO2. It provides both an analog output for logging and a comparator-based digital output for threshold alarms—useful for Arduino tutorials, DIY monitors, and ventilation control projects.
Pins
- VCC – Module power input (see your board silkscreen and listing photos)
- GND – Ground
- DO – Digital output from onboard LM393 comparator (threshold/alarm style)
- AO – Analog output for reading trends and calibration
Technical Specifications
| Item | Details |
|---|---|
| Sensor type | MQ-135 air quality / hazardous gas sensor module |
| Sensing material | Tin Dioxide (SnO2) |
| Outputs | Analog (AO) + Digital (DO) |
| Digital threshold circuit | Onboard LM393 comparator |
| Header / interface | Standard 4-pin header: VCC, GND, DO, AO (breadboard/Arduino-friendly) |
| Detectable pollutants (examples) | NH3, NOx, alcohol, benzene, smoke, CO2 (general air-quality sensing) |
| Calibration concept | Calibrate against clean-air Ro values to estimate PPM (method depends on your code/model) |
| Heater / stabilization | Active heater; initial ~24-hour burn-in recommended for stable readings |
Frequently Asked Questions
How do I connect the MQ-135 sensor module to an Arduino?
Use the 4-pin header: connect VCC and GND to your Arduino power/ground, then read AO with an analog input for trend logging or use DO as a digital alarm input. Refer to the silkscreen labels on your module for exact orientation.
What is the difference between AO and DO on the MQ-135 module?
AO is a linear analog output useful for graphing air-quality changes and calibration. DO is a comparator-based digital output (LM393) that toggles when the signal crosses a set threshold for simple alarms.
Do I need to calibrate the MQ-135 to get PPM readings?
For any PPM estimate, calibration is required—typically by determining a clean-air baseline (Ro) and applying your chosen conversion model in code. Without calibration, the sensor is best used for relative trend monitoring.
Why does the MQ-135 need a 24-hour burn-in?
The module includes an active heater and the sensing layer stabilizes over time. A longer initial burn-in (about 24 hours) helps readings settle for more consistent logging and threshold setting.
Can I use the MQ-135 with a Raspberry Pi?
Yes, but the Raspberry Pi typically needs an external ADC to read the analog AO signal. Alternatively, you can use the digital DO output as a simple on/off threshold input.