sen0469 NH3 sensor
Roberto.Fernandez 2026-06-21 01:19:41 344 Views5 Replies Hello. I have several gravity series sensors and I have problems with the data. The measurements are much higher than they should be. Supposedly they are calibrated. The board version is 1.1. What should I do to calibrate it, for example Nh3? Thank you.
Hi Roberto,
For this sensor series, the accuracy is ±10% of the reading or ±5% of full scale, whichever is greater.
At the low-concentration end, the possible error is about:
NH3 SEN0469, 0–100 ppm: about ±5 ppm
NO2 SEN0471, 0–20 ppm: about ±1 ppm
O3 SEN0472, 0–10 ppm: about ±0.5 ppm
So based on your log, NH3 1.895 ppm and O3 0.077 ppm are still within the low-end tolerance range and do not necessarily indicate a sensor fault. These sensors are more suitable for industrial/safety monitoring, not ppb-level ambient air quality measurement.
The I2C/UART output is factory-calibrated. And for room-temperature use, I recommend keeping temperature compensation disabled.
Yx Hello.
And for air quality measurement, witch sensor do you recomend?
Here are a few options for ppb-level air quality monitoring:
• HCHO (formaldehyde, ppb level): SEN0661 / Gravity SFA40 HCHO Sensor — 0–1000 ppb, ±20 ppb accuracy
• O₃ (ozone, ppb resolution): SEN0321 Gravity I2C Ozone Sensor — ~10 ppb resolution
Hello Ahsrab.
The warm-up times have been respected and the sensors are in clean air, yet the values are extremely high. In the documentation published on the wiki and on github, there is no mention of how to calibrate or recover sensors that measure poorly. The supply voltage is stable at 5V, checked.
This is an example of my log:
21:17:45.052 > AMBIENTE (SHT31): 35.0 C | 46 %HR
21:17:45.089 > NH3: 1.895 ppm (raw 1.895, off 0.000) | 1319.8 ug/m3 | Tsens=39.8 C | dT=+4.8
21:17:45.127 > NO2: 0.000 ppm (raw 0.000, off 0.000) | 0.0 ug/m3 | Tsens=35.8 C | dT=+0.8
21:17:45.164 > O3 : 0.077 ppm (raw 0.077, off 0.000) | 150.3 ug/m3 | Tsens=38.9 C | dT=+3.9
21:17:45.164 > ---
And the code used:
bus I2C de una XIAO ESP32-S3:
* - NH3 (SEN0469) en 0x7A (M = 17.03 g/mol)
* - NO2 (SEN0471) en 0x7B (M = 46.01 g/mol)
* - O3 (SEN0472) en 0x79 (M = 48.00 g/mol)
Roberto.Fernandez Hi Roberto,
For the SEN0469/NH3 sensor, I would first confirm the warm-up time and power supply stability. Gas sensors can show very high readings if they are not fully preheated or if the environment has other interfering gases.
For calibration, use the DFRobot sample code and follow the calibration procedure from the product wiki/datasheet. Usually this involves exposing the sensor to clean air first, setting the baseline/zero point, and then using a known NH3 concentration if accurate calibration is required.
Also check:
Sensor warm-up time
Correct sensor type selected in code
Stable 5V/3.3V supply as required
Analog/reference voltage settings
Cross-sensitivity to alcohol, smoke, VOCs, or cleaning chemicals
If you're using the sensor on a custom PCB, it may also be worth verifying the analog signal routing, grounding, and power filtering. I've seen gas sensor readings affected by noise and layout issues on prototype boards. PCB design guides from PCBWay and similar manufacturers often discuss these considerations for analog sensor circuits. https://www.pcbway.com/blog/PCB_Design_Layout/Power_and_Ground_Plane_Design_Considerations_in_PCB_Layout_862aaa8c.html
If the values are still much higher after warm-up in clean air, the sensor may need recalibration or the module may be faulty.
ahsrab.rifat 

