Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

Best temperature sensor for Arduino and ESP32 in India

DS18B20, DHT22, SHT31, BME280, LM35, NTC thermistor, MAX6675 thermocouple and MLX90614 compared on range, accuracy, interface and price, with a pick for each use.

Community draft — report a mistake

SensorRangeTypical accuracyInterfaceIndicative price
DS18B20 (waterproof probe)−55 to 125 °C±0.5 °C from −10 to 85 °C1-Wire₹80–160
DHT22−40 to 80 °C±0.5 °C (+ humidity)Single-wire₹180–320
SHT31−40 to 125 °C±0.3 °C (+ humidity)I2C₹300–600
BME280−40 to 85 °C±1 °C (+ humidity, pressure)I2C / SPI₹350–650
LM352 to 150 °C in the basic circuit±0.5 °C at 25 °CAnalog, 10 mV per °C₹60–120
NTC 10 k thermistorRoughly −40 to 125 °C (varies by part)About ±1 °C after calibrationAnalog (divider)₹10–60
MAX6675 + K-type thermocouple0 to 1,024 °CA few °CSPI₹250–450
MLX90614 (non-contact)−70 to 380 °C (object)±0.5 °C near room temperatureI2C₹600–1,200

“Best” depends on what you’re measuring: room air, water, soil, a hot oven or a surface you can’t touch. Ranges and accuracy are typical datasheet values (Maxim/Analog Devices, Aosong, Sensirion, Bosch, TI, Melexis); prices are indicative for Indian modules.

For water, soil, fridges and outdoors: DS18B20

A sealed stainless-steel probe on a cable — drop it in a tank, bury it in soil or tape it inside a cold room. Digital, accurate, and many probes share one data pin. Needs a 4.7 kΩ pull-up. Reads −127 °C? That’s a wiring fault — fix.

Guides: DS18B20 with ESP32, with Uno. Project: cold storage alert.

For rooms (with humidity): DHT22, SHT31 or BME280

  • DHT22 — cheapest that’s good enough.
  • SHT31 — most accurate and fast; best for incubators and logging.
  • BME280 — adds pressure for weather stations.

Full comparison: DHT22 vs BME280 vs SHT31. Avoid the DHT11 for anything above 50 °C — DHT11 vs DHT22.

For learning analog: LM35

Pinout, wiring and errors: LM35 component page.

Outputs 10 mV per °C — 30 °C reads as 0.30 V. Great for understanding analogRead() on an Uno.

  • Needs at least 4 V supply, so power it from 5 V even on an ESP32; its output stays well under 3.3 V for normal temperatures.
  • Long wires pick up noise; keep them short or average many readings.

Cheapest: NTC thermistor

A resistor whose value falls as it warms. Pennies each, used inside battery packs and appliances. Needs a fixed resistor as a divider and the B-value maths (or a lookup table) to convert to °C. Accuracy depends on your calibration.

Hot things: MAX6675 + K-type thermocouple

Ovens, kilns, tandoors, soldering stations, motor housings — up to about 1,000 °C. The thermocouple probe survives heat; the MAX6675 board stays cool and talks SPI.

Without touching: MLX90614

An infrared thermometer that reads a surface’s temperature from a short distance. Good for motor or bearing temperature, cooking surfaces, or a contactless thermometer. It measures the average over a cone that widens with distance, so get close to small targets. Shiny metal reads wrong — put a strip of matte tape on it.

Component: MLX90614.

Verdict

Measuring Pick
Water, soil, cold room, outdoors DS18B20 probe
Room temperature + humidity DHT22 (budget) or SHT31 (accuracy)
Weather station BME280
Learning analog on an Uno LM35
Ovens, kilns, very hot MAX6675 + K-type
Surfaces, without contact MLX90614

↑↓ to move · Enter to open