The Smarter Life Challenge was intended to showcase PSoC4 technology and the Henrietta project addresses this requirement, demonstrating the kind of complexity that a PSoC4 can successfully implement. It does this with completely exposed but attractively mounted circuitry and subsystems.
Additional objectives for me were to learn about the flexible and powerful PSoC4 architecture and the potent PSoC Creator integrated development environment. These objectives were certainly met - I was impressed with the level of integration and the polish of the entire development eco system - I did not run into any bugs. The experience has provided me with a powerful tool set to tackle demanding future projects, especially those where time is tight (basically all projects, because they all have time constraints).
Aside from all the interesting bells and whistles incorporated into the Henrietta Project to showcase PSoC4 technology capabilities, the Henrietta Project has specific technical objectives for its primary thermostat function:
The Henrietta Project thermostat objectives:
- to improve performance by using a better clock than any other thermostat
- to provide better information about the thermostat schedule by displaying a whole day's schedule at the same time
- to provide a better user interface by having dedicated buttons for each function instead of having to navigate a menu
- to provide a more convenient method of setting up the thermostat schedule by using remote apps on either a PC or an android device.
The Henrietta project implements a widely used household system (thermostat) which most people can relate to and many people have a few quibbles with because they are tricky and tedious to program and the program is not easy to view. As with most common technology that has evolved over a long time, thermostats are not generally very exciting, however they have a wide audience and the Henrietta project attempts to raise excitement level by implementing this function with some very unique features, particularly trying to improve performance and provide a much friendlier and easier user interface. Leveraging some of the world's greatest technologies like cell phones, PCs, Bluetooth, android and GPS not only help make the system more powerful, they also help make the concept exciting, and relevant to today's wireless generation.
The Smarter Life Challenge was a great motivator in designing a system that attempts to integrate a large number of features into one system. The resulting complexity required a significant learning curve to deal with many new subsystems and how to make them all work simultaneously with the Pioneer Kit. Some of the topics I learned more about were:
PSoC4, the Pioneer Kit, PSoC Creator, GPS protocols, Bluetooth communication, servo motor timing, LCD interfacing and graphics mapping, furnace and air conditioning controllers, touch pad interfacing, humidity sensor interfacing, and C programming. I am happy to have gained so much knowledge from this project.
This is an update to show the Henrietta Clock version packaged in its 3D printed case.
Conclusions and Discussion
Technical objectives to make a better thermostat were met and the final system works exactly like the original design envisioned. There were of course myriad problems that threatened to prevent completion of the project, including a catastrophic power supply failure that resulted in a minor fireworks display and some charcoal components.
On the positive side, the AC thermostat interface worked perfectly on the first spin without needing any modification, the display choice worked out well, the Bluetooth choice worked extremely well, the GPS choice worked surprisingly well indoors and of course the PSoC Creator made the project possible with extensive ready-made functionality and highly flexible integration. To put this project in perspective, if an engineering firm was commissioned to implement the Henrietta project, they might assign a team that included an electronics designer to design the circuitry and PC boards, a firmware programmer to program the PSoC4, a PC programmer to develop the PC app, an android programmer to develop the android app, a mechanical designer to design the packaging, an electronics technician to build the electronics, a mechanical technician to build the packaging and a project manager, plus procurement staff and executive overhead etc. If the project was scheduled to take 2 - 3 months, it could easily consume a man-year of labour and would cost accordingly. It is a tremendous testament to the power and ease-of-use of the PSoC Creator integrated development environment and the pre-assembled Pioneer Kit that this project's challenging objectives could be completed by just one person in just one month, starting from a position of never having used PSoC Creator or the C programming language in a project before.
The Henrietta Project took a significant effort to complete, but it was worthwhile to gain so much knowledge while creating a unique and useful system that is also an attractive showcase of what is possible with the PSoC4 Pioneer Kit from Cyprus Semiconductor.
The source design files associated with the Henrietta Project are freely available if people really want them, however I haven't actually posted them yet for several reasons:
- I am not sure they would be useful to anyone - I certainly wouldn't reuse them as is, except possibly the triac PCB, because it works perfectly.
- The state of the documentation is not up to my standards - I would hate to release crappy documentation.
- The firmware is my first attempt to program in C and given the time constraints, it is a long way from elegant, efficient and "proper".
- The android app is my first android app and first time using App Inventor as well, but it is fairly straight forward except I haven't yet figured out how to publish the source code which resides in the cloud.
- I use an old version of Eagle which I purchased around 2003, so those CAD files may not work well with the latest version of Eagle - I know the library format has changed but don't know if the latest version is backward compatible.
This will have to be the last posting on the Henrietta project because my brother just passed away and I need to be on a plane tomorrow. Hopefully there is enough information here to provide a sense of the project. Unfortunately, if there are questions, it may take me a week to respond.
Good luck to all the competitors - it looks like they have been busy creating some awesome masterpieces.
For more info on the Henrietta Project, which is entered in the Smarter Life Challenge, check these logs: