top of page

DIY thermometer using attiny85

Updated: Feb 12

In this project, you will learn to design a thermometer using Attiny85.

Hardware Components - DIY thermometer using attiny85|

1. Attiny85:

#Attiny85 is a microcontroller board that supports Arduino IDE and can be used in microcontroller-based projects. It is a RISC-based microcontroller and has eight pins. Attiny85 is cheaper and more compatible than the Arduino Uno board.


2. TMP36 Temperature sensor:

#TMP36 temperature sensor is an analog temperature sensor with a wide temperature range. The left pin is for voltage input (2.7V to 5.5V) and, the pin on the right side is for the ground. The pin in the center is for the analog output.

TMP36 Temperature sensor
TMP36 Temperature sensor

3. LED:

Light Emitting Diode (LED) is a semiconductor device that emits light when the current flows through it. The color of the light emitted by the LED depends on the bandgap the electrons need to cross to recombine with the holes in the semiconductor. In this project, we use a red LED.


4. Resistor-220Ω:

The resistor is a passive electronic component that offers resistance to the current flowing through it. In this project, we use a 220Ω resistor to reduce the current flowing through the LED.


5. 1.5V Battery:

An alkaline battery of 1.5V is used in this project as the power source. |DIY thermometer using attiny85|

1.5V Battery
1.5V Battery

Circuit Connections:

Connect the power pin of the Attiny85 to the positive terminal of the battery.

  1. Connect the ground pin of the Attiny85 to the negative terminal of the battery.

  2. Likewise, connect the power pin and the ground pin of the TMP36 temperature sensor to the positive and the negative terminal of the battery, respectively.

  3. Connect the Vout of the TMP36 sensor to the PB2 pin of the Attiny85.

  4. Connect the anode of the LED to the PB0 pin of the Attiny85.

  5. Connect one of the resistor arms to the cathode of the LED.

  6. Connect the other arm of the resistor to the ground of the Attiny85.


  • Initialize the PB0 pin to zero and define the PB2 pin.

  • Declare a variable- realDegree.

  • In void setup(), set the pin mode for PB0 and initialize the realDegree value to 0.0

  • In void loop(), the analog values from the sensor are assigned to "degree". It is divided by 1024 and is assigned to the "realdegree" variable.

  • This value will range from 0 to 1, hence it is multiplied by 5 to increase the range.

  • To get the actual temperature the realdegree value is multiplied by 100.

  • Convert the degree Celcius value to the Fahrenheit value.

  • Using the else-if condition, for different ranges of the temperature, set the LED to blink fast, remain steady, blink slowly or turn off by providing suitable delay.


Connect the components as shown in the circuit diagram. When the temperature sensor's output varies, the LED blinks according to the condition set for the respective ranges of temperature in the code.

Check the Project Working video here - DIY thermometer using Atttiny85 on TinkerCAD

Video by- Debangshu Sarkar

Written by-

Name- Nagashree R Nadig

See also-

Follow us -

Please do follow us i.e #learnelectronicsindia to get daily updates about new blogs, videos, courses, quizzes, and contests.

Want us to help you with the projects, write your inquiry here - Order Projects

Check out our Free Arduino Projects Playlist - Arduino Projects

Check out our Free Raspberry Pi Projects Playlist - Raspberry Pi Projects

Check out our Free TinkerCAD Projects Playlist - TinkerCAD Projects

Check out our Free IoT Projects Playlist - IoT Projects

Check out our Free Home Automation Projects Playlist - Home Automation Projects

Check out our Free NodeMCu Projects Playlist - NodeMCu Projects

332 views3 comments

Related Posts

See All
bottom of page