Binary Thermometer

An Arduino-based LM35 thermometer that shows temperature on a 6-bit LED display

Similar projects worth following
A thermometer based on the LM35 linear temperature sensor; it features an ATMEGA328P-AU (same as on the Arduino Nano) and six (6) LED's. Each LED represents a binary BIT, so the temperature this product can measure and show is up to 2*exp(6)= 64 degrees Celsius.

- This is how this thermometer works: The environment temperature is read by a LM35 (in Celsius degrees) and converted to Binary by the ATMEGA328, which turns ON each of the six LED's accordingly. The reading range is between 0C and 64C (which is 2*exp[6]).

- The main component of the circuit is a microcontroller (ATMEGA328P-AU) running crystalless at 8MHz (Arduino Flora bootoloader).

- There is a single temperature sensor: the linear LM35, being read by the analog input A0 of the ATMEGA

- There are six (6) LED's to make the 6-bit display, each one has its current limited by a 680 ohm resistor

- There is no voltage regulator, so you can freely run this project from a 3.7V LiPo battery. The downside is that if you unadvertedly connect more than 5V to it, you will destroy the ATMEGA328!.


Little video showing a full board test: cycling through all LED's!

MPEG-4 Video - 6.59 MB - 03/17/2016 at 01:53



Back of the Thermometer PCB, made by OSHPark

JPEG Image - 2.08 MB - 03/15/2016 at 17:32



Front face of the Thermometer PCB, made by OSHPark

JPEG Image - 2.03 MB - 03/15/2016 at 17:32


  • 6 × LED 5mm Light emitting diode
  • 1 × 680 ohm resistor 5% carbon film resistor
  • 1 × 3.7V Battery LiPo Battery
  • 1 × Temperature sensor LM35 from Texas Instruments
  • 1 × ATMEGA328P-AU Microcontroller

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates