Squirco Smart Home System - Hub + Thermostat

Home automation hub disguised as a thermostat

Similar projects worth following
This was originally a small part of my other project, Squirco Home Automation System. However, it's grown too large since then, so it's broken out here as its own project.

Every smart home needs a hub to connect various pieces of sensors and actuators into a single, local network (as well access to the internet). These hubs are typically hidden in the basement along with other networking equipment.

Not wanting another useless box in my home, I decided to combine the hub functionality with the thermostat. After all, every house has a thermostat, so we might as well put it to good use.

Both hardware and software design will be documented here.

If the point of Smart Homes is to make our lives easier, then having to set up everything yourself is completely backwards. Schedule based automation system forces the users to follow a strict schedule in order to work, and rule based automation takes many rules and a lot of tweaking to get right. Neither of these solutions are desirable. After all, who wants to follow a schedule and micro-manage when you should be relaxing at home?

My approach attempts to use passive teaching and active learning as the basis to automatically generate automation rules based on every day usage. We first start by attempting to automate events that stay in the background and more tolerable to mistakes (such as temperature control), then move into events that are more prone to intrusive mistakes, such as lighting control (surprise surprise).

The Hub uses the sensor network I built here, but will be compatible with other devices with a bit of tweaking.

Finally, it will be compatible with Nest, because what started this whole thing was to give Nest full house presence detection, so that I don't freeze to death if I don't walk in front of it for a while.

  • 1 × ATMEGA256RFR2 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × CC2541 Development Kits, Boards and Systems / Reference Design Kits
  • 1 × Raspberry Pi
  • 1 × ESP8266

  • Hardware Block Diagram

    Steven06/02/2015 at 18:37 0 comments

    Quick and simple update. This is the hardware block diagram, which acts as a rough outline for the entirety of hardware design.

  • Distributed UI Concept

    Steven05/27/2015 at 23:49 0 comments

    One more design post before I move on to the electronics.

    When we design a UI for a device, the UI is contained within the device. If we think of a house as a device, then, everything within the home should be part of the home UI, which includes light switches, wall plugs, phones, computers, etc.

    There are staple feature sets in every smart home. It is a mistake to try and cram every feature into a single device, the worst offender being a smart phone. Instead, we need to distribute the features into different devices with different form factors in a complementary fashion (i.e., for every additional device, new features are added, and the existing devices are enhanced by the newly available data). This makes sure the features are designed to be accessed in the most convenient locations, and not take away convenience just to trap users into the UI of a smart phone.

    This is the Distributed UI Concept, and this is one of the central design philosophies of my smart home system.

  • Mechanical Design

    Steven05/20/2015 at 15:38 0 comments

    Here we go again.

    As with all my projects, I begin with the design of the physical object based on the functional specifications. In this case, the specs are roughly as follows:

    - Central command, invisible butler, constantly working in the background

    - Minimal user interaction

    - Simple setup process (set up everything with a single action)

    - Contains a permanent power source

    The power supply basically limits the unit to be tethered to a wall in some way. In order to force myself to design a single click user interface, the first concept for the hub was a round, screen-less button, which I called "the puck"

    The next issue was to determine the best way to connect the device to wi-fi. There were two options:

    1. connect to wi-fi through a smart phone (no screen required)

    2. connect directly on the device (needs a screen)

    I went back and forth on these two options for a few months. The biggest problem here was usability.

    Option 1 would be easier from a hardware design stand point. However, the setup process would be slightly more complex (it would not pass the grandma test)

    Option 2 makes the unit more self contained, and will be easier to setup. The extra screen can also bring some extra functionality in the future. The drawback is that the hardware will be much more complex, and a lot more design work is needed to utilize the screen so that it doesn't feel useless after connecting to wi-fi.

    In order to find an "useful idle state" that feels functional yet requires minimal interaction, I went through a few options. In the end, the best option (which turned out to be the most complex) is to disguise the hub as a thermostat. After all, every home has a thermostat, so we might as well put the space to good use.

    And thus, Mk. II was born.

  • Philosophy

    Steven05/11/2015 at 22:42 0 comments

    If the whole point of Smart Homes is to make lives easier, then what is the right approach? This problem is more philosophical than technical, so a philosophy must be established and a set of rules erected and strictly followed.


    1. Never take away what's already convenient for a gimmick. Case in point: Phillips Hue. In order to use the "smart" features on the bulb, the physical light switch must be on all the time. Users are forced to buy a other switch (unnecessary and expensive), or use the Hue app (very slow). Phillips took away the speed and convenience of flipping a light switch for some gimmicks, and it is very frustrating.

    2. Never make users plan what they will or should do at some point in the future, because nothing will go according to plan. This is why schedule and simple rule based systems cannot handle complex scenarios, and will often get things wrong, even if the intention is right.

    3. Remote control is not smart. I can't stress this enough. Shipping a product that let's you do things on the phone and calling it smart doesn't solve any problems. It just add more things for the user to do.

    The most important thing is to delegate as much scheduling, planning, rule making, etc. to a computer as possible, with very little human intervention, which means an A.I. of some sort is needed.

    If we think of the A.I. as a young child trying to learn new things, then some methods of teaching can be adapted, namely:

    - Show through action

    - Learn from mistakes

    Show through action is, simply put, pattern recognition. Humans like to form routines because it's an efficient way of remembering. However, we are going to add some complexity here: when we recognize a pattern, for example, the sequence of lights that are switched on and off, there are other factors that can have an effect as well: time of day, location before/after, number of people in the house, climate indoor/outdoor, etc. Hopefully, with the extra data, the A.I. will be able to read your intentions better, and therefore produce better effects.

    Learning from mistakes is perhaps the fastest way to learn the right way to do things. If we give the A.I. some room for experimentation and make little mistakes that can be easily fixed, (for example, the A.I. can play with the room temperature around the temperature you set it to, to find the upper and lower limit of your comfort zone), then the A.I. can learn faster, be more adaptable, and produce better results.

    In summary, keep things simple, and let a computer do all the work. After all, nothing is impossible in software.

View all 4 project logs

Enjoy this project?



Ember Leona wrote 03/31/2017 at 23:10 point

good for a grow room or server racks that need remote temperature control. Maybe labs too.

  Are you sure? yes | no

dmritard96 wrote 07/18/2016 at 06:05 point

Not going to lie.  "round, screen-less button, which I called "the puck" - please look for a different name.  Since this is getting a little close to cloning our product...

  Are you sure? yes | no

Steven wrote 07/18/2016 at 07:07 point

3 points:

1. If you read further down, you'd know that the puck design was scrapped pretty early on.
2. A circular design is nothing unique. We have at least 2 of them on the market.
3. Try trademarking the word "puck" before telling others to stop calling their stuff pucks

Instead of making accusations and threats to someone who poses no danger to you, your company, or your product, why not spend the time refining your product for your intended target audience?

  Are you sure? yes | no

dmritard96 wrote 07/18/2016 at 17:25 point

1 and 2 agreed.

3 - thats not entirely how trademarking works.

not sure I 'threatened' anything/anyone to be clear and I spend plenty of time (too much) refining our product for our intended audience.  I am a maker and enjoy seeing what other makers do.  Sorry, if I came off aggressive anyhow, mostly just concerned that we are using this name in commerce and have been for a while and I get a little worried about it being confusing for consumers - in this case it clearly isn't.  Anyhow, best of luck with your project and sorry if I came off aggresively. Should choose my words more carefully.

  Are you sure? yes | no

IT-Wizard wrote 05/20/2015 at 17:53 point

Good products needs 4 aspects : 

A good idea, good hardware, good software and good philosophy.

You seems to have all 4 of them. 

NB: I almost laugh with your point :"2. Never make users plan what they will or should do at some point in the future, because nothing will go according to plan."

That is exactly why Microsoft is not able to do a correct software.

  Are you sure? yes | no

Steven wrote 05/20/2015 at 22:22 point

Thanks for the comment! It's very encouraging.

  Are you sure? yes | no

davedarko wrote 05/12/2015 at 04:31 point

"Remote control is not smart." - thank you for that!

  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