Skip to main content

IoT HVAC Monitor

I built this project in July of 2018 and posted it on


IoT HVAC Monitor

Monitors the fan speed, on/off cycles, temperature, and humidity of my HVAC system and posts data to

Parts used:
I built this project for two reasons. (1) I've been looking for an excuse to play around with IoT, and with the ESP8266 in particular. (2) My electric bill has been steadily increasing and I wanted to see how often my HVAC system was cycling on and off (and at what temperature).
I figured I could monitor on/off cycles by attaching a small DC fan motor to the return air grill. When the HVAC unit turns on, the airflow will cause the fan to turn; acting as a generator. I can then read the voltage generated by the fan motor by connecting it to an analog input pin on the ESP8266.
I thought I might also be able to determine the fan speed by the variation of the voltage generated. And I might as well measure the temperature and humidity while I'm at it.
I had an old, non-working power supply from a Dell PC in my junk box, so I decided to salvage the fan for this project. I hot glued magnets on the four corners of the fan, so I could easily attach it to (and detach it from) the metal return air grill.
For my processor, I chose the SparkFun ESP8266 Thing because it includes a built-in LiPo charging circuit. I mounted the Thing to the fan using hot glue and a small breadboard. Then, I wired up the fan to the ADC analog pin and GND. I also added a 1K pull down resistor to make sure the analog pin read zero volts when the HVAC unit was off.
I glued a LiPo battery to the fan as well and plugged it into the Thing.

I connected the DHT11 to the SCL pin (which also serves as digital I/O pin 14) to read temperature and humidity.

Once I put everything together and uploaded my sketch, I snapped the device to my return air grill and kicked on the A/C.

After running it for a while, I logged into and grabbed some results!

As you can see, the on/off cycles look nice and symmetrical, but my voltage readings jump around a lot. I probably need to clean that up a bit with a rectifier or some such. The temperature and humidity readings give me a good idea of when it's cycling. All I have to do now is find out how often a "normal" A/C unit should cycle and I'll be good to go! 

The Arduino code is posted on Hackster along with the project


Popular posts from this blog

Project of the Month for May 2019

Project of the Month

This month's project is the ESP8266 Weather Station Kit by Ideaspark!
Why not buy one now and build it along with me? Here's a link via my Amazon Associates account. Purchase it here and help me support My Parts Chest website and App (available on Google Play and the Apple App Store).

ESP8266 Weather Station Kit with DHT11 Temperature Humidity BMP180 Atmosphetic Pressure BH1750FVI Light Sensor 0.96" OLED IIC YellowBlue Display for Arduino IDE IoT Starter(Guidance Document Included)

✔️The weather station uses the ESP8266-12E to obtain data from the Internet: time of a city, weather data and forecast information for the next 3 days, scrolling on the SSD1306 OLED Display; the device can switch to display data from any city in the world - maybe your relatives or friends live there✔️The device uses sensors DHT11, BMP180,BH1750FVI to collect temperature, humidity, Atmosphetic Pressure and light data. The weather station reads data indoor via sensor…

ESP8266 Weather Station

This was a fun and interesting project built from a kit by Ideaspark. It teaches you, not only how to push data to the web using an ESP8266, but also how to retrieve data from an API and parse the resulting JSON.

I built this project back in April-May of last year. I actually posted it as the Project of the Month. I got some good feedback from others who built it along with me.

As the name implies, the brains of the project is an ESP8266 microcontroller. The weather station senses local values for temperature, humidity, barometric pressure, and ambient light and uploads the data to ThingSpeak. At the same time, it also grabs weather data and 3 day forecast from the web by calling the OpenWeathermap API and outputs it on to small OLED display.

The kit includes all parts needed for the weather station:
ESP8266-12E Microcontroller w/ builtin WiFiDHT11 Humidity and Temperature sensorBMP180 Barometric Pressure sensorBH1750FVI Ambient Light sensorSSD1306 OLED DisplayUSB cableBreadboardCable…

Project of the Month for March 2019

Project of the Month

This month, I chose a robotic arm kit from MicroBotLabs. 

Why not buy one now and build it along with me? Here's a link via my Amazon Associates account. Purchase it here and help me support My Parts Chest website and App (available on Google Play and the Apple App Store).

ArmUno 2.0 MeArm and Arduino Compatible DIY Robot Arm Kit With MeCon Motion Control Software and Arduino Source Code Via Download Link

Robotic Arm Kit includes Servo motors, Structural pieces and all Fasteners needed for assembly Plus MeCon Software and Arduino Source Code Via Companion Web Site and Download Links.Windows PC Motion Control Software Allow you to Teach and Record Motion Paths for Automatic PlaybackMake your own desktop size 4-axis parallel-mechanism Mini Industrial Robotic Factory Arm!This kit features a Companion Web Site full of information resources and makes a great educational resource kit for robotics and micro controllers.Precision Laser Cut Parts Require only …