Precise VPD Control Without Using a PID controller

Here is a method to precisely control VPD (Vapor Pressure Deficit) without using a PID controller.

I think the mistake most people make when trying to control VPD is that they are using the humidity measurement from their sensor to control the VPD level. The reason this doesn’t work is because we are controlling relative humidity, not absolute humidity, so even slight temperature fluctuations will drastically change the VPD correlative to the humidity. To make this work you would essentially need to program a table with a different humidity setting depending on what the temp is.

The method described here uses the VPD measurement from the sensor to maintain the correct humidity levels depending on what the temperature is.

IMPORTANT NOTES ON VPD CONTROL: If you have the ability to acquire actual leaf temps, you can use this method for VERY precise VPD control. However, it is really unnecessary to acquire actual leaf temperature in calculating your VPD measurements. You only need that kind of precision if you are conducting a laboratory experiment or something like that. If you keep the temperatures in your grow space stable, and don’t fluctuate more than 10 degrees between day and night temps, your leaf temps will only be within a couple of degrees of your air temps… assuming that whatever type of lights you are using are kept at a proper distance from the canopy! Also, very important, to avoid mold and mildew, you want to make sure that you never go over 70% humidity for extended periods of time… which means that, if possible, you need to keep the temps in your grow space BELOW 78F AT ALL TIMES. Remember, we are using the VPD measurement to control the humidity, which means if the temps get too high, the RH must also rise to lower the VPD and keep it in range. The goal is to have a relative humidity somewhere between 62-67% with temps between 69-77F. You also need to be mindful of leaf condensation at night when temps fall and RH spikes… good air circulation is the best prevention.

In order for any humidity control method to work, you must first have good control over both day and night temperature in your grow space. If you can not maintain fairly constant, stable control over the temps, you are going to have a difficult time keeping the VPD humidity level at a constant as well.
“Ideal” temps for most plants are between 68-77F. I try to maintain a max temp of 77 and a min of 69 (average of 75F).
You will also need to have good control over the intake air circulation coming into (or being extracted from) your grow space. I’ve found the easiest way to do this is by being able to control fan speeds using PWM computer fans as intake or extractor fans. Check the specs on your fans and find out what their “cubic meters per hour” is rated for.
I have a fairly small grow space of 2x3x6 so only about 1 cubic meter. I am using 2 140mm PWM computer fans that combined can move 268 cubic meters per hour at 100% speed, so even on low speed (20% PWM), I can still effectively exchange the air in my grow space once every minute. Being able to have a high air exchange rate is important so that you can also quickly lower the humidity if it ever gets too high, like at night when temps crash and the RH spikes. Good air exchange rate is also VERY important in preventing mold growth in your grow space.
Keep in mind though that too much air circulation will drive down your humidity too fast making your humidifier run more often than it needs to. It’s a bit of a tricky balancing act, but very worth the effort to get it dialed in.

I really like the Noctua fans… 150,000 hours MTBF rating, super quiet, lots of size and RPM options, top quality, low price, and a full 6 year replacement warranty!
[NF-P14s redux-1500 PWM]

Once you have good temp and air circulation control, then you can easily control VPD humidity levels with a properly sized humidifier. Most of the commonly available ultrasonic humidifier “pucks” can vaporize about 1/2 Litre per hour. Just one puck is sufficient for 1 cubic meter of space. However, I am using 2 just to get faster response times.

Here is a good inexpensive DIY humidifier kit. 24v 3A PSU with 3 ultrasonic vaporizer pucks. I used this kit inside a 5 gallon laundry detergent bucket with intake and output vents cut in the bucket for air flow.

One more important note, this will probably work best if you can position your humidifier directly in the downstream breeze of your grow space fresh-air intake vent, whatever that may be in your system. This will force the fresh dry incoming air to mix with the vapor from your humidifier inside your space.


I am using a BME280 all-in-one temp-humidity-pressure sensor to acquire the VPD measurement.

This method uses only 3 functions:

A Bang-Bang Hysteretic On/Off Raise/Lower function - Monitors the VPD measurement from the BME280 to LOWER VPD (raise humidity) relative to temperature.

A Trigger: Output On/Off function - Whenever the humidifier is on, this function increases intake air fan speed to help disperse the humidifier vapor more evenly and quickly in the grow space, raising humidity rapidly.

A Trigger: Output On/Off function - Whenever the humidifier is off, this function lowers the intake fans to a lower “idle” speed, reducing air circulation so as to not lower the humidity too fast (this keeps the humidifier duty cycle lower and uses less water).

In Mycodo, Outputs page, make sure you have PWM control setup to control your fan speed for your intake or extraction fans.

Next, in the INPUTS page, make sure the sensor you are using has the capability of measuring temp, humidity, and air pressure. In the sensor’s Input setup, make sure you have the VPD measurement enabled as well as temp and humidity (pressure, dew-point, and altitude are not required for this setup). Normally, VPD is measured in Kilo-pascals, so under Measurement Settings > Configure Measurements make sure to set the “Convert to Unit” to kPa. Save settings, close the settings popup, and verify you are getting VPD measurements by going to the Live Measurements page.

Next, go to the FUNCTIONS page and add a Bang-Bang Hysteretic (On/Off) (Raise/Lower) function. Name it something like “VPD Humidity Control”. Open the function settings and in the Measurement field select the VPD measurement from your sensor. Then in the Output field select your humidifier. Next, set the Setpoint… “ideal” VPD for most plants is usually somewhere between 0.80 and 1.15 kPa. I set mine around 1.00 kPa for seedlings and vegetative phase, and around 1.10-1.2 for flowering or fruiting phase. Next, set the Hysteresis… I set mine to 0.005 kPa to avoid large swings or “jitter” in the VPD levels. You can set yours to suit your environment… this takes a little playing with to get it dialed in depending on your air circulation and the size of your humidifier vs the volume of your grow space. Next, set the Direction to LOWER (we want to LOWER the VPD by raising humidity). Last, set the Period… this will take a little playing with too depending on how fast or slow the conditions in your grow space changes. I keep mine around 3-5 seconds for very tight control and less swings/jitter. Save settings and close the settings popup.

Now add a Trigger: Output (On/Off) function and open that function’s settings popup. Name this one “Humidifier on = fans high”. Set the Output to your humidifier. Set the If State to On (no duration). Leave the If Duration at 0. Now in the Add Action field select Output (Duty Cycle) and click the Add Action button. In the Controller ID, select your PWM output that is controlling your intake/exhaust fans. Now select a Duty Cycle around 70% to start with. Click on the Controller ID Save button first, then click on the Save button at the top left of the settings popup. Close the popup.

Now add another Trigger: Output (On/Off), open the settings popup, and name this one “Humidifier off = fans low”. Use all the same settings as the previous function, except the Duty Cycle, set that to about 30% for the low “idle speed”.

Now plug in all your outputs, fill your humidifier, close up your grow space, and activate the 3 functions you just added. Monitor your dashboard gauges or graphs over the next few days and make adjustments to the fan speeds and set-points if needed. If your outputs are correctly sized, and your temps stay pretty constant, you should see nice flat levels on your VPD graph regardless of fluctuations in temp and humidity.

It should hopefully look something like this… (the blue line is VPD holding a 1.0 kPa regardless of temp/humidity)

1 Like