USB powered thermometer with an interesting data display

Almost each person interested in building electronic devices has built at least one thermometer and power supply in his life. I'm not different, to add to this, today I will present one of my thermometers.

Original concept was different, I wanted to use it as a weather station, wake up, go to my balcony, smoke a cigarette and check what on this device what is the temperature, humidity and air pressure. At the end I decided to build a small thermometer (in future with all mentioned features), that I could plug to my computer and check conditions in my home.

What is nice here is that the data is displayed original way, there are two rows of nine LEDs, if on the upper row second diode is on, and on the bottom row fifth diode is on, then the value presented by the device is 2*10 + 5 = 25. It can sounds complicated at first, but in practice it's fast and intuitive. Below is an example, value presented on the display is 25:

How it works?

The core of the project is ATmega8, firmware was made in C and can be downloaded from my GitHub. The temperature is monitored by using MCP9700-E, it's an analog chip that doesn't need calibration (and that's great because calibration is a tedious work) and is linear. The display is driven by two 4017 chips (one chip, one row), thanks for those chips, only 4 ATmega8's pins are needed to drive 18 LEDs! The device is powered from USB port.

[TODO: add circuit diagram]

Future of the project

I have in plans adding support for measurements of humidity, air pressure, minimum an maximum value during last 24h, and communication with the computer (by using V-USB library).

I hope that this device will inspire you to build your own stuffs!


  1. You could use smaller USB plug and SMD mounting, PCB would be 2x smaller.