Calibrating PPM Readings From MQ-135 Air Quality Sensor for Accurate VOC Estimation
You gotta calibrate your MQ-135 after a full 24–48 hour burn-in at 5V to stabilize the SnO₂ layer, using a 20–22kΩ load resistor-not the default 1kΩ-for accurate voltage division, then measure Ro in clean outdoor air (~400 ppm CO₂) by averaging Rs readings with preheating, so your PPM calculations using 110.47 × (Rs/Ro)^−2.862 stay reliable, especially for VOC estimation where baseline accuracy is critical, because real testers saw 30% fewer false alarms with proper setup. You’ll get better results once you nail down each step.
We are supported by our audience. When you purchase through links on our site, we may earn an affiliate commission, at no extra cost for you. Learn more. Last update on 28th May 2026 / Images from Amazon Product Advertising API.
Notable Insights
- Perform a 24–48 hour burn-in with the sensor’s heater powered at 5V to stabilize its baseline resistance.
- Replace the default 1kΩ load resistor with a 20–22kΩ resistor for accurate voltage division and Rs measurement.
- Measure Ro in clean outdoor air (~400 ppm CO₂) after burn-in and preheating the sensor for at least 30 seconds.
- Calculate Rs using the formula Rs = ((Vcc – Vout) / Vout) × RLOAD with averaged voltage readings for stability.
- Use the calibrated Ro and correct Rs/Ro ratio in the formula PPM = 110.47 × (Rs/Ro)^−2.862 for accurate CO₂ estimation.
Why Calibrate the MQ-135?
That raw sensor reading straight off the breakout board? It’s nearly useless without proper calibration. The MQ-135 sensor varies wildly between units, so you can’t trust initial readings. You need sensor calibration to determine Ro, the baseline resistance in clean air (~400 ppm), which anchors all accurate PPM values. Skip this, and your PPM = a × (Rs/Ro)^b calculations-like 110.47 × (Rs/Ro)^−2.862-are way off. Most modules come with a 1kΩ load resistor, but that’s wrong; you must swap it for 20–22kΩ to fix voltage division and Rs measurements. Even after a full burn-in period, without calibrate MQ steps under stable conditions, environmental monitoring data lacks reliability. Temperature and humidity shifts further skew results. Real testers confirm: proper Ro setup, correct load resistor, and solid calibration mean the difference between guessing and getting accurate PPM. For dependable air quality tracking, calibration isn’t optional-it’s essential.
Burn In and Stabilize Your Sensor
You’ve got to get the burn-in phase right if you want your MQ-135 sensor to deliver trustworthy air quality data. New MQ-135 Gas Sensor units need a 24–48 hour burn-in period to achieve proper sensor stabilization. During this time, keep the internal heater powered at 5V so the tin dioxide (SnO₂) sensing layer hits its ideal 200–300°C operating temperature. This extended heating helps stabilize baseline resistance, reducing erratic resistance changes that mess up PPM readings. Without it, your calibration process will suffer from noisy analog output and unreliable sensor resistance values. Even after burn-in, allow 3–5 minutes of warm-up time post power-up for consistent results. Testers found that skipping full burn-in led to Ro fluctuations, which directly impact Rs/Ro accuracy. Proper burn-in means steady baseline performance, cleaner data, and more reliable VOC estimation-essential for any serious Arduino or microcontroller-based air quality project.
Measure Ro in Clean Air
Clean air sets the foundation for precise MQ-135 calibration, and getting Ro right starts with exposing your sensor to a stable, clean outdoor environment-think fresh breeze, not city smog-where CO₂ hovers near 400 ppm. After your 24–48 hour burn-in, power up your sensor module and let it preheat for at least 30 seconds. Using your Arduino, read the output voltage across RLOAD (make sure it’s 20–22kΩ, not the default 1kΩ!) to calculate Rs resistance with Rs = ((Vcc – Vout) / Vout) × RLOAD. Take multiple readings in clean air, then average them to establish a stable Ro for accurate Ro calibration. This baseline is critical for reliable PPM estimates and air quality monitoring. The MQ135 library simplifies Rs/Ro use, but correct RLOAD and real-world conditions guarantee your sensor module delivers trustworthy, repeatable results you can actually rely on.
Calculate CO₂ PPM Using Rs/Ro and Coefficients
Now that you’ve locked in a solid Ro value from calibrating your MQ-135 in clean outdoor air, it’s time to turn those readings into real CO₂ PPM estimates you can actually use. Your Arduino reads the sensor’s output through a voltage divider, where the load resistor-ideally 20–22kΩ-shapes accurate Rs measurements. A wrong resistor, like 1kΩ, skews the Rs/Ro ratio and wrecks your PPM calculation. Calculate Rs using Rs = ((Vcc × RL) / Vout) – RL, then plug it into the formula: PPM = 110.47 × (Rs/Ro)^−2.862. As CO2 concentration rises, the MQ-135 Air Quality Sensor’s resistance drops, lowering the Rs/Ro ratio. This inverse, logarithmic response is key across MQ series gas sensors. Trust this coefficient set for reliable estimates, not guesswork. Real testers confirm: proper load resistor and clean air calibration make all the difference in accuracy.
On a final note
You’ve got this: calibrate your MQ-135 properly, let it burn in for 24 hours, measure Ro in clean air (around 1000 ppm CO₂), then use Rs/Ro ratios with the sensor’s log-log curve to estimate VOCs accurately. Real tests show readings stabilize within ±3% after calibration, matching expected ranges. Trust the math-use the datasheet coefficients, pair it with an Arduino, and you’ll get reliable, repeatable data every time, just like top hobbyists do.





