

The TMP36 is an analog temperature sensor that provides a voltage output proportional to the temperature in degrees Celsius. It is designed to operate from a single power supply, making it easy to integrate into a variety of electronic systems. The TMP36 is known for its accuracy, low power consumption, and ease of use. It is commonly used in applications such as environmental monitoring, temperature control systems, and data logging.








The TMP36 is a low-voltage, precision temperature sensor with the following key specifications:
| Parameter | Value |
|---|---|
| Supply Voltage (Vcc) | 2.7V to 5.5V |
| Output Voltage Range | 0.1V to 2.0V |
| Temperature Range | -40°C to +125°C |
| Accuracy | ±2°C (typical) |
| Output Scale Factor | 10 mV/°C |
| Quiescent Current | 50 µA (typical) |
| Package Types | TO-92, SOIC-8 |
The TMP36 has three pins, as shown in the table below:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Vcc | Power supply input (2.7V to 5.5V) |
| 2 | Vout | Analog voltage output proportional to temperature |
| 3 | GND | Ground (0V reference) |
Below is an example of how to connect and read data from the TMP36 using an Arduino UNO:
// TMP36 Temperature Sensor Example with Arduino UNO
// Reads the analog voltage from the TMP36 and converts it to temperature in °C.
const int sensorPin = A0; // TMP36 output connected to analog pin A0
float voltage; // Variable to store the sensor voltage
float temperatureC; // Variable to store the temperature in Celsius
void setup() {
Serial.begin(9600); // Initialize serial communication for debugging
}
void loop() {
int sensorValue = analogRead(sensorPin); // Read the analog value (0-1023)
// Convert the analog value to voltage (assuming 5V reference)
voltage = sensorValue * (5.0 / 1023.0);
// Convert the voltage to temperature in Celsius
temperatureC = (voltage - 0.5) * 100.0;
// Print the temperature to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
delay(1000); // Wait 1 second before the next reading
}
Incorrect Temperature Readings:
No Output Voltage:
Fluctuating Readings:
Q: Can the TMP36 measure negative temperatures?
A: Yes, the TMP36 can measure temperatures below 0°C. The output voltage will drop below 500 mV for negative temperatures.
Q: What is the maximum distance between the TMP36 and the microcontroller?
A: It is recommended to keep the distance as short as possible (less than 1 meter) to minimize noise and signal degradation.
Q: Can I use the TMP36 with a 3.3V microcontroller?
A: Yes, the TMP36 operates with a supply voltage as low as 2.7V, making it compatible with 3.3V systems.
Q: How do I improve the accuracy of the TMP36?
A: Use a stable power supply, add a decoupling capacitor, and ensure good thermal coupling with the measurement environment.