Smart Thermostat

17,911

700

21

Published

Introduction: 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...

Share

    Recommendations

    • Make it Move Contest

      Make it Move Contest
    • Casting Contest

      Casting Contest
    • Woodworking Contest

      Woodworking Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    0

    I LOVED your videos. However, in the second video you "promised" that you were going to show how to include a power supply for all the digital electronics, but it wasn't in the third video. I'm very interested in an easy way to power the digital section off the available 24VAC. Have you done that for this design or some other version?

    21 Comments

    Seems that the dropbox link is not working anymore.

    plz send me this project aia file on my mail 'allwayskush@gmail.com

    Hi friend,

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

    thanks

    2 replies

    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);
    }
    }

    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

    Awesome project!

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

    Awesome. Thanks for sharing :)

    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.

    1 reply

    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.

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

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

    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 ;-)

    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! :)