diff --git a/intern/docker_esphome/templates/config/esphome_popcorn.yaml b/intern/docker_esphome/templates/config/esphome_popcorn.yaml
index 2e1da231e6c819852e2ab2824a02e95f7a977036..465104cb7dec8959d357085e2413e80641348584 100644
--- a/intern/docker_esphome/templates/config/esphome_popcorn.yaml
+++ b/intern/docker_esphome/templates/config/esphome_popcorn.yaml
@@ -1,44 +1,168 @@
 {% set devicename = "esphome_popcorn"  %}
 
 {% include "/includes/ansible.inc.yaml" %}
-{% include "/includes/board.d1_mini.inc.yaml" %}
+{% include "/includes/board.esp32-doit-devkit-v1.inc.yaml" %}
+
+  on_boot:
+    priority: 250
+    then:
+      - climate.control:
+          id: pid_heater
+          mode: "OFF"
 {% include "/includes/common.inc.yaml" %}
 
 
 spi:
-  miso_pin: GPIO12
-  clk_pin: GPIO14
+  miso_pin: GPIO19
+  mosi_pin: GPIO23
+  clk_pin: GPIO18
 
 climate:
   - platform: pid
-    id: pid_climate
-    name: "PID Climate Controller"
+    id: pid_heater
+    name: "PID Heater Controller"
     sensor: pot_sensor
-    default_target_temperature: 21°C
-    heat_output: heater
+    default_target_temperature: 264
+    heat_output: pot_heater
     control_parameters:
       kp: 0.0
       ki: 0.0
       kd: 0.0
+    visual:
+      min_temperature: 0
+      max_temperature: 275
+      temperature_step: 1
 
 button:
   - platform: template
-    name: "PID Climate Autotune"
+    name: "PID Heater Autotune"
     on_press:
-      - climate.pid.autotune: pid_climate
+      - climate.pid.autotune: pid_heater
 
 sensor:
-  - platform: pid
-    name: "PID Climate Result"
-    type: RESULT
   - platform: max31855
     name: "Pot Temperature"
     id: pot_sensor
     cs_pin: GPIO15
     update_interval: 30s
+  - platform: pid
+    name: "PID Heater Result"
+    type: RESULT
+  - platform: pid
+    name: "PID PROPORTIONAL Result"
+    type: PROPORTIONAL
+  - platform: pid
+    name: "PID INTEGRAL Result"
+    type: INTEGRAL
+  - platform: pid
+    name: "PID DERIVATIVE Result"
+    type: DERIVATIVE
+  - platform: pid
+    name: "PID HEAT Result"
+    type: HEAT
 
 output:
   - platform: slow_pwm
     pin: GPIO0
-    id: heater
-    period: 15s
\ No newline at end of file
+    id: pot_heater
+    period: 15s
+  - platform: ledc
+    pin: GPIO4
+    id: gpio_4_backlight_pwm
+
+binary_sensor:
+- platform: gpio
+  pin: 
+    number: GPIO32
+    inverted: true
+    mode:
+      input: true
+      pullup: true
+  name: "Heat Button"
+  id: heat_button
+  on_release:
+    then:
+      - climate.control:
+          id: pid_heater
+          mode: "OFF"
+  on_press:
+    then:
+      - climate.control:
+          id: pid_heater
+          mode: HEAT
+          target_temperature: 264
+
+font:
+  - file: "gfonts://Roboto"
+    id: temp
+    size: 115
+  - file: "gfonts://Roboto"
+    id: text
+    size: 40
+    
+color:
+  - id: my_red
+    red: 100%
+    green: 0%
+    blue: 0%
+  - id: my_green
+    red: 0%
+    green: 100%
+    blue: 0%
+  - id: my_blue
+    red: 0%
+    green: 0%
+    blue: 100%
+  - id: my_yellow
+    red: 100%
+    green: 100%
+    blue: 0%
+
+display:
+  - platform: ili9341
+    model: TFT 2.4
+    cs_pin: GPIO5
+    dc_pin: GPIO16
+    reset_pin: GPIO17
+    rotation: 90°
+
+    lambda: |-
+      it.printf(160,120,id(temp),TextAlign::CENTER,"%.1f°C",id(pid_heater).current_temperature);
+      if ((id(pid_heater).action) == 0) {
+        it.printf(0,10,id(text),TextAlign::TOP_LEFT,"PID: OFF");
+      }
+      else if ((id(pid_heater).action) == 4) {
+        it.printf(0,10,id(text),TextAlign::TOP_LEFT,"PID: IDLE");
+      }
+      else {
+        it.printf(0,10,id(text),TextAlign::TOP_LEFT,"PID: ERROR");
+      };
+      it.printf(0,230,id(text),TextAlign::BOTTOM_LEFT,"Target: %.1f°C",id(pid_heater).target_temperature);
+
+time:
+  - platform: sntp
+    id: ntp_time
+    timezone: 'Europe/Berlin'
+    
+light:
+  - platform: monochromatic
+    output: gpio_4_backlight_pwm
+    name: "ILI9341 Display Backlight"
+    id: back_light
+    restore_mode: ALWAYS_ON
+
+text_sensor:
+  - platform: template
+    name: "PID State"
+    id: pid_state
+    lambda: |-
+      if ((id(pid_heater).action) == 0) {
+        return {"OFF"};
+      }
+      else if ((id(pid_heater).action) == 4) {
+        return {"IDLE"};
+      }
+      else {
+        return {"NaN"};
+      }
+    update_interval: 5s