Home » Sensors and Detectors » MQ-135 Air Quality Sensor Circuit – Working and Interfacing with Program Code
MQ-135 Air Quality Sensor Circuit – Working and Interfacing with Program Code

MQ-135 Air Quality Sensor Circuit – Working and Interfacing with Program Code

In this article we are going to learn how to interface air quality sensor MQ-135 with Arduino. We will see overview of the sensor and construct a project which detects LPG gas leakage and see some relevant readings in serial monitor.

By: Arduino Guru

What is MQ-135 sensor?

MQ-135 is an air quality or air pollution measuring sensor device. It can detect various chemical contents in air and give appropriate voltage variation at the output pin depending on the chemical concentration in air.

It can detect alcohol, Benzene, smoke, NH3, butane, propane etc. if anyone of the stated chemical concentration rises, the sensor convert the chemical concentration in air to appropriate voltage range, which can be processed by Arduino or any microcontroller. It cannot tell what kind of chemical concentration rose in the air.

Typical MQ-135 sensor:

MQ135 air quality sensor module

It is 6 terminal device which is symmetric in terminal placement; both the sides of the terminal are interchangeable. Here is the illustration of pins:

MQ135 pinouts

Here is a basic connection diagram:

Two ‘A’ pins are shorted internally and two ‘B’ pins are shorted internally. H and H pins is heater coil of the sensor. The heater coil is used to heat up the air around the sensor, so that it can detect the chemical content in the air optimally.

The sensor can take up to few minutes to heat up to reach optimal working condition. It not advisable to touch the sensor while operating because it can get pretty warm.

The sensor has an operating voltage of 5V; the sensor must be powered from external sources only, as it consumes about 200mA for heating. The arduino voltage regulator can’t deliver this much current.

For testing, you can connect a ammeter in mA range at the output pin B and bring a cigar gas lighter. Try to leak the gas without igniting it near the sensor. As the concentration of gas rises around the sensor, the current flow through ammeter increases. If this works, your sensor is working normally.

Now, you know quite a bit about MQ-135 Sensor, let’s move ahead and learn how to interface the MQ-135 with Arduino interfacing.

The circuit:

Arduino MQ-135 Air Quality Sensor Working and Interfacing

Make the connections as per the diagram, and check the gas sensor wire connection etc. Rest of the circuit is self explanatory.

The analogue pin of Arduino measures the voltage from the gas sensor. When the gas concentration rises above preset threshold in the program, the buzzer starts beeps.

The sensor takes a couple of minutes or so to warm up to reach optimal operating condition. Until it reaches optimal working temperature, the values in the serial monitor fluctuates high and low. It stabilizes after few minutes.

In the program the user can set the threshold value, it must be done only after careful observation on normal ambient concentration value in the serial monitor. For instants, if the value fluctuates from 400 to 430, the threshold must set well above, like 500. It must not trigger the buzzer falsely.

The values displayed in the serial monitor are NOT ‘ppm’ level of chemical concentration or anything like that. It is mere measure of voltage level from the sensor; Arduino interprets the value from 0 to 1023. So we can say, higher the chemical concentration, higher the values get displayed.


//-------------------Program Developed by R.Girish-----------------//
int input = A0;
int output = 7;
int th=500; // Set threshold level.
void setup()
void loop()
//-------------------Program Developed by R.Girish-----------------//

The serial monitor is not mandatory in this project it also works as standalone; we need it only to calibrate the threshold value in the program.

Set the threshold value by changing:

int th=500; // Set threshold level.

Replace 500 with your value.

This concludes the article regarding how to interface MQ-135 air quality sensor with Arduino, for further queries you can post your thoughts through your comments.


About the Author

I am an electronic engineer (dipIETE ), hobbyist, inventor, schematic/PCB designer, manufacturer. I am also the founder of the website: https://www.homemade-circuits.com/, where I love sharing my innovative circuit ideas and tutorials. If you have any circuit related query, you may interact through comments, I'll be most happy to help!

12 thoughts on “MQ-135 Air Quality Sensor Circuit – Working and Interfacing with Program Code”

  1. thanks for this good work.
    please i would like to have the one I can use MQ135 module and LCD 16 x2 with the code. thanks

  2. Thank u sir. and my another question is that can any inverter work with any transformer like 6-0-6, 12-0-12 and so on according to watt i require and i know if i used 6-0-6 transformer the battery must be 6v the same with 12-0-12 battery must be 12v Sir may i correct or not ?

    • Bashir, all transformers can be used for inverter application, but the operating voltage needs to be approximately equal to its primary winding voltage rating…so a 6-0-6 will require a 6V batt, a 12-0-12 will require a 12V batt and so on

  3. sir if i want connect transistor six TIP35C in pararell may i going to connect based to based emitter to emitter collector to collector ?

Leave a Comment