DHT22 vs BME280 vs SHT41: the 2026 answer
Every ESP32 tutorial ever written wired up a DHT22, so every new builder buys one — and the comparison pages that rank for this question were written in 2019, when that was still defensible. The market moved: Sensirion-class accuracy now costs clone-board money. Here's the honest 2026 table.
| SHT41 | AHT20 | BME280 | DHT22 | DS18B20 | |
|---|---|---|---|---|---|
| Temp accuracy | ±0.2 °C | ±0.3 °C | ±0.5 °C | ±0.5 °C | ±0.5 °C (genuine) |
| Humidity | ±1.8 %RH | ±2 %RH | ±3 %RH | ±2–5 %RH, drifts | — |
| Extras | on-die heater | — | pressure | — | waterproof probes, multi-drop |
| Interface | I2C | I2C | I2C/SPI | bit-banged 1-wire | Dallas 1-Wire |
| Read speed | ~10 ms | ~80 ms | ~10 ms | 2 s minimum | ~750 ms |
| Battery-friendly | µA idle | yes | yes (forced mode) | ok | yes |
| Clone risk | low | low | high (BMP280 substitution) | medium | high (probes ~all fake) |
| Street price | $1–3 | $1–2 | $2–4 | $2–3 | $1–2/probe |
| Verdict | The default | Cheapest good | When you want pressure | Don't buy in 2026 | Wet/cold places |
Accuracy figures are datasheet specs for genuine parts — see each sensor's clone-check notes, and the fake-sensor exposé for the BME280 and DS18B20 stories in full.
The short answers
- One room sensor you can trust: SHT41. Twice the DHT22's accuracy at the same price, I2C, battery-friendly. Done.
- Ten rooms: AHT20 at about a dollar each — 90 % of the SHT's performance for 60 % of the price.
- Weather station: BME280 — the pressure reading is the point. Verify you got a BME, not a BMP (chip ID 0x60 vs 0x58).
- Pool, fridge, pipe, soil: DS18B20 probes — nothing else survives there, and a dozen share one GPIO. Assume clones; sanity-check each one.
- Already own DHT22s: use them up on non-critical jobs. Just don't put one somewhere its drifting humidity element will matter, and don't buy more.
As an Amazon Associate and an affiliate we may earn from qualifying purchases. Prices and availability are set by the retailer.
The two errors that dwarf the spec sheet
Self-heating. Any sensor sampled continuously warms itself — the BME280 is the classic case, reading 1–2 °C high at default settings. Run it in forced mode with a 30–60 s interval and the error mostly disappears. The bigger heater, though, is the ESP32 next to it: a Wi-Fi SoC dissipates real warmth, so mount the sensor away from the board (a short cable, or at least the far corner of the enclosure), not hovering over the voltage regulator.
The enclosure. A humidity sensor sealed in a printed case measures the case, not the room. Ventilation slots near the sensor, sensor at the bottom (heat rises), and no conformal coating over the element. These two placement mistakes cause more bad readings than every clone chip combined.
All specs and prices: the sensor table · Also measuring CO2? CO2 sensors compared (the SCD41 includes a decent temp/RH sensor).