How to make your own Thread devices with ESPHome

This guide describes a minimal example to get started with ESPHome & Thread.

Steps

1. Get a suitable ESP32 board

Currently, ESP32-C6 and ESP32-H2 boards can be used because they support Thread.

2. Find your Thread TLV

You can find your Thread TLV at Integrations > Thread > (gear icon) > Preferred Network > (info icon) > in the bottom Active Dataset TLVs. Copy this long string value, this is your TLV.

3. Prepare the .yaml file

  • Set your board (h2 or c6).
  • Put in your TLV copied from earlier.
  • Set an API key and a password. Refer to ESPHome docs if you don’t know how.
esphome:
  name: 'thread-temp-sensor'

esp32:
  board: esp32-h2-devkitm-1
  framework:
    type: esp-idf

network:
  enable_ipv6: true

openthread:
  device_type: FTD
  tlv: "your-TLV-here"

sensor:
  - platform: internal_temperature
    name: "Internal Temperature"

logger:

api:
  encryption:
    key: "your-random-key-here"

ota:
  - platform: esphome
    password: "your-random-password-here"    

4. Next steps

See the OpenThread component in ESPHome for further information.


Notes:

  • This setup doesn’t involve Matter at all. ESPHome communicates with devices over Thread, which is just a transport technology like Wi-Fi, Bluetooth or Zigbee.

Related:

6 Likes

works like a treat… one note when one commissions it gets asked about noise_psk… which is the api key for the rest of us.