There are a lot of Instructables that show how to make a thermostat. But what if you already have a thermostat, and you want to log or monitor when it turns off and on? This Instructable shows how to use an optocoupler to obtain logic-level DC voltages from a common household programmable thermostat that connects to a 24 volt AC heating and cooling system. It also includes a temperature sensor, and code suitable for running on a Raspberry Pi to log and graph thermostat status, events, and temperatures.

WARNING: Working with electricity can be dangerous. Before continuing, be sure you have adequate understanding and skills to complete this project safely. While I've done my best to make it safe, I am not responsible if this project fries your thermostat, Raspberry Pi, HVAC system, your cat/dog, or burns down your house.

Step 1: Gather the Necessary Parts and Tools

You will need the following parts:

  • An HCPL3700 optocoupler
  • 2x 3.3 kOhm resistors, rated 1/2 watt or higher (the wattage rating is important)
  • A 10uF, minimum 10V capacitor (electrolytic is fine)
  • A 0.1 uF ceramic capacitor
  • An 8 kOhm resistor (or, more likely, a 4.7 kOhm and 3.3 kOhm resistor in series)
  • A Raspberry Pi
  • A length of two conductor, insulated wire, ideally with a quick disconnect of some kind
  • Basic electronic odds and ends, such as:
    • A breadboard
    • Jumper wires

If you also want to build the optional temperature sensor, you will also need:

  • An ADT7410 temperature sensor
  • An SOIC breakout board
  • Another 0.1 uF ceramic capacitor
  • 4x 10 kOhm resistors

If you want to design and manufacture your own circuit board, you will also need:

  • A two-terminal screw block
  • Optionally, female header pins to accept the SOIC breakout board
  • Male header pins to connect to a Pi, or female header pins to connect to an Arduino
  • Optionally, SMD versions of the resistors listed above to cut down on overall size

Required tools:

  • A multimeter

Other requirements:

  • A 24 VAC heating/cooling system

Software requirements:

  • Python
  • Perl (needed for HiPi, which is needed for hipi-i2c)
  • Plotly account (optional, for graphing data)
  • Eagle (free version, optional, for designing PCB)
<p>Well, I'm new here so I'm not sure how comments thing usually get, but this is amazing! Thanks for sharing... inspiring to me to try something similar.</p>

About This Instructable




More by langelgjm:Log and Graph 24V Thermostat Events (Optocoupler + Raspberry Pi) Fix an Air-O-Swiss AOS 7144 Humidifier (no mist problem) 
Add instructable to: