TMP36 Low Voltage Temperature Sensor

TMP36 is a temperature sensor chip which generates an analog voltage at the output which is linearly proportional to the Celsius temperature. Then convert this voltage into temperature based on a 10 mV/°C scale factor. It has a shutdown capability which limits the output current to less than 0.5 µA. It provides a supply current of up to 50 µA.

Brief Description

This sensor provides a highly precise temperature in centigrade. Most importantly, it produces output in dc voltage that we can measure easily with the help of any bare metal microcontrollers such as Arduino Uno, STM32F4, PIC16F877A. On top of that, Celsius’s temperature and an output voltage change linearly which makes it easy to compensate temperature/Voltage variations. Having a linear relationship is helpful. Because we will not require any external calibration circuit. Furthermore, it offers a very low output impedance. In short, it is very easy to interface this sensor with ADCs or microcontrollers having built-in ADCs.

TMP36 Pin Configuration

The pinout of TMP36 shows that it is a three-terminal temperature sensor.

TMP36 pinout

Pin Description 

  • Pin1 (+V) in an input pin. Connect a positive supply at this pin.
  • Pin2 (Vout) is an output in which provides an analog voltage. This analog voltage is linearly proportional to temperature (in Celsius).
  • Pin 3 (Gnd) is a ground pin.


  • This device operates using a single supply.
  • It operates within a range of +2.7 V to +5.5 V.
  • This chip is calibrated in Celsius therefore external calibration is not required. It provides an output with ±2°C accuracy over the full temperature range.
  • The operating range for temperature is -40 °C to +125 °C. However, it can operate up to +150 °C temperature but accuracy reduces.
  • TMP36 has an output scale factor of 10 mV/°C.
  • Quiescent current is less than 50 µA.
  • The device works well when the supply current is below 50 μA, which offers very low self-heating.
  • It has an automatic shutdown capability.

 Where to use it?

TMP36 IC is used mainly in thermostats and temperature measuring applications. It has low output impedance and produces a linear output. It does not require external calibration and therefore you don’t need external components. These devices can handle temperature ranges of -40°C to 150°C. All these features make this chip suitable for use in a variety of temperature measuring applications. These devices provide stable operation along with capacitive loads and drive 10,000 pF load without creating any oscillations.

How to use TMP36 Temperature Sensor?

Their precise calibration allows them to be easily interfaced with ADC and Arduino.

Interfacing with Arduino

  • Connect this sensor directly with an Arduino. You don’t need any external components.
  • The supply input voltage to the sensor in a range of 2.7 V to 5.5 V.
  • Connect pin2 of the TMP36 sensor to the analog input pins of Arduino using a jumper wire.

TMP36 interfacing with Arduino

  • After making a connection diagram,  just upload the code in Arduino.
  • Open Arduino IDE, Serial monitor to see temperature sensor values.

Connection diagram with Arduino Uno

Arduino Interfacing Code

  • Firstly, declare the A0 pin of Arduino as an input that will read the output voltage of the sensor. After that, we have created an input variable in which this value is stored.
  • The sensor provides a digital value between 0 and 1023. Now, we need to convert it into a Celsius temperature. For this, we have divided the input value by 1024 in code.
int Input;   
double temperature; 
int sensorpin = A0; 
void setup() {
void loop() 
Input= analogRead(A0); 

After this, we will have to do calculations to convert the voltage value into a Celsius temperature. For this purpose, we will initialize a temperature variable. Paste the code below in the void loop for voltage to a temperature conversion.
temperature = Input / 1024;

temperature = temperature * 5;
temperature = temperature - 0.5;
temperature = temperature * 100;


As we have seen earlier in the Arduino interfacing example, that by default we can measure centigrade temperature with this sensor. But we can convert this temperature into FAHRENHEIT by using a few more external electronics components. But if you are using a microcontroller ADC, you can achieve this with a microcontroller instead of using external electronics components.

This circuit can measure temperature in the range of 41°F to 257°F FAHRENHEIT. Just like the Celcius transfer scale, for Fahrenheit, it will be f 1 mV/°F.

TMP36 Fahrenheit Thermometer Example

Alternative Temperature Sensors


The applications of a TMP36 temperature sensor includes:

  • These less expensive sensors can generate interrupts in microprocessor applications.
  • The TMP36 chip measures the average temperature in industrial and environmental control applications.
  • Fire Alarms detect the rise in temperature through this device and start operating when the temperature reaches a certain threshold limit.
  • Different applications implement thermal protection mechanisms using this chip
  • Monitors, CPU and other power systems provide thermal management by measuring temperature through TMP36.

2D Diagram

The available packages of this IC include 3-pin TO-92, 8-pin SOIC_N,, and 5-pin SOT-23. The figure below shows the 2D diagram of the 3-pin TO-92 package. For other packages, check the datasheet.

2D diagram


TMP36 Datasheet

2 thoughts on “TMP36 Low Voltage Temperature Sensor”

Leave a Comment