

The LM35 is a precision temperature sensor manufactured by Texas Instruments. It provides an output voltage that is linearly proportional to the temperature in degrees Celsius, making it an ideal choice for temperature measurement and control applications. Unlike thermistors, the LM35 does not require any external calibration or trimming, and it offers a high level of accuracy.








The LM35 is designed for ease of use and high accuracy. Below are its key technical details:
| Parameter | Value |
|---|---|
| Manufacturer | Texas Instruments |
| Part Number | LM35 |
| Operating Voltage Range | 4V to 30V |
| Output Voltage | 10mV/°C |
| Temperature Range | -55°C to +150°C |
| Accuracy | ±0.5°C (at 25°C) |
| Current Consumption | 60 µA (typical) |
| Output Impedance | 0.1 Ω (typical) |
| Package Options | TO-92, SOIC-8, TO-220 |
The LM35 is available in a 3-pin package (e.g., TO-92). Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (4V to 30V) |
| 2 | VOUT | Analog output voltage proportional to temperature |
| 3 | GND | Ground (0V reference) |
The LM35 is straightforward to use in a circuit. It outputs an analog voltage that corresponds to the temperature in degrees Celsius. The output voltage can be read directly by an analog-to-digital converter (ADC) on a microcontroller, such as an Arduino UNO.
VCC pin to the 5V pin on the Arduino and the GND pin to the Arduino's GND.VOUT pin to one of the Arduino's analog input pins (e.g., A0).// LM35 Temperature Sensor Example with Arduino UNO
// Reads the temperature in Celsius and prints it to the Serial Monitor
const int sensorPin = A0; // LM35 output connected to analog pin A0
float voltage; // Variable to store the sensor's output voltage
float temperature; // Variable to store the calculated temperature
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
}
void loop() {
int sensorValue = analogRead(sensorPin); // Read the analog value (0-1023)
// Convert the analog value to voltage (assuming 5V reference voltage)
voltage = sensorValue * (5.0 / 1023.0);
// Convert the voltage to temperature in Celsius
temperature = voltage * 100.0; // LM35 outputs 10mV per degree Celsius
// Print the temperature to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
delay(1000); // Wait for 1 second before the next reading
}
VCC and GND to reduce noise in the output signal.No Output or Incorrect Readings
VCC is connected to a stable power source, GND is properly grounded, and VOUT is connected to the correct analog input pin.Fluctuating Temperature Readings
VCC and GND near the LM35.Output Voltage Does Not Match Expected Temperature
Overheating of the LM35
Q: Can the LM35 measure negative temperatures?
A: Yes, the LM35 can measure temperatures below 0°C. However, for negative temperatures, the output voltage will be below 0V, which may require additional circuitry to read.
Q: Can I use the LM35 with a 3.3V microcontroller?
A: Yes, the LM35 can operate at 3.3V, but the output voltage range will be limited. Ensure the microcontroller's ADC can accurately read the reduced voltage range.
Q: How accurate is the LM35?
A: The LM35 has an accuracy of ±0.5°C at 25°C. Accuracy may vary slightly at other temperatures, as specified in the datasheet.
Q: Do I need to calibrate the LM35?
A: No, the LM35 is factory-calibrated and does not require external calibration.
By following this documentation, you can effectively integrate the LM35 temperature sensor into your projects and troubleshoot common issues with ease.