Hardware Matrix

Is MAX6675 K-Type Thermocouple Sensor Compatible with Home Assistant (ESPHome)?

Verdict Badge
VERDICT: [ COMPATIBLE (MANUAL CONFIG REQUIRED) ]
Protocol: SPI Bus / 3.3V
Bridge Needed: NO

Electrical Specifications

Always confirm pin assignments against the manufacturer datasheet before wiring.

Not yet documented. Electrical specifications for this device have not been confirmed against a manufacturer datasheet, so none are shown here rather than showing estimates. Submit verified specifications if you have the datasheet to hand.

Compatibility Overview

High-temperature thermal probe measuring up to 1024C for kiln smoker pizza oven or engine exhaust monitoring.

Wiring MAX6675 K-Type Thermocouple Sensor to ESP32

Module pin ESP32 Note
VCC 3V3 The chip runs from 3.0 to 5.5V. At 3.3V its SO output is at a level the ESP32 reads directly.
GND GND
SO GPIO19 MISO, and the only data line. The spi: block also names mosi_pin GPIO23, but the MAX6675 is read-only and nothing is wired there.
SCK GPIO18
CS GPIO5 cs_pin in the config.
Thermocouple + / − the thermocouple K-type only, into the screw terminal. If the reading falls as the probe heats up, the two leads are the wrong way round.

Host pins are the ones the configuration on this page uses. Move a pin here and change it in the YAML — they are documented together so they cannot disagree.

Technical Specification Matrix

Feature / Attribute Specification / Status
Hardware Protocol SPI Bus / 3.3V
Bridge Required NO
Border Router Needed None
Hardware Capabilities & Peripherals
Thermocouple Temperature (°C)

Note: these entities come from the ESPHome configuration you flash — each one needs its matching component in that YAML before it appears.

Pairing Complexity Intermediate
Factory Reset Instruction Hold BOOT button for 2s.

Wire, Flash, Adopt, Check

1

Wire it up

Follow the wiring table above. The ESP32 pins there are the ones the configuration uses, so if you move one, change it in both places.

2

Flash the configuration

Create a new device in the ESPHome dashboard (the Home Assistant add-on) and paste the configuration below into it, or save it as emb_esp32_max6675_ard.yaml and run esphome run emb_esp32_max6675_ard.yaml. The first flash goes over USB. If it is not detected, hold BOOT button for 2s to put it in download mode. Every update after that is over the air.

3

Adopt it in Home Assistant

Settings → Devices & Services. A node on the same network shows up as a discovered ESPHome device within a minute of joining Wi-Fi; choose Configure and enter the API encryption key from your secrets.yaml. If discovery does not find it, add the ESPHome integration by hand with the node's IP address.

4

Check it works

Thermocouple Temperature in Home Assistant shows room temperature to within a few degrees, and holding the tip in your hand lifts it at the next update. A "Got invalid value" warning in the log at every update is an open circuit: a loose terminal screw or a broken probe. A reading that falls as the tip warms is the leads swapped; a reading that drops to 0 when the probe touches metal is a grounded sheath.

ESPHome Configuration

Starting configuration for MAX6675 K-Type Thermocouple Sensor on ESP32. Untested on hardware — verify wiring and pins against your own board.

# ESPHome configuration for MAX6675 K-Type Thermocouple Sensor
# Host: ESP32. Pin numbers below are host-side defaults — any free
# GPIO will do, and you should change them to match your own wiring.

esphome:
  name: emb_esp32_max6675_ard
  friendly_name: "MAX6675 K-Type Thermocouple Sensor"

esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:

api:
  encryption:
    key: !secret api_encryption_key

ota:
  - platform: esphome
    password: !secret ota_password

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

spi:
  clk_pin: GPIO18
  mosi_pin: GPIO23
  miso_pin: GPIO19

sensor:
  - platform: max6675
    name: "Thermocouple Temperature"
    cs_pin: GPIO5
    update_interval: 60s

Before you flash: the !secret values come from your secrets.yaml, and the GPIO numbers are host-side defaults rather than properties of this part — change them to match how you actually wired it.

What Appears in Home Assistant

Thermocouple Temperature
sensor

°C in 0.25° steps, every 60s. The component only publishes good reads: with the probe unplugged it logs a warning and Home Assistant keeps showing the last value.

Open-probe alarm
not an entity

Not in the config. Adding filters: - timeout: 3min to the sensor makes it send unknown once readings stop arriving, so a broken or unplugged probe shows in Home Assistant instead of freezing the graph.

Known Problems and Fixes

An unplugged probe freezes the reading

The chip raises a flag bit when the thermocouple input is open. ESPHome treats that as an invalid read: it logs a warning, sets the node's warning status and publishes nothing, so Home Assistant carries on showing the last good temperature. For a smoker or kiln alert that is the wrong failure; the timeout filter above turns silence into unknown.

Do not poll faster than a quarter-second

A conversion takes 0.17–0.22 seconds, and pulling CS low to read stops any conversion in progress. Read faster than that and the chip never finishes one, so the value stops updating. The 60s in the config is nowhere near the limit; one second is safe.

The probe must not touch ground

The datasheet has T− connected to ground, which open-probe detection depends on. A probe whose sheath or tip touches an earthed or grounded surface — a smoker body, an exhaust, a pipe — gives wrong readings, and users report it dropping to 0°C. Use an insulated probe and mount it so the metal is isolated from anything grounded.

Nothing below 0°C

The output is an unsigned 12-bit number from 0 to 1023.75°C. A freezer or a winter night outdoors bottoms out at 0. The MAX31855 reads negative temperatures.

Keep the board cool

The chip measures the cold junction at its own package and corrects for it, which only works with the board between −20°C and +85°C and at the same temperature as the terminal. Keep the module away from the heat being measured and from warm parts of the node, and cover the distance with K-type extension wire. Expect about ±2°C from 0 to 700°C, plus up to ±3°C of cold-junction error over the full ambient range.

The bundled probe is not a kiln probe

The chip reads to 1024°C; the cheap screw-thread probe often sold with the module is rated far lower (ProtoSupplies lists theirs at 0–80°C). For a pizza oven, kiln or exhaust, buy a K-type probe rated for that temperature — any K-type probe works with this board.

🛠️ Hardware Correction & Field Contributions

Report a Pinout Error or Submit Tested Code Snippets

Found a pin mapping quirk or built a custom ESPHome YAML driver for MAX6675 K-Type Thermocouple Sensor? Submit a pull request or report corrections to our index.

Frequently Asked Questions

Does MAX6675 K-Type Thermocouple Sensor work without an internet connection?
Local SPI bus temperature reading.
How is MAX6675 K-Type Thermocouple Sensor powered and wired to the host board?
3.3V VCC SPI (SO=GPIO19 SCK=GPIO18 CS=GPIO5).
How does the host board reach Home Assistant (ESPHome)?
Wi-Fi 2.4GHz / Bluetooth.

Alternatives

Guides for this part

Related Compatibility Matrix Guides