Random Schedule Thermostat

A home thermostat that senses when you're home, and turns on the heat.

Similar projects worth following
My schedule is sufficiently random that a normal programmable thermostat is terribly inefficient: it heats when I'm not there, and sometimes I have to turn on the heat when I am, for extra bonus waste. Inspired by Star Trek's crew-location system, I decided to build a thermostat that's a bolt-on replacement for a normal programmable thermostat. It will switch the heat or cooling on or off based on your presence, using a nearly unlimited schedule to change the preferred present/absent temperature limits over time. Exact sensing mechanism is yet to be determined, but it will use either Wifi or Bluetooth to sense the presence of your phone and set the temperature accordingly.

As of project entry here at Hackaday, the code is about 75% written (with a full TDD test suite backing it).  Hardware needs to be determined (AVR and Cortex are the serious contenders, but the field is really wide-open as far as controller).  Wifi vs. Bluetooth also needs to be considered: Wifi is more ubiquitous and won't require battery-draining extra services to be enabled for 99% of smartphone users (plus it will seamlessly work with laptops), but Bluetooth offers the advantage of being less tempting as a hacking target.  Unlike 100% of other "smart" programmable thermostats, this one is specifically not intended to connect to the Internet, upload your data to anyone else, or offer a vector into your home network for skr1pt k1ddi3s.

This project is inspired by an earnest desire to increase the efficiency of my life.  By using less electricity and gas, I will not only save money, I'll also save wear and tear on heating equipment and make a small contribution toward the immense problem of climate change.  If this project is good enough that it can be turned into a kit or even offered as plans, I may be able to help others achieve the same goal, multiplying my own effort.

  • Minor progress on Wifi

    Dangerpants Labs08/19/2014 at 22:56 0 comments

    I haven't had the free time to really devote any effort to the RST in the last few months, but what little time I have spent on it has been on duplicating the presence code from Bluetooth to also include Wifi.  This has been an interesting diversion, but I can definitely feel my inertia having pretty much disappeared.

    I'm still living without a hardware choice (my last project log being my last serious thought on the subject), which means that I don't have any lower-level code done.  The high-level logic is close to done, but there's clearly a lot of work to do once I've got hardware selected, probably representing more time than I've already spent so far on high-level code.  I do have an MSP430F5529 Launchpad board sitting on the bench, but got stuck tracking down the toolchain for Linux (see the aforementioned lack of free time).

    I don't think, given my schedule, that I'll be able to put together enough documentation (particularly the video) to make a valid entry for the Hackaday Prize, although I was working on it before the Prize existed, and will work on it in the future despite any eligibility for any prizes.  In any case, I know this is a sufficiently low-glamor project that it won't be high on anyone's list of awesome entries that make you go "ooh!"  That's just kind of the way I roll.

  • Choosing the hardware

    Dangerpants Labs07/03/2014 at 21:53 0 comments

    I found myself looking around at hardware in the last few days (this project has only existed as software up to this point), and find myself leaning toward the MSP430 line for the processor this time around.  I've played with AVRs in the past, and have always relied on the Arduino libraries because they're just so easy.  One of my goals this time around is to do "real" microcontroller development, and learn how to deal with the system from the ground up.  The MSP430 line looks pretty well supported, so I wouldn't be forging ahead entirely on my own.

    So I've come up with a basic list of what I think I'm leaning towards at this point:

    * MSP430F5529 (25 MHz, 10k RAM, 128k Flash)

    * CC3000-based WiFi (another MSP430 product)

    * PAN1315A Bluetooth module (yet another MSP430-based thing)

    * TMP102 temperature sensor (apparently I'm suddenly a huge TI fanboy)

    * HD44780-based 20x4 LCD display

    * LEDs, buttons, switches, support components

    I'd hardly call this a final list, more like the first dabblings, but I'll probably order up some parts and see what I can figure out.  I really enjoyed the process of laying out the board for my last project, so I'm excited to get this one to the point of doing routing.  It's so satisfying to hold something in your hand that only existed in your mind a short while before.

View all 2 project logs

Enjoy this project?



Dangerpants Labs wrote 07/14/2014 at 16:31 point
Thanks! I didn't figure it would float many boats, but I was already working on it, so why not publicize it? I'll see what I can pull together for video -- it's hard to show off anything when it's mostly source code and concepts. ;)

  Are you sure? yes | no

Adam Fabio wrote 07/14/2014 at 03:15 point
Thanks for entering The Hackaday Prize! It seems like scheduling thermostats just don't cut it for a lot of people. Keep us updated as you move forward with the project - we'd love to see some pictures! Don't forget about the videos, and good luck!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates