DS18B20 reading correction

Hi All,

I have six DS18B20 (from the Brew Pi Store) where four of the probes read similarly (+/- 1°C) across a range from around 20°C up to 80°C. The other two share the characteristics as to the previous four in that they read similar temps, except they read around 4°C lower the the group of four.

Is there a mechanism available to correct the readings across all six so that the reading is uniform across all six? Would it be a simple as adding 4°C in code.

These probes will not be used with the Brew Pi but with a Arduino Mega in a similar application.

Thanks for your advice in advance.


Which to trust, eh? You can calibrate the DS’s with ice water & boiling water, then in your code crank in whatever correction value you need to bring them in line with each other.

That sounds like a PITA, but if you’re geeky enough, it’ll be par for the course. Personally, I could live with the errors, as I’ve found that none of my store-bought thermometers (both electronic and old-school) were spot-on in agreement.
(I’d been all-grain brewing for 5 years before I discovered my dial thermometer was 8 degrees high, and still had great beer).

They should have a 0.5 degree factory accuracy, so they could be a maximum of 1 degree apart.

If they are 4 degrees apart, something is wrong. How close together are the sensors and are they submerged in water?

If you are writing your own software, yes it would be as simple as adding a constant value.