Main Content

ATtiny10 Thermometer

This is a small battery-powered thermometer that displays the temperature as a series of red and green flashes on an LED.

The thermometer consists of an ATtiny10, a DS18B20 1-wire temperature sensor, and a bi-colour LED. To avoid the need for a digital display, and minimise current consumption, the thermometer pulses the temperature as a series of red or green flashes on the bi-colour LED. I designed it so I could seal it in a small waterproof enclosure and put it outside the window, allowing me to see the outdoor temperature from inside.

It incorporates several power-saving features to enable it to run for over a year on a CR2032 button cell.

Some time ago I designed a flashing thermometer based on an ATtiny85, using the ATtiny85’s internal tempreature sensor: Flashing Thermometer.

Despite its elegant simplicity the circuit wasn’t very accurate, because of the limitations of the internal temperature sensor. I recently wanted to build another thermometer, and decided this time to base it on a DS18B20 1-wire temperature sensor that has an accuracy of 0.5°C and doesn’t require calibration. I decided to use an ATtiny10 for the processing, so I could eventually make a version with SMD components on a PCB the same size as a button cell. For this prototype I used through-hole components and an ATtiny10 on a breakout board.

The original flashing thermometer displayed the temperature in a little-known notation called negabinary. This time I’ve also supported an alternative notation I’ve called Easy Binary that you may find more intuitive than negabinary. In each case it flashes the digits starting with the most significant digit, with red representing a one and green a zero.”

Link to article