Humidity issues are frequent in basement rooms. An air that is too humid promotes the growth of mold on the wallsand spreads musty odors. If you are faced with such issues, you could run buy a dehumidifier, but it's not necessarily the best method. Today, we present a solution based on Yoctopuce sensors which allows you to lower the humidity level of a room in a simple and pragmatic way.
To dehumidify a room, you must evacuate the water vapor that is suspended in the air. An electric dehumidifier works by condensing in one way or another this water vapor into droplets, which are then collected into a tank to be ultimately evacuated. This system has two drawbacks:
- you must regularly empty the tank (or connect it to the sewage system)
- this type of appliance consumes a lot of power, so it's rather expensive to use it
There is another way to get rid of water vapor: it is simply to replace the air in the room with dryer air, coming from the outside, following the old airing principle. Naturally, depending on the season, the air maybe colder, which will require some more energy to heat it if you heat the room, but this is not a lot compared to the consumption of a dehumidifier. Moreover, heating the air coming from the outside lowers its relative humidity, which is all benefits for the humidity issues at hand. Let's see how to create an automatic airing system optimized to extract humidity.
To decide when is a good time to air, we install Yocto-Meteos inside and outside the building to measure the temperature and the humidity. To circulate the air, the simplest method is to install in two opposite windows two window fans, one to extract the humid air and the other one to bring in dry air. An electric shutter closes air access when the fan is not in use. You can drive the two fans with a single Yocto-PowerRelay.
Automatic dehumidifying system by airing
Both fans are always powered on simultaneously. It's important to use two identical fans to ensure the air volume moved in the two directions is the same. Otherwise, you risk to reach an overpressure situation (which drives cold and humid air from the basement into the house) or an under pressure situation (which sucks the house hot air into the basement and therefore lets cold air enter the house).
You can replace the "bring-in" fan by a motorized window opening. This has the advantage of being much more discreet that the fan solution. Even more, if the room has windows in opposite walls and if the environment is reasonably exposed to the wind, you can even think of replacing the two fans by motorized windows, as it is usually done on churches or other listed buildings for which fans wouldn't be acceptable. The airing command is however somewhat more complex as the motor must be driven in the correct direction depending on the action to be performed (opening or closing) and requires a Yocto-MaxiPowerRelay rather than a simple Yocto-PowerRelay.
The exact place where you put the outside sensor is not very important. Don't try to put it near the air flow, but rather at a location representative of the outside air mass, where it is not influenced by the airing process. If you have a choice, professionals recommend you to put it on the North side (naturally more humid) in order to get a rather pessimistic measure.
Now, we need to determine the logic of when to air the room. To do this, we first need some theory on humidity...
There are several ways to measure the quantity of water vapor in the air.
The most frequently used on common hygrometers is the relative humidity (RH) expressed in %. It seems intuitive, but it's a bit misleading: The percent represents the ratio of the partial pressure of water vapor in the mixture to the the saturated vapor pressure of water at a given temperature. Not so intuitive, in the end... Let's simply note that this measure is useful for meteorology (a 100% relative humidity corresponds to the formation of rain, fog or dew) as well as for measuring the comfort of the air in which we live (ideally between 35% and 65%).
Relative humidity doesn't allow us to compare the quantity of water in the air between two distinct locations because it depends too much on the temperature: the saturated water vapor pressure changes significantly with the air temperature:
Relative humidity (blue) has a strong inverse correlation with temperature (red)
So, to decide when is a good time to air, we need a humidity measure which doesn't depend on the temperature, but purely on the quantity of water in the air. It's the absolute humidity, which is measured in gram of water per cubic meter of air (g/m3). Thus, if we replace inside air by outside air with a lower absolute humidity, we are sure that we took water out of the room, whatever the inside and outside temperatures. But how do we measure absolute humidity?
The simplest way is to compute the absolute humidity based on the relative humidity, on the temperature, and on a whole bunch of physical laws linking these three quantities one to the others. As these physics formulas are not so simple, we recently simplified the issue by adding directly in the Yocto-Meteo the computation of the absolute humidity. Thus, if you install the latest firmware, you can choose the humidity measuring unit you are more interested in: g/m3 for absolute humidity or %RH for relative humidity:
Configuring the Yocto-Meteo
Naturally, in your programs, you can read both values simultaneously.
Given that we have absolute humidity measures for both inside and outside, the regulation itself is easy. Here are the conditions measured during 24h before installing the system:
Temperature and absolute humidity in the basement before installation of the system
We notice for example that there are clearly 2g/m3 which could have been easily evacuated by airing during the afternoon (the inside absolute humidity dark blue curve is about 2g/m3 above the external absolute humidity).
We can therefore think of regulating following this principle:
- When inside absolute humidity is at least 1g/m3 above external absolute humidity, air
- When inside absolute humidity is below or equals external humidity, stop airing
We can add these two preemptive rules as well to avoid dehumidifying beyond the comfort threshold and to avoid airing in rainy weather:
- Do not try to dehumidify when inside relative humidity is below 30%
- Do not air when external relative humidity is above 85%
Translated into Python code, this gives
outside = YHumidity.FindHumidity("Outside.humidity")
inside = YHumidity.FindHumidity("Inside.humidity")
fan = YRelay.FindRelay("Fan.relay")
if outside.get_relHum() > 85:
elif inside.get_relHum() < 30:
elif inside.get_absHum() >= outside.get_absHum()+1:
elif inside.get_absHum() < outside.get_absHum():
It's still a bit early to actually assess the system as it has just been installed, but we can already measure the airing efficiency.
Effect of the regulation system
- Turning on the fans (around 13h on the graph above) has a clearly useful impact on absolute humidity in the room
- The impact appears to reduce asymptotically around 1mg/m3 above outside humidity level. We have therefore changed the control rule to stop the fans when this threshold is met (rather than waiting for equality).
- We notice a few more instances in the afternoon where the humidity is reduced, by the effect of the system taking advantage of temporary improvements of the outside conditions
- After that, weather become worse and did not offer further opportunities for improvement. We will then have to wait for the next days...
Depending on the specific environment, you can think of other rules, for instance by using the external temperature measure to avoid airing during the coldest hours if you want to reduce the heating impact. But this shouldn't even necessarily be needed, because if there is a heater in the room, it should very quickly reach the 30% relative humidity minimal threshold through colder air exchanges, and you will almost never need to air it during the coldest hours.