diff --git a/functions b/functions
index e8a049414bca2b14b158444dac1b94c2ca90d9be..900377e4f72486f6699ecf736f96adfbc04e92da 160000
--- a/functions
+++ b/functions
@@ -1 +1 @@
-Subproject commit e8a049414bca2b14b158444dac1b94c2ca90d9be
+Subproject commit 900377e4f72486f6699ecf736f96adfbc04e92da
diff --git a/intern/docker_esphome/tasks/main.yml b/intern/docker_esphome/tasks/main.yml
index 334dc132314b7c0bbdc30d3869f52b23670303f2..5176bbf678c4fbcb98787dcfd47e27f85a79053a 100644
--- a/intern/docker_esphome/tasks/main.yml
+++ b/intern/docker_esphome/tasks/main.yml
@@ -55,6 +55,7 @@
     - config/esphome_plug06.yaml
     - config/esphome_plug07.yaml
     - config/esphome_plug08.yaml
+    - config/esphome_popcorn.yaml
   register: config
 
 - name: "stop {{ servicename }} docker"
diff --git a/intern/docker_esphome/templates/config/esphome_popcorn.yaml b/intern/docker_esphome/templates/config/esphome_popcorn.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2e1da231e6c819852e2ab2824a02e95f7a977036
--- /dev/null
+++ b/intern/docker_esphome/templates/config/esphome_popcorn.yaml
@@ -0,0 +1,44 @@
+{% set devicename = "esphome_popcorn"  %}
+
+{% include "/includes/ansible.inc.yaml" %}
+{% include "/includes/board.d1_mini.inc.yaml" %}
+{% include "/includes/common.inc.yaml" %}
+
+
+spi:
+  miso_pin: GPIO12
+  clk_pin: GPIO14
+
+climate:
+  - platform: pid
+    id: pid_climate
+    name: "PID Climate Controller"
+    sensor: pot_sensor
+    default_target_temperature: 21°C
+    heat_output: heater
+    control_parameters:
+      kp: 0.0
+      ki: 0.0
+      kd: 0.0
+
+button:
+  - platform: template
+    name: "PID Climate Autotune"
+    on_press:
+      - climate.pid.autotune: pid_climate
+
+sensor:
+  - platform: pid
+    name: "PID Climate Result"
+    type: RESULT
+  - platform: max31855
+    name: "Pot Temperature"
+    id: pot_sensor
+    cs_pin: GPIO15
+    update_interval: 30s
+
+output:
+  - platform: slow_pwm
+    pin: GPIO0
+    id: heater
+    period: 15s
\ No newline at end of file