The Relicans

Cover image for T-Zone: Track Precise Temperatures Throughout Your Domicile / Workplace For Better Comfort & Energy Saving

Posted on • Updated on

T-Zone: Track Precise Temperatures Throughout Your Domicile / Workplace For Better Comfort & Energy Saving

What I built

A complete framework (including and IoT device) which enables individuals to track Temperature Zones within their domiciles / workplaces.

Temperature data will be specific to a Zone (room), precise (to 1/10 of degree Fahrenheit), time-stamped and named (room) and will be collected every five seconds.

The data can be used to better understand :

  1. Energy use
  2. Hot / Cool perception of people in zones
  3. Effectiveness of current comfort (heating / cooling) systems.
  4. Easily compare Zones via multi-line graph which superimposes all Rooms over each other so you can discover cold / hot zones. This can help you understand if people are perceiving drastic temps or if a zone is hot / cold.
  5. (Future) Direct feedback to local Comfort device (heating / cooling).

Project Overview

Category Submission: Science and Observation

App Link

Very simple basic & static prototype displaying two rooms with temperature data.


First of all, here are some screenshots of the IoT Device (Temperature Tracker)

The Parts Required : Less Than $30USD

IoT Parts

Schematic for the Build

The Temperature Tracker devices are very easy to build as shown in the schematic. This prototype would also be much smaller using an Arduino Nano and wiring would be the same.

Alt Text

Example Run Showing Temperature Data to User

Here's a first run with example data which is written to local SD card.
First run example data

Basic Prototype For Android App

Android app TZone

Basic Prototype Site For Viewing Room Data

room data

This will use New Relic to show a line chart of specific values and do comparison overlays of two or more rooms so it is easier to quickly see cold / hot spots.


Temperature Trackers

Each Temperature Zone (a room in the domicile or workplace) will contain one low-power IoT device (Temperature Tracker) which gathers timestamped, named (room), precise temperature data once every five seconds (20 times a minute).

Temperature Data

The temperature data from each IoT device can be gathered and examined via Phone app (Android) via Bluetooth.

Android App

A press of a button in the Phone App allows the user to gather data (via Bluetooth) from all local Temperature Zones and upload it to New Relic.
This allows the Phone to serve as the Internet connection and alleviates the necessity of adding Internet access to each local Temperature Tracker.

New Relic Power

The real power comes from the power of New Relic for a number of reasons.

The locally sourced temperature data will grow extremely large over time (days / weeks / months of data) and would overwhelm an Android device storage limits (wasting valuable space on your phone).

Arduino Not Great For Processing Large Datasets

Additionally, keeping the data on the Arduino SD card and having the Arduino process for average temperatures or display the data in meaningful ways (graphs, charts, etc.) is not realistic because an Arduino is built for low-power and not maximum processing of data like that.

New Relic is Perfect For This Data

On the other hand, New Relic is perfect for this type of data.
With New Relic the user will be able to

  1. Calculate average temperature for each zone.
  2. View graphs which represent a temperature zone over time so the user can tell if there are certain times when temperature tends to hit outliers.
  3. Analyze huge amounts of data over the entire year to determine if temperature is staying in ranges.
  4. The New Relic data will allow users to compare graphs from different zones so that with a glance at the graph you can quickly determine that certain zones tend to be cooler or warmer than others.

Link to Source Code

All source is available at my GitHub repo.
The GitHub repo includes:

  1. Arduino code -- for IoT Temperature gathering devices
  2. Android App -- View local temp zones, upload data to New Relic from all devices
  3. Web UI - View Metric data (T-Zone data) stored in New Relic.

Permissive License

MIT License (License file is included at GitHub repo).
All code under the GitHub repo is shared under MIT License.


I've always said, "HVAC (Heating Ventilation Air-Conditioning isn't Rocket Science, you know?" But, every work-place I've ever worked (over 25 years) has always had Hot & Cold Zones (it's the same in my domicile). Depending on where you sit in the building you may be extremely hot or extremely cold.

More Complex Than Rocket Science?

After all those years of not seeing a good solution, I've begun to believe that Comfort Systems are more complex than Rocket Science.

Hot Zones / Cold Zones

These Hot & Cold Zones create an ongoing battle between people who "feel" cold and others who "feel" hot.

Battle Of The Thermostat

This creates a battle over the thermostat.

People's Perception of Hot/Cold

No one really knows if the problem is the feelings of particular people (the way they perceive hot/cold) or if the problem is the actual comfort (heating/cooling) system.

Comfort Systems That Fight Themselves

This also leads to large furnaces and air-conditioning systems be overused. At times the two systems (heating & cooling) may even kick on and off fighting the effects of each other and wasting more energy.

How I built it

T-Zone is made up of a few different projects:

  1. IoT Temperature Tracker - Arduino code
  2. Android App - Kotlin code
  3. New Relic API -
  • Using the New Relic Metric API to post data from all IoT Temperature Trackers.
  • Implementing New Relic dashboard to display Temperature Zones for easy comparison of temperatures in different Zones. At a glance a user can see that certain Zones are hotter or cooler than others.
  • New Relic data storage allows IoT SD card data to be removed continually to insure they do not become full and unusable.
  • New Relic data storage insures local data isn't lost but stored in the cloud and always accessible to all users even if they don't have the data gathering Android App. This means one "manager" of IoT devices can gather data, but other users can view zones. At a large company this can help with user perception of temperatures in zones.

Additional Resources/Info

In the process of building my “Out of this World” app, here’s what I learned about observability and technology in the fight against climate change…

(Explain what you learned about software as it relates to saving our planet from the negative effects of climate change. How can observability tools help scientists, technologists, and everyday people protect our earth?)

In The Future: Feedback to Heating/Cooling Devices

In the future the data could be used as direct feedback to a particular comfort (heating/cooling) device in a specific Temperature Zone.

Decentralizing the Thermostat

Instead of one central thermostat that controls one large heating/cooling unit, the data could feed into separate devices located in each Temperature Zone, creating a better experience for people and less energy use.

This would help realize:

  1. Less energy used - Example: Why turn on cooling system for the entire domicile when only one Temperature Zone needs to be cooled?
  2. Individuals experience more comfort Each Temperature zone will be far closer to the temperature that the individuals are expecting -- whereas a system with only one thermostat an never be as precise for all zones in the domicile.
  3. Individuals have better understanding of perception of temperature -- Individuals will have a better idea that the temperature experience is managed much more specifically so if they are feeling "hot" or "cold" then it may be an individual perception and they may need to dress differently.

The Future Is NOW!!

This system could easily be implemented right now. Here's how.

One Zone At A Time

If you currently have one zone in your domicile that tends toward one extreme or the other (hot or cold) and causes your central Thermostat to often kick on, you could solve this with my solution and see the benefits.

Control Systems Are Cheaper & Easier Than Ever

With the advent of Arduino and other low-price, easy to develop components you could implement a partial system now with the following steps:

Continue use of your Centralized Thermostat System as normal but :

  1. Add the IoT Temperature Tracker which reads the precise temperature data for the zone.
  2. Buy a small heating unit to place in the "cold zone".
  3. Plug the heating unit into a switch that can be controlled over Bluetooth (these are available on Amazon and many places - they're consumer devices now).
  4. Write a script that reads the data from the IoT Temperature Tracker so that when the temperature hits a certain threshold for a number of seconds then the local device turns on. Of course it will check when it needs to turn off also.

This will allow you save your Central Comfort system from running due to this one zone becoming too cool and save energy.

End Notes

Discussion (0)