diff --git a/growbox.yaml b/growbox.yaml
index a9a9c589aa48dfba2556ced6287be86274dd45c6..f7d51d0e736c24e9cb8360e11789b7a2d200d4a3 100644
--- a/growbox.yaml
+++ b/growbox.yaml
@@ -10,3 +10,4 @@ packages:
   yieryi2178: !include packages/yieryi3178.yaml
   scd40:      !include packages/scd40.yaml
   mlx90614:   !include packages/mlx90614.yaml
+  vpd:        !include packages/vpd.yaml
diff --git a/packages/esp32.yaml b/packages/esp32.yaml
index 4277e277924b0347e5a143304d5f431a001d3ce6..8a9169d0aad0faf59cdb04625167224526a8d9c8 100644
--- a/packages/esp32.yaml
+++ b/packages/esp32.yaml
@@ -4,3 +4,4 @@ esp32:
 i2c:
   sda: 21
   scl: 22
+  frequency: 10khz
diff --git a/packages/scd40.yaml b/packages/scd40.yaml
index f785abeb5ef2ef988d9e2c5902189db3d395b460..b3ef0384fb86bf434efa44814127431bf1890a75 100644
--- a/packages/scd40.yaml
+++ b/packages/scd40.yaml
@@ -1,6 +1,7 @@
 sensor:
 - platform: scd4x
   update_interval: 5s
+  temperature_offset: 4.85
   ambient_pressure_compensation_source: bme280_pressure
   co2:
     id: scd40_co2
diff --git a/packages/vpd.yaml b/packages/vpd.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..16e713891949cc739ba501270eaace14cf682e9a
--- /dev/null
+++ b/packages/vpd.yaml
@@ -0,0 +1,19 @@
+sensor:
+- platform: template
+  id: vpd
+  name: "Vapor Pressure Deficit"
+  update_interval: 5s
+  accuracy_decimals: 2
+  unit_of_measurement: 'kPa'
+  lambda: |-
+    float temperature = (id(mlx90614_temperature_object).state - 32) * 5/9;
+    float humidity = id(bme280_humidity).state;
+    float vpSaturation = 610.7 * pow(10, (7.5 * temperature / (temperature + 237.3)));
+    float vpDeficit = ((100.0 - humidity) / 100.0) * vpSaturation;
+    return vpDeficit / 1000;
+
+prometheus:
+  relabel:
+    vpd:
+      id: vpd
+      name: "Vapor Pressure Deficit"