NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

Location Aware Temperature Control

From Texas Instruments Wiki
Jump to: navigation, search
LATC system.png

The Location-Aware Temperature Control allows for more intelligent control of the user's home HVAC system. It wirelessly monitors the location and temperature of the room in which the user is currently located. This allows the system to dynamically control the indoor environment to maximize user comfort. It paves the way for inexpensive and eco-friendly smart homes, making this type of technology much more accessible to a large base of customers.

These days, there is a huge demand for eco-friendly products. Many individuals have a strong desire to greatly reduce the environmental impact of their daily lives. One of the most effective ways to do this is to make one's home more efficient. This has proven to make products such as compact fluorescent lights and energy efficient washers and dryers very popular. HVAC systems present another area that significantly impacts the energy efficiency of a home. By making these HVAC systems more intelligent, one can make significant improvements in their efficiency. This contest submission proposes a system for providing the user's location and desired temperature to the HVAC system so that it can focus its energy on the "important rooms" where the user is currently located or often visits. Current systems are expensive, prohibiting many families from implementing this technology in their own homes. Our system was designed to be very inexpensive in order to make it accessible to a large consumer base. Moving this type of system into more homes is not only great for the environment, but it also provides the opportunity to place a TI microcontroller in every room of houses all throughout the world.


{{#evp:youtube|8duPRFPi5DY|Video Demonstration of Location-Aware Temperature Control|right}}

  • Luke Duncan ([1])
  • Chintan Gala ([2])


  • Chronos watch offers a convenient, wearable interface
  • Location awareness to significantly improve efficiency
  • Infrared technology makes this solution very inexpensive and accessible
  • Easily scalable to be implemented in more complex smart home systems

Pictures & Videos

Usage Instructions

The Chronos code for the Location-Aware Temperature Control maintains as much functionality of the default firmware as possible. Only the BlueRobin code was removed to make room for the added code. Thus, the Chronos user guide should be consulted for functionality other than the Location-Aware Temperature Control.

To start the GUI, consult the "GUI Source Code" section.

To initialize the Location-Aware Temperature Control system:

  • Press the '#' key on the watch until you reach "HOUSE" mode.
  • Press the down arrow key to start the sync

To set the desired temperature:

  • Press and hold either of the left buttons
  • When the temperature starts blinking, use the up and down arrows to adjust the desired temperature
  • When the desired temperature has been set, press the '*' button to apply the changes.

Chronos Source Code

  • Files

LATC On Google Code

  • Procedure

The Chronos code for this project is a modified version of the example files provide by TI. Thus, the instructions for compiling and running this program are the same as listed on the ez430-Chronos site.

GUI Source Code

  • Files

Media:LATC_ControlCenter.tar.gz NOTE: This software if for LINUX

The GUI was developed from a modified version of the Chronos Control Center. Thus, follow all system requirements given by the Control Center before trying this.

  • Procedure

Unzip the source code into a directory and change to that directory

Insert the Chronos Access point -- Make sure it is installed as /dev/ttyACM0

Insert the ez430-RF2500 Access point -- Make sure it is installed as /dev/tty/ACM1

Run the program: ./eZ430-Chronos_CC_1_1.tcl

Click "Start Access Point"

Press the down button on the watch in HOUSE mode to allow it to sync with the GUI

Turn on all RF transmitters and receivers

Click "Start"

The GUI should now update the actual/desired temperatures and the room location (if known)

IR Transmitter/Receiver Source Code


Software requirements:


  1. Install SimpliciTI from the link above to default location
  2. Download the attached Source Code and save it in C:\Texas Instruments\SimpliciTI-CCS-1.1.1\Projects\Examples\eZ430RF and extract the files there
  3. Open CCS v4 and go to Window -> Preferences -> General -> Workspace -> Linked Resources
  4. Create a new path variable DEV_ROOT with location as C:\Texas Instruments\SimpliciTI-CCS-1.1.1
  5. Now go to File -> Import -> CCS -> Existing CCS/CCE Eclipse Project and Browse to C:\Texas Instruments\SimpliciTI-CCS-1.1.1\Projects\Examples\eZ430RF\TempCtrl\CCS and DO NOT check Copy projects into workspace
  6. To program the IR Transmitter, right click on Project -> Active Build Configuration -> IRTx and Build
  7. To program the Module attached with the Chronos watch, right click on Project -> Active Build Configuration -> CC2500-LinkTo and Build
  8. To program the Module attached to the computer, right click on Project -> Active Build Configuration -> CC2500-LinkListen
  9. Now open Project -> Applications -> configuration -> End Device -> smpl_config.dat and change the value of the first byte of THIS_DEVICE_ADDRESS, like from 0x78 to 0x87. Basically each SimpliciTI device must have a unique address. Now you may Build


A schematic of the IR transmitter and receiver is shown below. A PDF version of these schematics is given in File:Smarthome IR UART.pdf.

Smarthome IR UART.png

An IR transmitter is placed in each room and broadcasts the room number. For this proof-of-concept design, an ez430-RF2500 target board is used as the microcontroller, although the RF transceiver on this board is unnecessary and a cheaper solution may be used in the final product. In fact, the only requirement for the transmitter microcontroller is that it has at least one UART. For more reliable transmission, the UART signal is modulated with a 38kHz PWM signal coming from the microcontroller. This is a common practice in remote controls as it allows for the rejection of IR noise due to ambient infrared light. Before the modulation, the UART signal is inverted using a basic NMOS inverter because the output of the IR receiver used in this design is active low.

The IR receiver is worn by the user and receives the room number from the transmitter. Again, a readily available ez430-RF500 target board is used as the microcontroller, although it will be desired to integrate this sensor into the Chronos watch for the final product. A TSOP39338 is used for its ability to demodulate and amplify the 38kHz IR signal. This allows the sensor to be plugged directly into the receiver microcontroller, resulting in a very inexpensive solution.

Future Development

This contest submission provides a proof-of-concept for an inexpensive location-aware temperature control HVAC system. This section lists some further development that would turn this proof-of-concept into a final product.

  • Integrate the RF transceiver on the watch. This could replace the pressure sensor or accelerometer and would allow for a system with less parts, lower power consumption, and lower cost.
  • An intelligent HVAC system could be designed which dynamically learns and adapts to the users daily routines.
  • This system could be scaled to a much more complex smart home system that is capable of controlling lights, doors, appliances, etc.