Inspiration

Why a smart thermostat? It is low hanging fruit for load shifting. According to Wikipedia, thermostats control about 50% of overall electric loads in the United States. Since the internal temperature of a well insulated home does not change too much over time, it is possible to use it as a kind of thermal battery. By chilling or heating a home overnight or other times of low electricity demand, you avoid having to change the temperature as much during the day, when demand for electricity is high.

What it does

The smart thermostat is just like a normal thermostat, except that its set-point temperature can be dynamically changed however the user wants. Right now, this means using a website on the user's local network, with basic support for a hard coded night set point, but ideally you would be able to change the day and night set points from the website.

Challenges we ran into

I completed this project alone, and a team would have made the work go much faster. I also switched to this project in the wee hours of Saturday morning, so I have only worked on it for around a day.

The pin numbers on the ESP8266 breakout board do not always reflect the underlying GPIO pin numbers. It took me a very long time to realize this.

Also writing back-end code in embedded c++ is yucky.

Accomplishments that we're proud of

I implemented a web server using an embedded microcontroller. Unlike Raspberry PIs which routinely sell for hundreds of dollar due to demand (and the lack of an open source design) you can buy several of the modules that I used for well under twenty dollars. The other parts are inexpensive as well, especially when purchased independently of hobbyist oriented circuit boards.

What's next for Smart Thermostat

LCD display, manual controls on the unit, external power for more current capacity.

Built With

Share this project:

Updates