Skip to main content
Skip to main content

Protocols

Thread

Thread is the IPv6 mesh protocol over 802.15.4 that underpins Matter. How OpenThread and the Border Router work, and when to choose it over Zigbee.

Official spec ↗
Audio summary
0:00 / 0:00

If you already know Zigbee and you're wondering what the Thread IoT protocol adds on top of the same IEEE 802.15.4 radio, the answer is concrete: Thread carries native IP all the way to the last node. No protocol-translation gateways, no proprietary hubs. Every Thread device is a full-fledged IPv6 citizen.

Executive summary

  • Thread is a low-power IPv6 mesh-network protocol based on IEEE 802.15.4-2006, specified by the Thread Group (accessed: 2026-05).
  • It operates in the 2.4 GHz band (channels 11-26, the same as Zigbee and part of the Wi-Fi spectrum), with rates of 250 kbps and a range of 10-30 m per hop indoors.
  • A self-healing network architecture with no single point of failure: nodes reorganize if a router goes down.
  • OpenThread (Google, BSD-licensed) is the reference implementation; it's available on GitHub (accessed: 2026-05) and certified by the Thread Group.
  • Border Router: the only component that connects the Thread network to conventional IP (Ethernet, Wi-Fi). It doesn't translate protocols — it routes IPv6.
  • Thread is the transport layer for Matter: all Matter-over-Thread devices are Thread-first.
  • Don't use it when: you need more than 250 meters of range, you have existing Zigbee infrastructure you won't migrate, or you need rates >250 kbps per node.

What Thread is and what it's for

Thread is a network standard designed specifically for the home and commercial IoT ecosystem. The Thread Group formalized it in 2014 with backing from Nest (later Google), Samsung, ARM, and Silicon Labs, among others.

The fundamental difference from Zigbee — with which it shares the physical and medium-access layers (IEEE 802.15.4) — is that Thread implements IPv6 directly over the mesh network. Zigbee has its own proprietary network layer; Thread uses 6LoWPAN (IPv6 header compression over 802.15.4 packets) and RPL (Routing Protocol for Low-Power and Lossy Networks, RFC 6550).

This means a Thread sensor exposes a real IPv6 address. You can ping a thermostat. A backend server can open a CoAP connection directly to the device without going through a hub that translates messages.

At Plataforma IoT, we cover Thread within the complete catalog of IoT protocols. It's neither better nor worse than Zigbee in absolute terms — they're different trade-offs on the same radio.

How Thread works

Node roles

A Thread network groups nodes into three categories:

RoleFunctionPower
**Leader**Coordinates the network; assigns roles to new routers. Only one is active at a time.Medium
**Router**Relays traffic from other nodes. Always active.Medium-high
**End Device (SED/MED)**A leaf node. Connects to a parent router. Can sleep (SED: sleepy end device) or stay active (MED).Low (SED <10 µA in sleep)
**Border Router**Connects the Thread network to external IPv6/Ethernet/Wi-Fi.Variable (usually a Linux host or MCU+Wi-Fi)

Routers are elected dynamically. If the Leader goes down, another Router takes over the role automatically. A network can have up to 32 active routers at once, which scales well in deployments of hundreds of devices.

Protocol stack

text
Application (CoAP, Matter, DTLS)
    ↓
UDP / TCP
    ↓
IPv6 (with 6LoWPAN for header compression)
    ↓
IEEE 802.15.4 MAC
    ↓
IEEE 802.15.4 PHY (2.4 GHz, 250 kbps)

6LoWPAN compression reduces a 40-byte IPv6 header to 2-3 bytes in the common case. Without that compression, the 127-byte MTU of 802.15.4 couldn't carry IPv6 usefully.

Commissioning

The process of adding a new device to the Thread network is called commissioning and uses the DTLS protocol over UDP. The Commissioner (a Border Router or an app) verifies the device with a pre-shared key (PSKd, usually printed on the device) and hands it the network credentials. It doesn't need a proprietary app — it's standard.

Border Router and external connectivity

The Border Router is the node that connects the Thread island to the IP world. It's typically a hub (an Apple HomePod, a Google Nest Hub, a latest-generation Amazon Echo) or an SBC (a Raspberry Pi + nRF52840 module + OpenThread Border Router). It advertises the Thread network prefix to the home router via IPv6 Router Advertisement and acts as a service-discovery proxy (mDNS ↔ DNS-SD).

With a Border Router, any device on the LAN can talk directly to a Thread sensor using its IPv6 address. There's no centralized broker and no hub that fails and takes down the whole home automation setup.

Real-world use cases

SectorConcrete example
**Smart Home**Matter over Thread: thermostats, locks, bulbs. The Apple HomePod mini has acted as a Thread Border Router since 2021.
**Commercial buildings**CO₂ and occupancy sensors on self-healing mesh networks; 200+ nodes per network without additional infrastructure.
**Light industrial hardware**Actuators and sensors on production lines with low time-criticality (it doesn't replace Profibus or IO-Link).
**Indoor asset tracking**Thread tags combined with BLE for localization; Thread for periodic reporting, [BLE](/en/protocols/ble) for beaconing.
**Smart metering**Smart-meter networks in apartment blocks; the mesh extends itself between floors.

Thread is already in the nRF52840 (Nordic Semiconductor), the EFR32MG (Silicon Labs), the CC2652 (Texas Instruments), and the ESP Thread Border Router (Espressif). The nRF52840 is the reference SoC for Thread/Matter projects.

When NOT to use Thread

Thread has trade-offs worth understanding before committing:

Limited range. 10-30 m per hop indoors. Outdoors without obstacles it can reach 100 m, but for kilometer-scale coverage you need LoRaWAN or NB-IoT, not Thread.

Low data rate. 250 kbps shared among all the nodes on the channel. With 20 devices sending every 10 seconds it's more than enough. With video or audio, it isn't.

Existing Zigbee doesn't justify migration. If you have 50 Zigbee devices running, Thread adds nothing that justifies the cost of replacing them — unless you're going to deploy Matter.

Requires a Border Router. Without a Border Router there's no external connectivity. In projects where the hub is the point of failure, this adds one more component to maintain.

It doesn't replace Wi-Fi for high-power devices. A robot vacuum or an IP camera with a continuous Wi-Fi connection has no reason to migrate to Thread.

Thread vs Zigbee: same physical layer, different network

AspectThreadZigbee
RadioIEEE 802.15.4 (2.4 GHz)IEEE 802.15.4 (2.4 GHz)
Network layerNative IPv6 (6LoWPAN + RPL)Proprietary (Zigbee Network Layer)
InteroperabilityIP-native; easy REST/CoAP integrationRequires a translation gateway
Ecosystem maturityGrowing (Matter as a catalyst)Mature; thousands of certified devices
Max devices per network~250 nodes (routers + end devices)~65,000 (in theory; practical <200)
CommissioningStandard DTLS (Thread spec)Method varies by implementation
Typical latency10-50 ms end-to-end10-30 ms end-to-end
SecurityAES-128 (link) + DTLS (application)AES-128 (link); application layer varies

The full comparison between the three protocols on the same radio is in Zigbee vs Matter vs Thread.

Getting started: minimal setup with OpenThread

1. Clone OpenThread and build for the nRF52840

bash
git clone https://github.com/openthread/openthread.git
cd openthread
./script/bootstrap
./script/cmake-build nrf52840

The bootstrap script installs the toolchain dependencies (arm-none-eabi-gcc, CMake). The nrf52840 target generates the OpenThread CLI firmware ready to flash via J-Link or UART bootloader.

2. Spin up a Border Router (Docker, for development)

bash
docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
  -p 8080:80 --dns=127.0.0.1 -it \
  openthread/otbr --radio-url spinel+hdlc+uart:///dev/ttyACM0

With the Border Router active, the Thread network gets an IPv6 prefix from the home router and the nodes are reachable from the LAN.

3. Form the network from the CLI

bash
# On the Leader node (connected via UART)
> dataset init new
Done
> dataset commit active
Done
> ifconfig up
Done
> thread start
Done
> state
leader
Done
> ipaddr
fd11:22:0:0:e2e6:2fff:fe09:1234  # Assigned ULA address

4. Verify IPv6 connectivity

bash
# From the LAN (Linux/macOS)
ping6 fd11:22:0:0:e2e6:2fff:fe09:1234

If the ping responds, the Border Router is routing correctly. From here you can open CoAP or Matter connections directly to the sensor.

Thread and Matter: the exact relationship

Thread doesn't define application messages. It defines how packets get from A to B within an IPv6 mesh network. Matter, the standard from the Connectivity Standards Alliance (CSA), defines the language devices use once connected: how to turn on a bulb, how to read a thermostat's temperature, how to manage access.

The combination is as follows: Matter runs over the UDP/IPv6 transport layer. Thread provides that IPv6 layer in home environments without Wi-Fi on every device. Wi-Fi and Ethernet are the other two transport options Matter supports.

A Thread Border Router with an integrated Matter chip (an Apple HomePod, a Google Nest Hub 2nd gen, an Amazon Echo 4th gen) acts as a bridge between the Thread network and the IP LAN. From the Matter app, the user sees the device as a Matter endpoint — they don't know, and don't need to know, whether it uses Thread, Wi-Fi, or Ethernet underneath.

The Matter article goes into detail on the application protocol. The smart home article covers the complete integration of the home ecosystem.

Primary sources

Frequently asked questions

Are Thread and Zigbee compatible with each other?+

Not directly. They share the physical layer (IEEE 802.15.4, 2.4 GHz), but their network layers are incompatible. A Zigbee device can't join a Thread network and vice versa. For coexistence, some Border Routers implement both stacks in hardware with two chips.

Is Thread the same as Matter?+

No. Thread is the network transport protocol (layer 3). Matter is the application protocol (layer 7). Matter can run over Thread, Wi-Fi, or Ethernet. A Matter-over-Thread device uses Thread for network connectivity and Matter for application messages.

How many devices does a Thread network support?+

Up to 32 active routers and ~250 total nodes per network partition. In practice, a home installation rarely exceeds 50 nodes, well within the limit.

Is OpenThread free for commercial use?+

Yes. OpenThread is released under the BSD-3-Clause license, which permits commercial use without restrictions. Thread certification (mandatory to use the logo) has a cost and requires Thread Group membership or the use of an already-certified SoC.

Does Thread work without internet?+

Yes. The Thread network is fully autonomous. The Border Router is only needed for external connectivity (remote control, cloud). Locally — without internet — Thread devices communicate with each other normally. Matter also works local-only with Thread.

Does Thread use less battery than Zigbee?+

Comparable. Thread Sleepy End Devices can drop to <10 µA in sleep, similar to Zigbee. The real difference lies in IPv6 overhead: Thread packets are somewhat larger, which translates into ~5-10% more radio-on time — marginal in most applications.

Related articles