Skip to main content
Device Type:misc
Electrical Standard:global
Board:esp8266
Difficulty:Chip needs replacement (5/5)

Mill panel heater (generation 2)

General Notes

Mill panel heaters are available in various versions. This component is specifically designed for Generation 2 panel heaters (not compatible with portable heater models). Below is a table that helps you determine which generation you have based on the Wi-Fi serial number prefix (originally linked from Mill’s support article):

Generation overview

Wi-Fi serial starts withGenerationApprox. year
SKAG*****12016
SKAH*****22017
SKAI*****22018
SKAJ*****22019
SKAK*****22020
SKAL*****3 / 3M2021
SKAN*****3 / 3M2022
SKAO*****3 / 3M2023
MI***...3 / 3M2024

If you have a Generation 3 panel heater (which comes with a built-in ESP32), check out this component: https://github.com/ssieb/esphome_components/tree/mill/components/mill_heater To use this component with a Generation 2 panel heater, you’ll need to replace the HF-LPT120A module with an ESP8266. Desolder

HF-LPT120A desoldered

Removed

Solder the ESP8266 in place. Refer to the GPIO Pinout section for detailed instructions

Solder

GPIO Pinout

PIN (mill board)ESP8266Description
+3.3VVCCPower input (3.3V)
GNDGNDGround
WTXTX (GPIO1)UART transmitter
WRXRX (GPIO3)UART receiver

Configuration

substitutions:
devicename: "millzero_heater" #Lower case name
friendly_name: "Mill Zero heater"

esphome:
name: "${devicename}"

external_components:
source:
type: git
url: https://github.com/owangen/esphome
components: [ mill_panelheater_gen2 ]

esp8266:
board: d1_mini

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:

captive_portal:

# Enable logging
logger:
baud_rate: 0 # Deactived to prevent conflict with UART, sending UART to mill controller does not work if enabled

# Enable Home Assistant API
api:

ota:

uart:
id: uart_bus
tx_pin: GPIO01
rx_pin: GPIO03
baud_rate: 9600

climate:
- platform: mill_panelheater_gen2
name: Mill heater

Credits

This component builds on the work by: