Introduction: Smart Thermostat

Picture of Smart Thermostat

In this instructable we look at how to build a Smart Thermostat. What makes this thermostat so smart you ask? Here is a list of some of its smart features:

  • It can be controlled by your Android device, which gives you one less reason to get up from the couch or get out of bed.
  • High accuracy temperature measurement capability. The cheap thermostats that are in most homes can have error ranges of +/- 2 degrees!
  • High resolution temperature settings to go with the great temperature accuracy, if you have a very slim temperature comfort zone this will give you the temperature setting resolution to hit your zone.
  • No more trying to change the temperature or search for a setting with only one or two buttons and a tiny screen, this thermostat comes with a lot of buttons and a large display for making easy and quick changes.

The project is laid out in a series of three videos. The Arduino code can be found on GitHub (link provided in video). You can access the Andriod App .aia file using this link: https://dl.dropboxusercontent.com/u/26591541/Smart...

Comments

diman64 (author)2017-01-15

Hi friend,

I need temperature in Celsius not Fahrenheit, can you give me conversion string to do this??

thanks

ForceTronics (author)diman642017-01-15

In my project Wireless Sensor Node with the nRF24L01 I convert from F to C so you can leverage it from that code

diman64 (author)ForceTronics2017-01-15

Hi,
but code in not complete!!
#include
#include
#include

// start RF24 communication layer
RF24 radio(9,10);

// start RF24 network layer
RF24Network network(radio);

// Coordinator address
const uint16_t thisNode = 00;

// Structure of our payload coming from router and end devices
struct Payload
{
float aDCTemp; //temperature from onboard sensor
bool batState; //bool to communicate battery power level, true is good and false means battery needs to be replaced
};

void setup(void)
{
Serial.begin(57600);
Serial.println("Coordinator is online.....");

SPI.begin();
radio.begin();
network.begin(90, thisNode);
}

void loop(void)
{
//check network communication regularly
network.update();

RF24NetworkHeader header; //create header variable
Payload payload; //create payload variable
// Any data on the network ready to read
while ( network.available() )
{
// If so, grab it and print it out
network.read(header,&payload,sizeof(payload));
Serial.print("The node this is from: ");
Serial.println(header.from_node);
Serial.print("Temperature: ");
Serial.print(payload.aDCTemp);
Serial.print(" Battery status: ");
Serial.println(payload.batState);
}
}

GeeksTipsDotCom (author)2016-12-27

Nice project, although I would use an ESP8266 Arduino instead of the bluethoot module. But good schematics anyway, love your work.

Thanks, I am actually thinking of upgrading this project to add WiFi. Let me know if you get it up and running with the ESP8266

Yuvaltz (author)2016-01-30

Awesome project!

fbalandran (author)2016-01-08

nice project, scratch cmon man learn you some c! jk :)

read more (author)2015-06-17

Awesome. Thanks for sharing :)

Mjtrinihobby (author)2015-04-15

impressive.

wwonsang (author)2015-04-13

great project! Because my home contains 3 thermistor stats, I would want to go with a WiFi approach. This way you do not have to Bluetooth attach to each module and you could also potentially do this remotely / away from home. Sort of like the AT&T Digital Life. I love this.

ForceTronics (author)wwonsang2015-04-13

Thanks! Yeah with the recent release / availability of the low cost ESP8266 WiFi to serial module I may have to do an upgrade to WiFi in the future.

omar_uhh (author)2015-04-08

I love it. Thanks for sharing.

ForceTronics (author)omar_uhh2015-04-08

Hey Thanks! Please vote for this project in the "Coded Creations Contest"

kingchum (author)2015-04-07

A good way, I do not know if my phone can support this

Timofte Andrei (author)2015-04-03

use an ESP8266 module instead of bluetooth ;)

Yeah, I went back and forth on WiFi versus Bluetooth on this project. Settled on Bluetooth most likely because I already had some Bluetooth modules ;-)

SpeedysWoodshop (author)2015-04-03

Nice idea.

seamster (author)2015-04-02

It would awesome if you added parts 2 and 3 right here, as additional steps! This is some great info, and I think the audience here will really dig it.

Congrats on your first instructable! :)

ForceTronics (author)seamster2015-04-02

Done and done

About This Instructable

16,681views

694favorites

License:

More by ForceTronics:Removing Solder Bridges on Small PinsAnalog Sensor Signal Conditioning CircuitHow to Get More Functionality Out of Your Arduino Zero
Add instructable to: