Introduction: Simple Led Thermometer

This is a very quick and easy Arduino project, great for beginners! This instructable will show you how to make a simple visual thermometer by using several leds and a temperature sensor, connected to an Arduino. You will need

breadboard X1

Arduino Uno R3 X 1

Leds of various colors X 5

male to male jumper wires X 10

330 ohm resistors X 5

Temperature Sensor X 1

Step 1: Add the Components to the Breadboard

The first thing to do is to connect all of the leds, resistors and the sensor to the breadboard. For the leds, the short leg is negative and the long leg is positive. Using a jumper wire, connect the long leg of each led to pins 8-12 on the Arduino (led 1 to pin 8, led 2 to pin 9 and so forth). Next place a resistor next to each led connecting one leg of the resistor to the short leg of the led and the other leg of the resistor to the negative rail on the breadboard.

Now it's time to add the temperature sensor! Connect the temperature sensor to the breadboard anywhere above or below the line of leds (you could put it anywhere, but this makes it easier). Using three more jumper wires, connect the top pin of the sensor to the negative rail. Connect the middle pin of the sensor to pin A0 on the Arduino. Finally, connect the bottom pin of the sensor to the positive rail of the breadboard. Now simply connect another jumper wire from the positive rail of the breadboard to the 5v pin on Arduino. Connect the negative rail to the ground pin on the Arduino.

That's it, now to add the programming!

Step 2: Program, Test and Enjoy!

I am including my program here. I have simple conditions to turn on each led in turn as as the temperature goes up. So if it's between 55 and 65, just the bottom led is lit. Once it goes above 65, the bottom 2 leds are lit and so on up to 80+ degrees. The code also prints the temp in degrees C and degrees F to the serial monitor which you can open in the Arduino IDE under tools, Serial Monitor.

You could easily tweak this to make it more detailed by adding more leds, or having it turn a servo to adjust something when it gets above a certain temperature for example.

Hopefully, this was an interesting starter project for you! Let me know what you think, suggestions, ideas to expand on this, problems etc in the comments below!


phungps (author)2015-11-25

Hi, is there any LED that has the precision of up to 1 degree celsius? Meaning i will get different colour of LED to light up for every increment of 1 degree celsius in temperature. Thanks!

dstech (author)phungps2015-11-26

the precision is just in the programming, you could easily program it to light up 1 led for each degree celsius but you would need for example more than 60 leds just to show room temperature. You could definitely do it though!

jantjep (author)2015-11-16

as an Arduino beginner this is a nice project!

rafununu (author)2015-11-15

There's nothing about the sensor, is it analog or digital. How is made the calibration ? There is profusion of visual thermometers on the web much more documented than this one.

SoccerDadof22 (author)rafununu2015-11-16

The .ino file lists the temp sensor as a TMP36. Hope that helps. If you search digikey, you'll see they are listed as nominally 10mV/°C and run about $1.40 (US$).

dstech (author)rafununu2015-11-15

It is analog and reads voltage which is then converted to a temperature. I don't think you need to calibrate it in any way...

DIY Hacks and How Tos (author)2015-11-15

Great basic Arduino tutorial


Thank you!