How good the numbers are
The sensor prints two decimal places and is entitled to about one. Knowing which digits are real is what stops you chasing a half-degree that was never there, and it is the point at which where you put the board starts to matter more than which board you bought.
Two kinds of precision
Every sensor has two numbers attached to it and beginners conflate them, which is how a project ends up acting on digits that were never real.
Resolution is the smallest step the output can take. On the SHT31 that is 0.01 °C and 0.01 %RH, and it is honest: move the sensor and the reading really does change in hundredths.
Accuracy is how far the reading may be from the truth. On the SHT31 that is ±0.2 °C and ±2 %RH, typical. The reading is a hundredth of a degree precise about a value that may be two tenths of a degree wrong.
Both numbers matter and they matter for different things. Resolution decides whether you can see the room changing. Accuracy decides whether you can compare your reading with somebody else's.
What the humidity figure really costs
±2 %RH sounds worse than ±0.2 °C and is the better of the two specifications. Relative humidity is genuinely hard to measure — it depends on temperature, the element has to be exposed to the air it is measuring, and every part of the measurement drifts with contamination. ±2 % from a factory-calibrated part with no reference and no adjustment is very good.
It is also the same ±2 % the DHT22 next to it in the kit claims. Where the SHT31 pulls ahead is temperature: ±0.2 °C against the DHT22's ±0.5 °C, and against the DHT11's ±2 °C.
Repeatability is a third number
The sensor offers three measurement modes, and what they change is neither resolution nor accuracy. It is repeatability: how much two consecutive readings of unchanging air differ from each other.
| Mode | Takes | Temperature noise | Humidity noise |
|---|---|---|---|
| Low | 2.5 ms | 0.15 °C | 0.21 %RH |
| Medium | 4.5 ms | 0.08 °C | 0.15 %RH |
| High | 12.5 ms | 0.04 °C | 0.08 %RH |
High repeatability takes five times as long as low and is what every Arduino library sends without asking you. The noise it saves you — a little over a tenth of a degree — is smaller than the accuracy band it sits inside, so on a project that is not counting microamps the choice is genuinely unimportant. Where it starts to matter is what a reading costs.
Where the sensor stops being the problem
A band four tenths of a degree wide is narrower than a room. The air near a window in winter is degrees colder than the air a metre away; the air above a radiator is warmer still; the air on top of your own project board is warmer than either.
So once you are holding an SHT31, the accuracy of the part is no longer the thing limiting you — the position of it is. That is what the slot round the sensor is an attempt to fix, and it only fixes the part of the problem that is on the board.
Where it should live
Sensirion specifies the part from −40 to 125 °C and 0 to 100 %RH, and then recommends a much narrower window for it to actually live in: 5 to 60 °C and 20 to 80 %RH. Outside that, and especially above 80 % humidity, the reading temporarily offsets and the part ages faster. It recovers by itself on the way back.
Which makes the SHT31 an excellent indoor sensor and a mediocre choice for sealed enclosures, bathrooms and greenhouses — not because it breaks, but because it is out of its recommended range exactly where a humidity project is most tempting.
When it does not work
No. Resolution and accuracy are different things. The resolution — the smallest step the output can take — is 0.01 °C, and that is real: the sensor genuinely reports in hundredths. The accuracy is ±0.2 °C typical, so the true value is somewhere in a band four tenths wide. Print one decimal place and you have thrown away nothing.
Within specification, and not a fault. Each is ±0.2 °C typical, so two can legitimately sit 0.4 °C apart while both are correct — and if either is near something warm, the real difference between the two positions is probably larger than that anyway. Swap their positions; if the difference follows the board, it is the sensor, and if it stays put, it is the place.
No, and there is nothing to recalibrate with. The coefficients are burned into the part at the factory and reloaded before every measurement. Sensirion gives typical long-term drift as under 0.25 %RH and under 0.03 °C a year, which after five years is smaller than the accuracy band you started with.
A documented effect, and it comes back on its own. Long exposure above 80 %RH temporarily offsets the humidity reading — the datasheet quotes about +3 %RH after sixty hours over 80 % — and the part slowly returns to calibration once it is back in normal conditions. Do not try to correct for it in software.
What is soldered to the board, what it is for, and which of the four pins is not free choice.
The four pins →Edit this page — content/books/sht31/how-good-the-numbers-are.mdx
Questions about this product
See what other owners have asked, and read their solutions.
SHT31 Temperature and Humidity Sensor
Loading discussions…
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.