Arduino-compatible sensors that can detect PPM (parts per million) values typically measure gases or chemical concentrations in air or liquid. Here's a list of commonly used PPM-detecting sensors you can interface with Arduino, along with their applications:
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
Common Arduino Sensors for Detecting PPM
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
Notable Digital (Calibrated) PPM Sensors
These are more accurate than analog MQ sensors and often output calibrated PPM readings directly:
1. MH-Z19B / MH-Z14A (CO₂ sensor)
- Measures 400–5000 PPM CO₂
- UART or PWM output
- Ready-to-use and accurate for indoor air quality
2. SCD30 / SCD41 by Sensirion
- Advanced CO₂, temperature, and humidity sensor
- I2C interface, 0–40,000 PPM range
- Accurate and factory-calibrated
Considerations When Using PPM Sensors with Arduino
- Analog sensors (MQ series) need calibration to get accurate PPM values.
- PPM readings are often non-linear — use datasheet curves or calibration gases.
- For precision, use digital sensors (MH-Z19, SCD30) with direct PPM output.
- Warm-up time for gas sensors: usually 30–60 seconds for stable readings.
- Add temperature/humidity compensation where needed.
Example: MQ-135 with Arduino (Air Quality)
To convert to PPM, you must apply a calibration formula or use a lookup table based on the gas and MQ datasheet.