HVAC Performance Monitor
Moderators: grovkillen, Stuntteam, TD-er
Re: HVAC Performance Monitor
Nice. I wonder what your signals look like using an o-scope.
I see what you're doing. You are attempting to shame me into using I2C. Challenge accepted, I think.
For your sake, I hope the I2C gods are friendly to my long cables.
Be forewarned. I will hold you accountable if it goes badly.
- Thomas
I see what you're doing. You are attempting to shame me into using I2C. Challenge accepted, I think.
For your sake, I hope the I2C gods are friendly to my long cables.
Be forewarned. I will hold you accountable if it goes badly.
- Thomas
Re: HVAC Performance Monitor
You know where my house lives and you're more than welcome for a good cup of coffee to discuss it when needed 

Re: HVAC Performance Monitor
Top is the digital signal and bottom the analog
Re: HVAC Performance Monitor
Thanks for the invite. I like my coffee with milk foam.
Oh boy. Those 400KHz analog shark fins can be improved. I recommend reducing the I2C pullup resistor values. The sensor board probably has 10K ohms installed, which is not ideal for long cables. I suggest trying 2.2K.
BTW, I'm still waiting for the parts from AliExpress.
- Thomas
Oh boy. Those 400KHz analog shark fins can be improved. I recommend reducing the I2C pullup resistor values. The sensor board probably has 10K ohms installed, which is not ideal for long cables. I suggest trying 2.2K.
BTW, I'm still waiting for the parts from AliExpress.
- Thomas
Re: HVAC Performance Monitor
I've fixed the ILI9488 support in this PR #5079, and am working on the ILI9486 support, as that's not actually tested over here, (just implemented the matching initialization

/Ton (PayPal.me)
Re: HVAC Performance Monitor
Thanks. Because of your warning about the 9488, I ordered a 9486 display. I haven't received it yet.
- Thomas
- Thomas
Re: HVAC Performance Monitor
Despite the fact that TD-er has already proven that 2m I2C wiring shouldn't be problematic with these BMP3xx sensors, I've added the SPI version of the BMP3xx plugin (and renamed P154 to show it's the I2C version).
[P172] Environment - BMP3xx (SPI) PR is here #5080, and an Actions run is baking over here, waiting for you to test and compare reliability

/Ton (PayPal.me)
Re: HVAC Performance Monitor
I am also quite interested to see which one is more stable...
Especially since the SPI bus requires both clock and data (and CS) to remain in sync at higher frequencies.
And you can't easily split these via some multiplexer like on I2C, so you will see some capacitance effects or maybe even reflections on the signal lines.
Maybe you need to add some resistor in series with clock/data/CS lines to prevent ringing.
Especially since the SPI bus requires both clock and data (and CS) to remain in sync at higher frequencies.
And you can't easily split these via some multiplexer like on I2C, so you will see some capacitance effects or maybe even reflections on the signal lines.
Maybe you need to add some resistor in series with clock/data/CS lines to prevent ringing.
Re: HVAC Performance Monitor
I will try out the SPI version and report back. Started working on another project, so please be patient.
- Thomas
- Thomas
Re: HVAC Performance Monitor
Feedback for @Ath: The SPI plugin is working fine. Both pressure and temperature are accurate. If you have any specific tests for me to run then just let me know.
I expect to start construction of the HVAC monitor after I finish a couple other projects. Thanks for adding SPI to the BMP390.
- Thomas
I expect to start construction of the HVAC monitor after I finish a couple other projects. Thanks for adding SPI to the BMP390.
- Thomas
Re: HVAC Performance Monitor
Thanks for your confirmation.ThomasB wrote: ↑16 Jul 2024, 16:26 Feedback for @Ath: The SPI plugin is working fine. Both pressure and temperature are accurate. If you have any specific tests for me to run then just let me know.
I expect to start construction of the HVAC monitor after I finish a couple other projects. Thanks for adding SPI to the BMP390.
While you where busy I have ordered and received a BMP388 and a BMP390L, and both are working fine, when using SPI as well as via I2C connection.
/Ton (PayPal.me)
Re: HVAC Performance Monitor
Meantime, five months later ...
The HVAC Performance Monitor system was finished and installed a few days ago. And it is working great. So I thought I would share the ending to this story.
One of the reasons for the late completion is because I didn't want to hack my HVAC system until the 2-year installation warranty expired. It's a new home, built during the C19 pandemic. And the build quality of everything in this house is sub-par, because of labor and supply chain issues. The reason for developing the HVAC performance monitor was because my system didn't work to my satisfaction, a complaint many of my neighbors had with their new homes.
Keep in mind that I live in the USA on the west coast. HVAC system installation methods and their technology vary throughout this country. In my location the most commonly installed system is a "package" unit that contains a natural gas fired furnace for heating, ventilation blower for conditioned air distribution, and refrigerant evaporator (A-coil) for summer cooling.
In my area these get tightly crammed into the attic, along with a lot of big flexible ductwork that connects the system to ceiling mounted air returns and supply registers.
Hardware construction was uneventful. Simple point-to-point wiring on a perfboard. The case and sensor probe (wand) housings were 3D printed.
Unfortunately SPI communication to the three BMP390 sensors refused to work with the long cables. The SPI problem (and solution) was discussed here:
viewtopic.php?t=10607
The BMP390 Sensors measure air pressure and temperature. These are mounted at the end of long "wands" that probe deep into air passage cavities at useful locations: Air Return, Heat Exchanger, and Air Supply. This required drilling several holes into the sheet metal cabinet. Photo below shows two of the sensors.
The three wands (BMP390 sensor probes) are permanently mounted inside the HVAC system with the sensor facing away from the air direction. This trick, along with the placement location, avoids air turbulence from affecting the measurements. The heatshrink covering the BMP390 sensors was cut away to allow airflow to easily reach the sensor chip.
More to follow ...
The HVAC Performance Monitor system was finished and installed a few days ago. And it is working great. So I thought I would share the ending to this story.
One of the reasons for the late completion is because I didn't want to hack my HVAC system until the 2-year installation warranty expired. It's a new home, built during the C19 pandemic. And the build quality of everything in this house is sub-par, because of labor and supply chain issues. The reason for developing the HVAC performance monitor was because my system didn't work to my satisfaction, a complaint many of my neighbors had with their new homes.
Keep in mind that I live in the USA on the west coast. HVAC system installation methods and their technology vary throughout this country. In my location the most commonly installed system is a "package" unit that contains a natural gas fired furnace for heating, ventilation blower for conditioned air distribution, and refrigerant evaporator (A-coil) for summer cooling.
In my area these get tightly crammed into the attic, along with a lot of big flexible ductwork that connects the system to ceiling mounted air returns and supply registers.
Hardware construction was uneventful. Simple point-to-point wiring on a perfboard. The case and sensor probe (wand) housings were 3D printed.
Unfortunately SPI communication to the three BMP390 sensors refused to work with the long cables. The SPI problem (and solution) was discussed here:
viewtopic.php?t=10607
The BMP390 Sensors measure air pressure and temperature. These are mounted at the end of long "wands" that probe deep into air passage cavities at useful locations: Air Return, Heat Exchanger, and Air Supply. This required drilling several holes into the sheet metal cabinet. Photo below shows two of the sensors.
The three wands (BMP390 sensor probes) are permanently mounted inside the HVAC system with the sensor facing away from the air direction. This trick, along with the placement location, avoids air turbulence from affecting the measurements. The heatshrink covering the BMP390 sensors was cut away to allow airflow to easily reach the sensor chip.
More to follow ...
Re: HVAC Performance Monitor
A 3-channel optoisolator board is used to monitor the HVAC system's three operational modes (Heat,Cool,Fan Circulation).
There's also a Dallas DS18B20 temperature sensor mounted on the controller's 3D printed enclosure for measuring attic temperature. A NEOPixel (addressable RGB LED) on the front of the enclosure shows system mode (Heat, Cool, Fan). An external WiFi antenna was used on the ESP32 for increased RF signal. Everything is powered from the 24VAC transformer that is inside the factory installed furnace control board.
There's also a Dallas DS18B20 temperature sensor mounted on the controller's 3D printed enclosure for measuring attic temperature. A NEOPixel (addressable RGB LED) on the front of the enclosure shows system mode (Heat, Cool, Fan). An external WiFi antenna was used on the ESP32 for increased RF signal. Everything is powered from the 24VAC transformer that is inside the factory installed furnace control board.
Re: HVAC Performance Monitor
Using ESPEasy to run the show, this system can report several measurements in real-time. As follows:
1. External Static Pressure at three places (Heat Exchanger, A-Coil, Full System end-to-end).
2. Delta-T (Temperature differential) during Heat and Cool cycles.
3. Air Flow CFM (cubic feet per minute).
4. Cycle Run Times.
This data helps me in a couple ways. It initially showed me what I already knew: It's not a great system. But in the future I will be able to monitor the data to determine if the disposable air filters, heat exchanger, and cooling A-Coil are dirty. And perhaps detect if the system is failing.
TL;DR Guy builds HVAC monitor that is similar to what expensive commercial systems have. He Likes it. Goes online and thanks ESPEasy Devs for making it all possible.
- Thomas
1. External Static Pressure at three places (Heat Exchanger, A-Coil, Full System end-to-end).
2. Delta-T (Temperature differential) during Heat and Cool cycles.
3. Air Flow CFM (cubic feet per minute).
4. Cycle Run Times.
This data helps me in a couple ways. It initially showed me what I already knew: It's not a great system. But in the future I will be able to monitor the data to determine if the disposable air filters, heat exchanger, and cooling A-Coil are dirty. And perhaps detect if the system is failing.
TL;DR Guy builds HVAC monitor that is similar to what expensive commercial systems have. He Likes it. Goes online and thanks ESPEasy Devs for making it all possible.
- Thomas
Re: HVAC Performance Monitor
Great writeup 
Good to hear it is now working well.

Good to hear it is now working well.
Re: HVAC Performance Monitor
Thanks. I'm happy (and surprised) that there was a happy ending to the SPI problem.
One interesting thing I learned in this project is that I could accurately calculate system air flow volume without the usual measuring methods. Because the furnace people are absolute geniuses.
The gas furnace's heat exchanger is a calibrated chamber with known air flow characteristics. The manufacture supplies a data table (in the installation manual) that provides the air flow value, measured in CFM, when blower motor speed and external static pressure are known.
Motor speed is found by checking the jumper wire speed settings on the unit's controller board and static pressure is provided by the BMP390 sensors. Think of external static pressure as a "resistance" to air flow.
I initially thought I would need to use a lookup table, or create a quadratic formula, for emulating the manufacturer's data table values. But this was solved with simplified linear equations that are only 2% error, worst case. There's a different formula for the three blower motor speeds. BTW, I used Microsoft Copilot to improve the equations, which initially had 5% error. AI is both evil and helpful.
Regardless of the cycle mode (heat,cool, circulation), the blower forces all air through the heat exchanger. ESPEasy calculates the CFM value during each of these cycles and reports them. Like magic.
- Thomas
One interesting thing I learned in this project is that I could accurately calculate system air flow volume without the usual measuring methods. Because the furnace people are absolute geniuses.
The gas furnace's heat exchanger is a calibrated chamber with known air flow characteristics. The manufacture supplies a data table (in the installation manual) that provides the air flow value, measured in CFM, when blower motor speed and external static pressure are known.
Motor speed is found by checking the jumper wire speed settings on the unit's controller board and static pressure is provided by the BMP390 sensors. Think of external static pressure as a "resistance" to air flow.
I initially thought I would need to use a lookup table, or create a quadratic formula, for emulating the manufacturer's data table values. But this was solved with simplified linear equations that are only 2% error, worst case. There's a different formula for the three blower motor speeds. BTW, I used Microsoft Copilot to improve the equations, which initially had 5% error. AI is both evil and helpful.

Regardless of the cycle mode (heat,cool, circulation), the blower forces all air through the heat exchanger. ESPEasy calculates the CFM value during each of these cycles and reports them. Like magic.
- Thomas
Re: HVAC Performance Monitor
Thanks to Chromo23's EasyFetch GUI, a useful furnace interface has been created. The data presentation is concise and pleasant looking.
The HVAC monitor has been working perfectly. By observing the data, I've determined the static pressure thresholds that indicate when the disposable air filters need to be changed.
So far only the heating and Fan (air circulation) modes have been monitored. In a few months it will be hot enough to test out the cooling system.
- Thomas
The HVAC monitor has been working perfectly. By observing the data, I've determined the static pressure thresholds that indicate when the disposable air filters need to be changed.
So far only the heating and Fan (air circulation) modes have been monitored. In a few months it will be hot enough to test out the cooling system.
- Thomas
Who is online
Users browsing this forum: No registered users and 17 guests