Home Thermostat is an Arduino-based home-brew programmable thermostat project.

The current breadboard looks like:

Breadboard Image

And some detail on the LCD:

LCD Detail

Here is the schematic.

Schematic Diagram

The source sketches are in a git repository.

At the moment, it just tells the temperature. The tiny pushbutton on the right of the breadboard turns on the back light for the LCD. It stays lit for 10 seconds after you release the button. The little snaky-wired thing at the top-right is a thermistor, which has a resistance that varies based on the temperature. The processor detects this and uses the Steinhart–Hart equation to determine the temperature.

I also have a running clock, which will be necessary to figure out when to change the temperature when I actually attach this as a thermostat.

It's a bit different programming a processor this simple from my usual work. This system has no operating system, 32KB of system memory, and runs at 16MHz. My development laptop, on the other hand, has 4GB of system memory and runs at 2.5GHz with two processor cores. It runs an advanced operating system.

But I've spent about $70 on the parts, so it's not terribly expensive. And it's kind of fun!