NerdKits - electronics education for a digital generation

You are not logged in. [log in]

NEW: Learning electronics? Ask your questions on the new Electronics Questions & Answers site hosted by CircuitLab.

Project Help and Ideas » Automatic thermostat

December 30, 2015
by scootergarrett
scootergarrett's Avatar

Although I don't pay for heat at my apartment my girlfriend and I like it a little colder when we sleep and cant get out of bed in the morning when its cold. I also needed a project for my new 3D printer. So I decided to make a device that controls the thermostat based on time.

First I had to come up with some logic to determine the desired temperature as a function of time of day. I though depending on how cold the apartment was would determine how early the heat come on. Then I realized I was just controlling the thermostat set point so all it needs to do is ramp up (at a reasonable rate, yet to be determined scientifically). So I wrote a C function that takes set points shown as red dots, and determines the temperature at any time.

temperature plot

A raspberry pi with a wifi dongle is the heart of this device keeping time and determining set temperature (in the future it could be web enabled and I could get serious control). The time and temperature are sent to a Microview which controls the servo motor and displays the set temperature. The servo motor is linked to the thermostat lever like a 4 bar linkage; it can control the temperature from 60-90 deg F with 0.5F resolution.

Servo motor


I haven't programed weekends or if work scheduled are different yet, so I just included some over ride buttons, that let the user select the temperature manually. It will stay at the new temperature for 2 hours then go back the the time based temperature.

The code is not very efficient of readable so I'm omitting it.

December 31, 2015
by sask55
sask55's Avatar

Interesting example of a relatively simple project that demonstrates 3D printing, Raspberry Pi and servo motor application.

That is by far the most unique and unexpected approach to a programmable thermometer I have ever seen. Generally programmable thermostats would replace the control switch with a MOSFET or SCR, replace the thermometer with a digital temperature sensor, and completely remove the manual temperature setting lever by using a few push buttons and a digital display to allow the unit to be programmed or to set the desired temperature to be maintained.

Your old school/high tech hybrid and the open layout with no case would certainly be a conversations starter, around my house.

In the climate where I am, programmable thermostats are very common. The potential energy saving will quickly cover the additional cost of the more expensive programmable thermostat. Why maintain a comfortable room temperature at times when it is likely there will be no one in the heated or cold areas

December 31, 2015
JKITSON's Avatar

Scooter I like the concept and the way you built this system. I have not gone the Pi route yet. I liked your servo (R/C model stuff). Have a bunch of them in my airplane shop. Would be interesting to see your program code & how you control the servo etc. Nice work...


Post a Reply

Please log in to post a reply.

Did you know that 20 LEDs can be controlled from 11 microcontroller pins, to make a twinkling heart outline? Learn more...