Objectives

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.

 

Project Concept

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.

 

Benefits

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.

 

Accomplishments

Clickable Documentation & Demonstration Links

Integrating 16 sub-systems with a PSoC4 Pioneer Kit into an electrically functional system. The system uses 90% of the pins on the PSoC4 and 82% of the program memory.

Henrietta1.png

Designing 2 printed circuit cards, including the opto-isolated triac thermostat interface

TOCicon.png   TPpcbIcon.png

PCoC firmware and graphics to make the entire system work

LCDeyesIcon.png

A PC application program with full control of Henrietta hardware via Bluetooth plus emulation of some of Henrietta's information displays

PCappEyesIcon.png

An android application program with full control of Henrietta hardware via Bluetooth

AndroidAppIcon.png

Speech recognition used to control Henrietta remotely

faceO.png

Mechanical packaging to allow extensive troubleshooting while presenting the system attractively

Henrietta1.png

Light sensitive backlight control

LCDeyesIcon.png

PWM servo motor driven access window

SG90icon.png

Custom PC-based graphics editor software to generate appropriate graphics including animated eyes and a large clock font

GraphicsEditor.png

Driving dual SPI LCD displays

LCDeyesIcon.png

Implementing Bluetooth communications with android devices and PCs

BluetoothIcon.png

Implementing a GPS clock that never needs to be set

GPSclockIcn.png

Implementing a touch pad that can be used to program thermostat schedules

TPicon.png

Creating video documentation of the many features in the Henrietta Project

Henrietta1.png

Creating a dozen documentation blogs plus a dozen documentation videos that were viewed over 1000 times on-line

 

See a complete list of links below.

Completing an aggressive set of objectives in one month on a shoestring budget

The bigger the challenge, the more euphoric the accomplishment...

 

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:

  1. 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.
  2. The state of the documentation is not up to my standards - I would hate to release crappy documentation.
  3. 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".
  4. 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.
  5. 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:

http://www.element14.com/community/videos/10631/l/smarter-life-challenge--the-henrietta-project-intro

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2013/12/15/smarter-life-challenge--the-henrietta-project

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2013/12/17/smarter-life-challenge--the-henrietta-project--touch-screen-subsystem

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2013/12/23/smarter-life-challenge--the-henrietta-project--personality-infusion

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2013/12/29/smarter-life-challenge--the-henrietta-project--wire-wrap-versus-jumpers

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/01/smarter-life-challenge--the-henrietta-project--bluetooth-operation

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/02/smarter-life-challenge--the-henrietta-project--furnace-interface

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/02/smarter-life-challenge--the-henrietta-project--light-sensor

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/03/smarter-life-challenge--the-henrietta-project--gps-clock

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/10/smarter-life-challenge--the-henrietta-project--pc-app

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/12/smarter-life-challenge--the-henrietta-project--android-app

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2014/01/15/smarter-life-challenge--the-henrietta-project--servo-motor-operation

 

videos

http://www.element14.com/community/videos/10631/l/smarter-life-challenge--the-henrietta-project-intro

http://www.element14.com/community/videos/10720/l/henrietta-eyes-animation-demo

http://www.element14.com/community/videos/10789/l/the-henrietta-project--bluetooth

http://www.element14.com/community/videos/10808/l/the-henrietta-project--voice-control

http://www.element14.com/community/videos/10809/l/the-henrietta-project--light-sensor

http://www.element14.com/community/videos/10810/l/the-henrietta-project--gps-clock

http://www.element14.com/community/videos/10826/l/henrietta-gps-clock-large-font

http://www.element14.com/community/videos/10849/l/the-henrietta-project--hardware-summary

http://www.element14.com/community/videos/10850/l/the-henrietta-project--touch-pad

http://www.element14.com/community/videos/10851/l/the-henrietta-project--pc-app

http://www.element14.com/community/videos/10854/l/the-henrietta-project--pc-app-operation

http://www.element14.com/community/videos/10876/l/the-henrietta-project--android-app

http://www.element14.com/community/videos/10919/l/the-henrietta-project--servo-motor-operation