Projects Research & Design Hub

Pressure for Energy Efficiency

Written by Jeff Bachiochi

Interested in making your home more energy efficient? Measuring and analyzing air pressure data can help you make smart decisions that will lower your home’s energy costs and overall carbon footprint. Jeff explains how to engineer a sensor-based circuit to measure and display the pressure in Pascals.

  • How to engineer a sensor-based circuit to measure and display home air pressure in Pascals.

  • How to understand air changes per hour (ACH) metric

  • How to use I2C for this project

  • How to develop the circuit for displaying pressure

  • How to test the device

  • ±125-Pa Senserion SDP610 sensor

The green building movement fills a desire for more energy-efficient and environment-friendly construction practices. While not at the top of the list (though it should be), we can see this slowly creeping into changes in building codes. Some utility companies are offering incentives improving existing structures’ energy efficiency. A low-cost (sometimes free) energy audit can help determine cost-saving solutions for your structure’s energy systems, including heating, cooling, and other appliances. It also tests how well your structure breathes.

My mom always told me, “If your feet are cold, put on a hat.” Because your head is a large source of radiation, a hat can prevent heat dissipation and thus help to circulate warmth to your feet. The same principle can apply to your home. If you allow heat to escape your house, you need to feed the furnace more often. While the price of fuel is pretty low at this point (gasoline is around $2), don’t be lured into a false sense of security. Environmental emissions remain constant even though energy prices might be on the cheap side. We can’t afford to wait until oil prices are hurting us before we take conservation seriously.

To understand how your structure breathes, you can have a blower door test performed. This test is aptly named as it indeed seals a blower in a doorway to measure pressure and airflow. While this apparatus can be located in any opening of sufficient area that separates the outside atmosphere from the inside, a doorway is most handy. The setup requires three components: a device to measure the differential pressure between inside and outside, an adjustable fan (or fans) capable of moving a sufficient amount of air, and a support system to mount the equipment and seal the rest of the opening. The idea is to remove air from the structure until the differential pressure reaches –50 Pa. The fan speed is adjusted to maintain this pressure. A calibrated fan enables you to calculate the volume of air moving through the fan based on rotational speed. At this point, what is happening is that the air leaving the structure via the fan equals the air infiltrating the structure from all other cracks and crevices. If you know the volume of the structure, you can calculate the number air changes per hour (ACH). This number is your structure’s score (if you will). It’s a number that enables you to compare your situation to others. As you can probably guess, the larger the number, the leakier your house. But just what does that mean from an energy standpoint?

There are certainly other factors involved—for instance, the insulation factors of walls, windows, foundation, and attics—but air infiltration or air tightness is directly related to heating and cooling costs. If you have air moving freely in and out, then you are trading air with the outside and that new air must be continuously reconditioned to maintain an expected quality of comfort. Every time the furnace (or air conditioner) needs to come on, ca-ching! So, what’s a reasonable number to expect from this test?

Results vary depending where you look, but I think it’s safe to say that an ACH greater than 20 indicates a rather leaky structure and significant cost savings can be made with little effort by searching for and plugging leaks. An ACH less than 10 approaches most new home standards, with some local standards approaching the lower single digits. The Passive House ( is invested in six areas: an air-tight envelope, windows and doors, insulation, heat exchange ventilation, mini-split (heating/cooling), and renewable energy. The air-tight envelope uses a standard of 0.6 ACH.


A manometer uses the height of liquid in a tube to indicate pressure. Water at the bottom of an open-ended U-shaped tube should settle out to equal points on both sides of the tube. If there is a change in pressure to only one open end, the tops of the water will no longer be even. Gradient markings allow you to measure how the liquid level is affected by pressure changes. Even though we might measure pressure in other ways today, the term manometer is still widely used to mean a pressure-measuring device.

There are three configurations used for measuring pressure or vacuum: absolute, gauge, and differential. Basically the same, each of these use a different reference. Absolute is a measurement of the actual pressure referenced to zero pressure. Gauge is a measurement of pressure referenced to the atmospheric pressure. Differential is a measurement between some other reference and the actual pressure. Thus, the absolute pressure is the same as differential pressure with one side referenced to zero pressure. This is similar to the aforementioned U tube, with one end closed. This could be said for the gauge measurement as well; however, there are limits to the stress one can put on the sensor. If you are looking for small changes in pressure, absolute pressure may not have the resolution you require.

Previous discussion on the requirements for measuring ACH stated that it should be measured with a differential pressure of 50 Pa. Just how much pressure is 50 Pa? It’s about 0.007 of 1 psi. And 1 atmosphere is about 14.7 psi. You can see that trying to measure this small a change at 1 ATM would be futile using an absolute pressure sensor.

For this project, I chosen a ±125-Pa Senserion SDP610 sensor, which is an I2C device. By default, it is set to have a 12-bit resolution, but can be set between 9 and 16 bits. The trade-off is measurement time, as you will see. First, let’s quickly review how an I2C interface works.


Philips Semiconductors (now NXP) developed the Inter-IC (I2C) interface in the 1980s to allow components on the same PCB to communicate with a minimum bus architecture. The I2C bus consists of a clock and data line that are pulled up to a logic high by external terminating resistors. A controller device (master) providing a synchronous clock and can send exchange serial data at speeds of 100 to 400 Kbps with another device (slave), with present-day components exceeding this speed limit. Many devices can share the same bus without interaction thanks to each carrying its own device-specific address. And while addressing extensions can increase the 7-bit addressing limit, I’ve never found this to be limiting since most uses consist of only a handful of devices, at most. Of more importance might be that I2C has become popular as an off-board communication bus allowing external devices to be powered and communicate with a microcontroller with just four wires: power, ground, clock and data.

All devices must use open-collector outputs, which allow any device to pull down either the clock or the data lines. The first byte sent on the I2C bus is the address byte. It is limited to 7 bits because the LSB is designated as a Read/Write bit, which determines the direction flow of any data that follows. All addresses are therefore even values between 0x00 and 0xFE. Once any device determines that a transmitted address is not its own, it disregards all further bus activity until a stop bit is received. The stop (and start bits) are bus conditions when the data line changes, rises (or falls), while the clock line is high. During the transmission of 8-bit data, the data line may only change states while the clock line is low. These rules allow all devices to determine the status of communications.

After each 8-bit data transmission, the device sending the data must relinquish use of the data line so the receiver can respond or acknowledge that it has received all of the data. Since the bus will return to its idle state (high) for this acknowledge if there is no low response by the receiver, then the transmitter sees this as an error. Should the slave device need more time to respond, it may hold the clock line low (the only time a slave is allowed to affect the clock line). This produces a wait state until the clock is released by the slave. It is important to note: should a slave get stuck in this state, the master could wait forever, unless it uses some timeout routine. And unless the slave can be reset, holding the clock low disables any future communications.

A simple I2C slave may only require reading 8 bits of data. More elaborate devices may actually have addressable registers. In this case the first register is usually the pointer. The first data value of a write will set this pointer. Additional data is written to the register pointed to, and the pointer is automatically incremented, such that additional data goes to sequential registers. To read a specific register or registers, you must first execute a write to set the pointer and then read any number of incrementing registers. Should the pointer exceed the maximum register count, it usually wraps around.

The SDP610 uses neither of these. Instead, the first data byte in a write is a command byte that instructs the device on what to do next. While there may be more commands, they are undocumented in the available documentation. Table 1 shows the commands I found.

Table 1
The Sensirion SDP610 pressure sensor is an I2C device capable of measuring pressure on demand and returning a 9-to-16-bit result. It is available in three styles to measure absolute, gauge, and differential pressures. 

Two write functions have no data associated, but the third function writes 16 bits of data to the Advanced User Register (AUR). The AUR has a number of undocumented bits. Bits 11:9 set the resolution of the measurement data; other bits should be left unchanged. There are two read functions associated with the device—one to read the AUR data and another to read the measurement result. Note that the reads have a checksum associated as a third data byte that can be used to determine data validity.

The AUR is only necessary if you wish to reduce or increase the number of bits of resolution. Figure 1 is a block diagram of the SDP610. Note that the ADC uses sigma-delta integration. There is therefore a trade-off between time and resolution. The minimum resolution of 9 bits requires approximately 1 ms integration time, while the maximum 16-bit resolution requires approximately 70 ms of integration time. Since it requires a command to trigger a measurement, it is possible to request a read measurement before the conversion is finished. In this case the SDP610 uses clock stretching (slave holds the clock line low) to cause the master to wait as described earlier.

Figure 1 
The SDP610 is more than just a pressure sensor. It contains mass flow, amplifier, temperature, ADC, and communication elements. It operates on 3 to 3.6 V requiring only four connections V+, GND, SCL, and SDA.

This device has a 125 to –125 Pa range. Therefore, the measurement will use the most significant bit (MSb) as the sign of the positive (pressure) or negative (vacuum). Since the resolution covers a range of 250 Pa, you can covert the measurement value into Pascals by dividing the 15-bit value by 125 to get 262 bits/Pa, or approximately 0.0038 Pa/bit. If you use the default 12-bit resolution, that’s roughly 0.07 Pa/bit. I’ll be displaying the measurement to the nearest 0.1 Pa.


There are no surprises in this circuit (see Figure 2) for displaying pressure using an LCD. You can find 2 × 16 backlit displays for less than $10. When used in the 4 bit mode, the LCD requires only seven I/O signals. Actually, I’m using eight signals. The extra bit controls the display backlight. An LED and a few push buttons round out the user interface. That leaves I/O for the UART, SPI, and I2C interfaces. While the present pressure sensor uses I2C, keeping options open for SPI makes the circuit a more universal one. I always like to have an option for a UART, to have a debug port available, not to mention being able to link wirelessly with a Bluetooth module.

Figure 2 
This is a basic circuit that can be used for many applications since it offers user inputs, an LCD, and UART, SPI, and I2C interfaces.

Figure 3 shows what happens to the conversion value once it has been read from the pressure sensor. While displaying the pressure is the whole point of this project, the blower door application must be able to adjust its blower to maintain a specific vacuum of –50 Pa. One assumption that is made is that the blower is large enough to create this differential pressure between the inside and outside of your home. You can see that if you were to open every window in the house, you’d probably need a blower larger than your doorway! It would be impossible to evacuate enough air as the total window area is greater than that of a single doorway.

Figure 3
Once the pressure sensor has been triggered and the result is ready, the value is converted into Pascals and displayed on the LCD. The conversion is scaled by 10 so the result can be displayed to a resolution of tenths. A few variables enable some special displaying characteristics, position of decimal point, enabling a sign character, and on which LCD line the result will be displayed.

Sizing the blower is important. A typical blower might be a 0.75-hp 20″ diameter fan capable of 5,000 cubic feet per minute (CFM) at 50 Pa. The fan’s CFM, or amount of air it can push/pull through its orifice, will vary directly with its RPMs. Of course, this is based on its blade design and free area. These blowers have a control input that allows you to manually adjust the blower’s speed, which changes the blower’s CFM. Speed is increased if the pressure is too low; it’s decreased if the pressure is too high. When a pressure of 50 Pa can be maintained, the present CFM is noted for post testing calculations.


My idea for this project was to use my attic fan as the door blower. I have a whole house fan located in the attic with a louvered panel located in a second floor ceiling that opens into the attic. I programmed the LED in this project’s circuit to indicate whether the present pressure is below the required 50 Pa. I start by just turning on the attic fan, which draws air from my house and exhausts it through the attic to the outside, to see what differential pressure I can create. The fan is rated at 4,500 CFM free air. To my amazement I was not able to get even close to 50 Pa! I could only reach about 17 Pa, about one third of the way there (see Photo 1). Stymied, I went around checking for open windows somewhere. If this was the 1960s, I could have lit some incense and watched the smoke trail to get a gist of air leakage. As it was I had to live with watching a candle’s flame for evidence of air currents (see Photo 2). The windows seemed pretty good, but when I got to the front, back, and cellar doors, I found so much air leaking around the jambs that I couldn’t even keep the candle lit!

Photo 1
The prototype circuit measures and displays the pressure (or vacuum) in Pascals. Note that 1 Pa is about the same force as a dollar bill resting on a table. 
Photo 2 
I used a candle’s flame to look for drafts.

I’m going to make a few assumptions here. First, I doubt my 4,500-CFM free air fan was moving 4,500 CFM of air, once under load the CFM of the fan drops. From the pressure I was able to create, I’m guessing I’d need a fan three times the size to increase the pressure by three times, to 50 Pa. So, for this experiment, I estimated that the CFM for my house was approximately 10,000. I’ll use this number for future calculations.


In order to determine the ACH, you need to know how much air is held within the confines of the test dwelling. You could total the calculated volume of each room that was open to the blower door test. A simpler calculation would be to use the exterior dimensions of the space. In my case the attic and cellar doors were closed off, so they are out of the calculations. The tested volume is 13,0003 ft. Now the ACH can be calculated using the formula ACH = CFM × 60 minutes/volume. Thus: 10,000 × 60/13,000 = 600,000/13,000 = 46 ACH.

As it stands right now, my home would be considered leaky, as the calculated ACH is greater than 20. What I learned from this experiment was how every little leak around a door or window adds up to become a rush of air penetrating what I thought was a solid shell. I believe I can greatly improve this aspect of heat loss with very little effort and expense.

There are a number of areas that will affect a test like this. You can easily forget about heating and cooling duct work, furnaces, wood stoves, dryer vents, stove hood and bathroom exhaust fans, etc. These should all have some kind of barrier to prevent unwanted flow, either manual or automatic. It may be as simple as remembering to close the chimney flue when not in use. Differential pressures (approximately 2 Pa) can occur naturally in your home. Raising this level to 50 Pa exaggerates the infiltration such that it becomes very easy to detect. I’m going to stock up on incense, not just for ambiance but as a practical weapon to aid in finding those leaks that presently are hurting my bottom line.

ACH is only one factor in making your structure as energy efficient as possible. It’s a great place to start as there is direct savings to be had with little effort. It is important to note that we are not trying to totally eliminate air exchange, just manage it. The ultimate goal is to be able to condition it, taking advantage of any temperature differential when it’s in our favor and not allowing it to escape willy nilly.


I found my home’s ACH to be, let’s say, less than desirable. Thus, I’m going to hit up the local hardware store to stock up on some sealing supplies and tighten things up. And then maybe I can make use of the rest of this project. I have a controllable blower that I can command from this project once I can reach the pressures I’m looking for. Most blowers, my Ecofit RREuG9-225x63R-120V (see Figure 4) can be controlled by an external pot, voltage, or PWM signal. I added a PWM OC output that can automatically adjust the blower’s speed and thus air flow (CFM) to ultimately reach the desired pressure. This fan would be sufficient for tightly sealed small buildings or apartments. It’s capable of producing up to 750 CFM as seen in the motors characteristics graph in Figure 5. Obviously, without any additional work, my house will require a much larger blower or blowers. I’ve found companies that produce this specialized equipment make multi-fan systems able to produce in excess of 24,000 CFM costing upwards of $10,000.

Figure 4 
This drawing of the RREuG9-225x63R-120V shows mechanical and electrical information. Note the control options available. (Image used with permission from Rosenberg USA,

My plan to calculate CFM was based on fan speed, but I see that many manufacturers use additional pressure gauges to calculate CFM based on bypass pressure produced by air movement through the fan. It just so happens that Sensirion makes a sensor in this series whose purpose is the measurement of bypass pressure. The SDP6x1 is calibrated with a temperature compensation design especially made for mass flow measurements. It would make an ideal addition to this project.

I invite you to do some investigation and discover you own house’s infiltration points as a first step in lowering your carbon footprint, not to mention save on your heating bill. You can do a simple uncalibrated experiment using a fan you already own. We are beginning to see the future arrive. Who would have thought we could have driverless cars in our lifetime? Well, net-zero energy homes are also right around the corner. 

Photo courtsy of JB Anderson inspections (

Blower Door Tests,
Rosenberg, “RREuG9 225x63R (120V),” EV EC 025-b, 2014,

Ecofit RREuG9 Synchronous motor
Rosenberg Fans Canada Ltd. |
SDP610 Digital differential pressure sensor
Sensirion AG |


Keep up-to-date with our FREE Weekly Newsletter!

Don't miss out on upcoming issues of Circuit Cellar.

Note: We’ve made the Dec 2022 issue of Circuit Cellar available as a free sample issue. In it, you’ll find a rich variety of the kinds of articles and information that exemplify a typical issue of the current magazine.

Would you like to write for Circuit Cellar? We are always accepting articles/posts from the technical community. Get in touch with us and let's discuss your ideas.

Sponsor this Article
Website | + posts

Jeff Bachiochi (pronounced BAH-key-AH-key) has been writing for Circuit Cellar since 1988. His background includes product design and manufacturing. You can reach him at: or at:

Supporting Companies

Upcoming Events

Copyright © KCK Media Corp.
All Rights Reserved

Copyright © 2024 KCK Media Corp.

Pressure for Energy Efficiency

by Jeff Bachiochi time to read: 14 min