Documentation

ShillehTek MQ-135 Air Quality Hazardous Gas Sensor Module for Arduino | ShillehTek Product Manual

ShillehTek MQ-135 air quality gas sensor module with metal mesh top and blue circuit board

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.