Hello e14 community. My proposal for the design challenge is for a smart thermostat, but that sounds really boring, so I call it The UnCoStat for The Unnecessarily Complex Thermostat!. I have been thinking about the ideal thermostat since our 20 year old programmable thermostat broke last spring. We bought a new one, but neither my wife nor I am completely happy with it. I have looked at a lot of other thermostats but nothing is exactly what we want. Once I started contemplating what the ideal thermostat could be I started coming up with lots of features I'd like to see. The PSoC4 Smarter Life Design Challenge happily coincided with the thermostat problem swirling around my brain. Last week I found out I had been selected so now I am on the hook to actually do something.
The desires driving the UnCoStat are:
- Easy programming. Our old t-stat had lots of buttons so you could display and change any individual program in a few seconds. The new t-stat (and most non-touchscreen units I've found) require cycling through all the programs every time a change is made. The UnCoStat will have several buttons on the front face and will be able to change any program or setting in as few button clicks as possible.
- Humidity Control. Often air-conditioning is used as much for humidity control as temperature. When the dew point is above 60°F most people find it uncomfortable, regardless of the temperature. The UnCoStat will regulate humidity or dew point within certain temperature bounds or vice-versa.
- Zone Control. The UnCoStat will connect to remote sensors and be capable of controlling temperature based on average, extreme or a subset of temperature reading. So, for example, it will use the bedroom temperature from midnight to 6:00am and living room temperature during the day.
- Vacation Hold. The UnCoStat will have a vacation setting with either a fixed set point or an alternate program that can be invoked for a period of time or until a certain date and time.
- Remote Control. The UnCoStat will report status and accept programming commands remotely.
- Data Logging. Both my wife and I are data junkies.
I have not worked out exactly how I am going to accomplish all of this, but I think that is part of the purpose of the design challenge. I'm not a great blogger,but I will do my best to document the journey.
As a little background I am a 20+ year electrical engineer working in automotive powertrain electronics. I've done just about every job in the design process, but always consider myself a circuit designer in my soul. A few years ago I decided to refresh my software skills. I learned a bit of Python (http://python.org/) through classes at Udacity (https://www.udacity.com/) and MIT Open Courseware (http://http://ocw.mit.edu/) and played around with Arduinos (http://www.arduino.cc/).
I discovered the Cypress PSoC family (http://www.cypress.com/psoc/) through the FreeSoC Kickstarter campaign (http://freesoc.net/). It looked interesting so I got one. It sat on the shelf for several months until I was working on a battery charger and tester and was frustrated by the slow PWM frequency in the Arduino. I wanted continuous current without huge inductors. I looked around and discovered that PSoC Creator made it dead simple to output a PWM signal even at 100KHz or higher and do everythign else I wanted (LCD display, high precision ADC etc). I switched over to PSoC and I haven't looked back. I really like PSoC Creator. The most amazing thing was a few weeks after I downloaded PSoC Creator I got an email for a survey about it. I had used it enough to develop some opinions and put them in the comments. To my surprise about a week later I got an email from an engineer at Cypress who had read my comments and addressed them. This was not a form letter reply. This was genuine customer service. He offered work arounds for some items, told me some of the issues were being addressed in PSoC 3 release and even the issues that would not be addressed he clearly understood my position.
So now I am committed to the UnCoStat. I either need to make it a reality or gloriously fail in the attempt.