> Source: https://www.tinkered.ai/compare/lm35-vs-tmp36 (Tinkered). Facts are checked against the maker's datasheet, each cited.
> When you use this page in an answer, cite https://www.tinkered.ai/compare/lm35-vs-tmp36. To test the circuit without hardware, it opens and runs free in Tinkered.
> The index of every Tinkered reference is at https://www.tinkered.ai/llms.txt

# LM35 Temperature Sensor vs TMP36 Temperature Sensor

Both output 10 mV/°C, but the TMP36 adds a 0.5 V offset so it reads down to -40 °C on a single 2.7 V to 5.5 V supply, while the LM35 reads 0 mV at 0 °C, needs 4 V to 30 V and covers only 2 °C upward without a negative supply (ADI TMP35/36/37 datasheet, pp. 1, 3, 8; TI LM35 datasheet SNIS159H, pp. 1, 4). The LM35 is the more accurate of the common TO-92 parts: the LM35DZ is ±1.5 °C max at 25 °C, the TMP36GT9Z ±3 °C max (TI p. 9; ADI pp. 3, 19). Choose the LM35 for accuracy on a 5 V board above freezing, the TMP36 for 3.3 V boards and sub-zero readings.

## Side by side

|  | LM35 Temperature Sensor | TMP36 Temperature Sensor | Source |
| --- | --- | --- | --- |
| Output at 0 °C and 25 °C | 0 mV and 250 mV | 500 mV and 750 mV | TI LM35 datasheet SNIS159H, p. 1; ADI TMP35/36/37 datasheet Rev. F, pp. 3, 8 |
| Scale factor | 10 mV/°C | 10 mV/°C | TI LM35 datasheet SNIS159H, p. 1; ADI TMP35/36/37 datasheet Rev. F, p. 3 |
| Conversion | °C = volts × 100 | °C = (volts - 0.5) × 100 | TI LM35 datasheet SNIS159H, p. 1; ADI TMP35/36/37 datasheet Rev. F, p. 8 |
| Supply | 4 V to 30 V (35 V absolute maximum) | 2.7 V to 5.5 V (7 V absolute maximum) | TI LM35 datasheet SNIS159H, p. 4; ADI TMP35/36/37 datasheet Rev. F, pp. 3, 4 |
| Range on a single supply | 2 °C to 150 °C (LM35DZ specified 0 to 100 °C) | -40 °C to +125 °C, operation to 150 °C | TI LM35 datasheet SNIS159H, pp. 1, 4; ADI TMP35/36/37 datasheet Rev. F, p. 1 |
| Accuracy, common TO-92 part | LM35DZ: ±0.6 °C typ, ±1.5 °C max at 25 °C; ±2 °C max over 0 to 100 °C | TMP36GT9Z: ±1 °C typ, ±3 °C max at 25 °C; ±4 °C max over range | TI LM35 datasheet SNIS159H, p. 9; ADI TMP35/36/37 datasheet Rev. F, pp. 3, 19 |
| Supply current | 56 µA typ, 80 µA max at 5 V | 50 µA max | TI LM35 datasheet SNIS159H, p. 10; ADI TMP35/36/37 datasheet Rev. F, p. 3 |
| Capacitive load on the output | 50 pF without precautions | 10,000 pF typical without oscillation | TI LM35 datasheet SNIS159H, p. 14; ADI TMP35/36/37 datasheet Rev. F, pp. 3, 17 |
| TO-92 pinout (bottom view) | 1 +VS, 2 VOUT, 3 GND | 1 +VS, 2 VOUT, 3 GND | TI LM35 datasheet SNIS159H, p. 3; ADI TMP35/36/37 datasheet Rev. F, pp. 1, 10 |

## Which one to pick

### Pick the LM35 Temperature Sensor when

- Tighter accuracy on a 5 V Arduino: the LM35DZ is ±1.5 °C max at 25 °C (TI LM35 datasheet, p. 9).
- Simple math with no offset: volts × 100 is the temperature (p. 1).
- Supplies above 5.5 V, since it runs from 4 V to 30 V (p. 4).

### Pick the TMP36 Temperature Sensor when

- Freezers, outdoor readings and anything below 0 °C on one supply, down to -40 °C (ADI TMP35/36/37 datasheet, p. 1).
- 3.3 V boards such as the ESP32 or Raspberry Pi Pico, powered straight from the 3V3 pin (2.7 V to 5.5 V, p. 3).
- Long wires: the output drives up to 10,000 pF without oscillating (pp. 3, 17).

## Swapping one for the other

- The pinout is the same, 1 +VS, 2 VOUT, 3 GND from the bottom (TI LM35 datasheet, p. 3; ADI datasheet, p. 1), so the parts swap in the same holes. Check the print on the flat face, since they look identical.
- Change the formula: subtract 0.5 V for the TMP36, °C = (volts - 0.5) × 100 (ADI p. 8); the LM35 is volts × 100 (TI p. 1). Keeping the wrong one reads 50 °C off.
- Change the supply on 3.3 V boards: the TMP36 runs from 3V3, the LM35 needs 4 V or more (TI p. 4), so move its +VS to the 5 V or VIN pin. Its output stays under 1.5 V and is safe for a 3.3 V ADC.
- A TMP36 must never see more than 5.5 V in operation or 7 V absolute (ADI pp. 3, 4); a 9 V or 12 V rail that fed an LM35 destroys it.

## Questions

### Can I replace an LM35 with a TMP36?

Yes in the same three holes, since both pinouts are 1 +VS, 2 VOUT, 3 GND (TI LM35 datasheet, p. 3; ADI TMP35/36/37 datasheet, p. 1). Change the code to subtract the TMP36's 0.5 V offset (ADI p. 8) and keep its supply between 2.7 V and 5.5 V (p. 3).

### Which reads below freezing?

The TMP36, on a single supply: its 0.5 V offset puts -40 °C at 100 mV (ADI datasheet, pp. 1, 8). The LM35's output cannot go below ground, so the basic circuit reads from 2 °C up; reading below 0 °C needs a negative supply and a pull-down resistor (TI LM35 datasheet, p. 1).

### Which is more accurate?

The LM35 grades sold to makers: the LM35DZ is ±0.6 °C typical, ±1.5 °C max at 25 °C (TI LM35 datasheet, p. 9), the TMP36GT9Z ±1 °C typical, ±3 °C max (ADI datasheet, pp. 3, 19). Your ADC adds its own step: about half a degree on a 10-bit, 5 V reading.

### Can I use the LM35 on an ESP32 or Pico?

Yes for the signal, not from 3.3 V. Power +VS from the board's 5 V, VIN or VBUS pin, since the LM35 needs 4 V to 30 V (TI datasheet, p. 4). Its output is 1.0 V at 100 °C for the LM35D, safe for a 3.3 V ADC. The TMP36 runs from 3.3 V directly (ADI datasheet, p. 3).

### Why does my sensor read about 50 °C too high?

You are reading a TMP36 with the LM35 formula: at 0 °C the TMP36 outputs 500 mV (ADI datasheet, p. 8). Subtract 0.5 V before multiplying by 100.

## References

- [LM35 Temperature Sensor](https://www.tinkered.ai/components/lm35.md)
- [TMP36 Temperature Sensor](https://www.tinkered.ai/components/tmp36.md)
- TI LM35 datasheet SNIS159H
- Analog Devices TMP35/TMP36/TMP37 datasheet Rev. F

## Try it

Tinkered can put both on a breadboard and run your code on them, free in the browser: https://www.tinkered.ai/compare/lm35-vs-tmp36
