How to Use LM35 Temperature Sensor with Arduino

Measuring temperature is one of the most common requirements in electronics projects. Whether you’re building a weather station, a smart thermostat, or a temperature-controlled fan, the LM35 Temperature Sensor is a reliable and affordable solution.

In this blog, we’ll walk you through how to use the LM35 with Arduino. You’ll learn how to wire it up, read temperature values in Celsius.

How to use LM35 Temperature Sensor with Arduino

What is the LM35 Temperature Sensor?

The LM35 is a precision integrated-circuit temperature sensor whose output voltage is linearly proportional to the Celsius temperature. It provides an analog voltage that can be directly read by an Arduino’s analog pin.

This sensor is fairly precise and cheap. It is accurate and works with different environmental conditions. LM35 sensor does not require calibration and provides accuracy of ±0.5°C at room temperature and ±1°C over a full −55°C to +155°C temperature range.
Some specification on this sensors are as follows:

The disadvantage of this sensor is that it cannot measure temperature without negative biasing. For measuring negative temperature we recommend you to use another sensor (TMP36).

LM35 Temperature Sensor

Key Features of LM35 Temperature Sensor:

  • Calibrated directly in Celsius
  • Linear +10.0 mV/°C scale factor
  • Operating range: 0°C to 150°C
  • Accuracy ±0.5°C (at room temperature)
  • Low self-heating

Working Principle of LM35 Sensor:

The LM35 Temperature Sensor is an analog sensor that operates based on the principle that the output voltage is linearly proportional to the temperature in degrees Celsius.

It uses a solid-state method to measure the temperature. It makes use of the fact that the voltage drop between the base and emitter (forward voltage – Vbe) of the Diode-connected transistor decreases at a known rate as the temperature increases. By amplifying this voltage change, it is possible to generate analog signal that is directly proportional to the temperature.

The good thing is that these calculations are done by sensor itself it shows only voltage only that is directly proportional to the temperature.

The LM35 produces a voltage output of 10 millivolts (mV) for every 1°C rise in temperature. The LM35 produces a voltage output of 10 millivolts (mV) for every 1°C rise in temperature.

For example:

  • At 0°C, the output voltage is 0.00V
  • At 25°C, the output voltage is 0.25V
  • At 50°C, the output voltage is 0.50V

This linear output allows the Arduino to easily read the temperature by converting the analog voltage signal using the ADC (Analog to Digital Converter).

Why LM35 is Better Than Thermistors:

  • Pre-calibrated in Celsius
  • Linear output, easy to interpret
  • No external calibration required
  • Low self-heating, ensuring more accurate readings over time

Components Required for using LM35 with Arduino:

  • Arduino UNO (or any compatible board)
  • LM35 Temperature Sensor
  • Breadboard
  • Jumper wires
  • (Optional) 16×2 LCD Display with I2C module
  • USB Cable for Arduino
  • Arduino IDE installed on your

LM35 Temperature Sensor Pinout:

  • Vcc is the power supply which can be between 4V to 30V.
  • Vout pin produces an analog voltage that is directly proportional to the temperature.
  • GND is a ground pin.
LM35 Temperature Sensor Pinout

Circuit Diagram of LM35 Temperature Sensor to an Arduino:

Here’s how to connect the LM35 sensor to the Arduino:

LM35 PinConnection
VCC5V on Arduino
GNDGND on Arduino
OUTA0 on Arduino
Make sure to place the flat side of the LM35 facing you. The left pin is VCC, the middle is Output, and the right is GND.
Circuit Diagram of LM35 Temperature Sensor to an Arduino

Arduino Code for LM35 Temperature Sensor:

const int lm35Pin = A0;  // Analog pin connected to LM35
float temperatureC;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(lm35Pin);  // Read analog voltage
  temperatureC = sensorValue * (5.0 / 1023.0) * 100.0;  // Convert to Celsius
  Serial.print("Temperature: ");
  Serial.print(temperatureC);
  Serial.println(" °C");
  delay(1000);  // Wait for 1 second
}

You can see the result by opening serial monitor:

Applications of LM35 Temperature Sensor:

  • HVAC Control Systems
  • Smart Home Temperature Monitoring
  • Weather Stations
  • Greenhouse Monitoring
  • Fire Detection Systems

Troubleshooting LM35 Temperature Sensor with Arduino:

  • Ensure stable 5V power for accurate readings.
  • Use shorter wires to reduce noise in analog readings.
  • Avoid touching the LM35 with your fingers during testing—it may affect readings.

Conclusion:

Using the LM35 temperature sensor with Arduino is simple and effective for many real-world projects. With just a few lines of code and minimal wiring, you can begin monitoring temperature in real time and even integrate it with displays or IoT platforms.

Need Help in Setup of LM35 Temperature Sensor with Arduino?

If you need any Help or Assistance for Setup of LM35 Temperature Sensor with Arduino, with Modifications or Customization then you can contact us through WhatsApp. We can deliver you this Project in the Following Ways.

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Facebook
YouTube