ESP32 - LM35 Temperature Sensors
This tutorial instructs you
-
how to use ESP32 to read temperature value from LM35 temperature sensor
Video Tutorial
you can watch this video tutorial
Hardware Required
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | Micro USB Cable | |
1 | × | LM35 Temperature Sensor | |
1 | × | Breadboard | |
n | × | Jumper Wires |
Introduction to LM35 Temperature Sensor
LM35 Temperature Sensor Pinout
LM35 temperature sensor has three pins:
-
GND pin:connect this pin to GND (0V)
-
VCC pin: connect this pin to VCC (5V)
-
OUT pin: This pin outputs voltage in proportion to the temperature value.

How LM35 Temperature Sensor Works
The LM35 sensor outputs the voltage in linearly proportion to the Celsius temperature. The output scale factor of the LM35 is 10 mV/°C. By measuring the voltage on the LM32's OUT pin, we can calculate the temperature value.
Wiring Diagram
Schematic Diagram

Image is developed using Fritzing. Click to enlarge image
Breadboard Connections
ESP32 Code
#define ADC_VREF_mV 3300.0 // in millivolt #define ADC_RESOLUTION 4096.0 #define PIN_LM35 36 // ESP32 pin GIOP36 (ADC0) connected to LM35 void setup() { Serial.begin(9600); } void loop() { // read the ADC value from the temperature sensor int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in °C float tempC = milliVolt / 10; // convert the °C to °F float tempF = tempC * 9 / 5 + 32; // print the temperature in the Serial Monitor: Serial.print("Temperature: "); Serial.print(tempC); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(tempF); // print the temperature in °F Serial.println("°F"); delay(500); }
Quick Steps
- power up your board
- Open Arduino IDE
- Select the right board
- Select the right port
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to ESP32
- Press and keep pressing the button several seconds
- See the changes you made

Book Tutorial
We are considering to make the book tutorials. If you think the book tutorials are essential, you can download it. download book
See Also
References
※ NOTE THAT:
Some components works on 3.3v and others works on 5v!