The UnCoStat (Unnecessarily Complex Thermostat) design process has officially kicked off! I received my PSoC4 Pioneer kit yesterday and ordered a bunch of parts today.
Concept and Block Diagram
First I started with a block diagram to get a handle on all the different pieces. Then I want to see what is new or difficult and what needs to be done first. I think graphically, so this is what I sketched:
I sort the pieces into priority. I make it a high priority if other things depend on it, if I know it will be hard and time consuming of if I don't have a clue what I am doing.
- Choose display, learn how to control it and develop graphics software skills
- Figure out the software architecture
- Decide how to interface with remote sensors
- Choose a housing / enclosure and figure out how to mount the display, PCB and switches
- Figure out how to interface with web / cell network / phone
- Choose sensors and learn how to interface
- Verify how the furnace is controlled
- Determine if I need additional external memory
- Design interconnect circuitry, power supply and PCB.
- Learn how to use low power modes in PSoC4
- Figure out how to connect to PC for data download
I've spent a good part of the last 2 days looking at components to try and determine the best combination of parts that will work well together. The heart of the system is the display. I looked at a lot of LCD panels. Several of them would be easier to mount since they come with lugs, but I wanted to use an e-Paper display (they are cool!). I am concerned that the most difficult part will be making the finished system look good on the wall in our living room, so I wanted to get a jump start on the mechanical assembly. That meant I needed the display, housing and switches.
It was pretty easy to choose the sensors. There are not a lot of options for sensing humidity, Newark only has 51 part numbers from 3 manufacturers. I decided against the cheapest because the GE sensors appears to be more robust. There are lots and lots of temperature sensors out there for the remote sensors that don't need humidity so I went with one that I know.
Initial design choices
- Cypress PSoC4 (obviously). Initial development will be done with the Pioneer kit. I will decide later if I am going to make a circuit board, or package the Pioneer into the UnCoStat.
- GE CC2D35S Humidity & Temperature Sensor (Newark 84W8924). For about $10 I get accurate humidity and temperature with an I2C interface. There are a few cheaper sensors out there, but not much.
- TI TMP100 Temperature Sensor (Newark 76C9438). Reasonably accurate, I2C interface and SOT23 small. For the sensors that don't need humidity.
- Freescale MPXHZ6115A6U Pressure Sensor (Newark 86H4724). I decided to add barometric pressure to the mix. I only need one and I thought it would be cool. Eventually I might add other weather station features.
- Pervasive Displays 4.41" e-Paper display (Digikey ST044AS181). This is the big sister to the ones Adafruit, Seedstudio and others are selling. This will be the display for the main control panel. I ordered the development kit so I can get going faster. Normally I would be a cheapskate and try developing my own interface board.
- Pervasive Displays 1.44" e-Paper display (Digikey SK014AS0T1). I want the remote sensors in other rooms of the house to display the temperature and more (outside temp, system status). Low power will be even more important for these since they may not have a power supply.
Major Design Choices Still Open
- Enclosure. I don't know how to mount the display, how much room I need or how to ensure good ambient conditions for the sensor. Normally I would try to work it out in a drawing program, but I think it will be faster to work in reality and hold the parts up against each other so I bought a few enclosures to try. I might end up splurging and ordering a custom enclosure from Front Panel Express or have a panel machined and/or laser cut.
- Along with the enclosure is the button interface. I want to have real buttons on the UnCoStat, not a touch screen, but I can't find a suitable off-the-shelf enclosure with buttons, so I need to figure out how to make it work. I bought a couple of different button caps and switches to see what I can do.
- Remote sensor communications. I want a wireless connection to the remote sensors so I don't have to string wires. I plan to get an inexpensive RF module and make a circuit board for one of the smaller PSoC devices, but I have a few Minions in my collection of parts so I may use them.
- Internet / Phone Access. I really want an app on the phone that would let me check in regularly and have a nice look and feel, but I doubt I will have time before January 17th to learn Android programming. We don't usually leave the internet on when we leave the house, so a simple WiFi link won't work. The simplest solution (I think) will be to get a pre-paid SIM card and use text messages to communicate with the UnCoStat when I am away. If anyone has any suggestions I would love to hear them!
I will be traveling for 2 weeks in November, so I want to get as much done as possible in the next two weeks, then (hopefully) I can write most of the SW when I am traveling. I am working on a portable kit for the PSoC, but that will have to wait until the next update.