Arduino Thermometer




About: Maker from USA. Follow me to stay up to date on my projects and possible kickstarters! Business email:

Its hot here in Los Angeles! Besides the massive drought California is in, Its not as cool around here lately. I wanted to build something to see just how hot it really was, and here it is!

Read this instructable and Ill teach how you can turn just a few components you have into an accurate mini desktop thermometer!

I hope you enjoy the project and vote for it for the contests!

Lets Build It!

Step 1: You Will Need...

If you would like to make this project, you will need:

  1. LM35 sensor (Already had)
  2. Plastic Tupperware (Free)
  3. Breadboard (Already had)
  4. 9v Battery and Arduino 9v clip (Already had)
  5. LCD 16x2 (Already had)
  6. Arduino Uno (Already Had)
  7. Wires! (Already Had)

As you can see, you dont need much. In fact I had these pieces lying around my house so this was FREE!

Step 2: Test the LCD

I wanted to test and see if my LCD still worked. It still worked! Heres how I wired it:

LCD Arduino

1...... GDN

2...... 5V

3...... GDN

4...... PIN 8

5...... GDN

6...... PIN 9

7...... –

8....... –

9...... –

10...... –

11...... PIN 4

12......PIN 5

13......PIN 6

14...... PIN 7

15...... 5V

16...... GDN

Step 3: Add in the LM35!

Take the LM35 and add it in! Heres a helpful guide:

(Ignore the periods)


[ LM35 (Front) ]

[...................... ]




I............I.......... I


Step 4: Check Your Wiring

Make sure to double check your wiring!

We don't want any mistakes!

Heres a schematic I used for this project

Step 5: Code!

Now its time to code!

Here the code! (Please If you see anything wrong tell me)

  //     Program:     LCD_temperature

  //     By: Constructed

// Arduino pins used for LCD
LiquidCrystal lcd(8,9,4,5,6,7);

void setup() {
    lcd.begin(16, 2);

void loop() {
    float temperature = 0.0;   // stores the calculated temperature
    int sample;                // counts through ADC samples
    float ten_samples = 0.0;   // stores sum of 10 samples
    for (sample = 0; sample < 10; sample++) {
        // convert A0 value to temperature
        temperature = ((float)analogRead(A0) * 5.0 / 1024.0) - 0.5; 
        temperature = temperature / 0.01;
        // sample every 0.1 seconds
        // sum of all samples
        ten_samples = ten_samples + temperature;
    // get the average value of 10 temperatures
    temperature = ten_samples / 10.0;
    // display the temperature on the LCD
    lcd.setCursor(0, 0);
    lcd.setCursor (0,1);
    lcd.print (temperature);
    lcd.print(" F ");
    ten_samples = 0.0;

Step 6: Measure LCD

Now its time to make the case

Measure the LCD protruding sceen and cut a hole just big enough to squeeze over the LCD.

Step 7: Your Done!

Saftly place all the electronics in the plastic container and snap the lid on!

Your DONE!

Place your thermometer near your bed like I did, whenever I wake up, I can see how hot it is!

Please Like Comment And Subscribe for more!

2 People Made This Project!


  • Woodworking Contest

    Woodworking Contest
  • Gardening Contest

    Gardening Contest
  • IoT Challenge

    IoT Challenge

23 Discussions


12 months ago

Nice instructable, it didn't work the first try, problem: LCD characters were displayed as white cubes just like our friend @VictorG9 case, I'm going to check

since my guess is that the problem is with the contrast settings of the LCD and it would be solved by a potentiometer.


Reply 3 years ago

be sure that you are using the correct pins for the lcd.

when it does this that means that u should change the pins


Reply 3 years ago

First, you need a potentiometer to regulate the contrast on screen if you still having troubles, check if you add the library of the Lm35, if you want some help with the code send me a msg we'll find it out, good day!


Reply 3 years ago

Usually you need to add a variable resistor and connect its output to the contrast pin which is the 3rd pin from the left. Google "liquidcrystal arduino". Hope that helps


1 year ago

my lcd doesnt have a character


2 years ago

This looks clean. I like it.

Can you tell how long a batterij lasts?


2 years ago

So I made this and used your code and the only thing that displays is 3 zeros on one side of the screen and 2 on the other? What happened.


2 years ago

Has anyone made a clock/thermometer?

Varen Greycloak

3 years ago

First I just got black boxes, now I get a blank screen. Help?


Reply 3 years ago

It might be a defective part. I had to buy three sensors before one worked