
Zigbee vs Matter over Thread: What a Lab Test Means for Home Assistant
- News
- Rocks on Galaxy
- Maison connectee
- 19 Oct, 2026
- 0
Every Home Assistant owner faces the same choice sooner or later: when you buy the next sensor, bulb or plug, should it be Zigbee or Matter over Thread? Forum threads are full of strong opinions and short on measurements. A team at the Politecnico di Milano decided to settle part of the argument the hard way. They built the same small smart home twice, on identical hardware, once with Zigbee and once with Matter over Thread, and measured overhead, latency, throughput and self-healing with a packet sniffer. The paper, published on arXiv, was picked up again by the Adafruit blog on October 16, the same week Arduino gave its Nano Matter board a Zigbee stack. Here is what the numbers say, where the study is weaker than its headline, and what we would actually do with a Home Assistant setup today.
Key takeaways
- One hop, Zigbee is quicker: about 30% lower round-trip time and roughly 75 kbps peak throughput in a direct link.
- Several hops, Thread is steadier: latency grows roughly linearly, and commands kept arriving where Zigbee delivered only 94 of 180 at five hops.
- Self-healing is the reverse: Zigbee rerouted around a dead node in 0.36 s on average, Thread took about 24 s.
- Big caveat: the Zigbee coordinator was a TI CC2531, a stick Home Assistant itself no longer recommends.
Who ran the test, and on what
The authors, Massimo Nobile, Fabio Palmese, Antonio Boiano, Alessandro E. C. Redondi and Matteo Cesana of the DEIB department at Politecnico di Milano, start from a simple observation: both protocols share the same radio layer, IEEE 802.15.4 in the 2.4 GHz band at 250 kbps. Any difference they measure therefore comes from the layers above, routing, addressing, fragmentation and the application layer, not from the radio.
The test bench is deliberately ordinary and built around Home Assistant:
| Component | Zigbee side | Matter over Thread side |
|---|---|---|
| Controller | Raspberry Pi 4 (4 GB) running Home Assistant OS | |
| Software in Home Assistant | ZHA integration | Matter Server add-on + OpenThread Border Router add-on |
| USB radio | Texas Instruments CC2531, Z-Stack coordinator firmware (1.2 HA) | Sonoff ZBDongle-E (Silicon Labs EFR32MG21), OpenThread RCP firmware 2.4.5.0 |
| Nodes | Six ESP32-C6 boards running Espressif example firmware (a dimmable light acting as a router) | |
| Observation | Passive CC2531 sniffer, captures analysed in Wireshark with a Matter dissector | |
Two layouts were tested: a full mesh, where every node hears every other node like devices in one room, and a forced chain, where traffic must hop from node to node like a long corridor or a garden office. Networks grew from one to six nodes, each configuration captured for 15 minutes, idle and then with an on/off command every five seconds.
The four results, one by one
1. Background chatter and scale
A mesh spends airtime just keeping itself alive: beacons, neighbour updates, route maintenance. In the single-room mesh at rest, Zigbee was the quieter network up to five nodes, then overtook Thread at six. Once commands started flowing, Thread's packet rate stayed low and almost flat, while Zigbee's climbed with every node added. The chain was where the gap became dramatic. Beyond three hops, Zigbee's route-discovery broadcasts piled up on a 250 kbps channel. At five hops only 94 of 180 commands reached the last bulb, and at six hops the Zigbee coordinator crashed several times before a stable measurement could be taken. Thread kept delivering at every depth.
2. Latency
With a 50-byte ping, Zigbee's round trip over a single hop was about 30% shorter than Thread's. The authors attribute this to Zigbee's lighter, non-IP stack. That lead disappears with distance: Zigbee latency rose faster than linearly as hops were added, with packet loss on top, while Thread's grew in a straight, predictable line. Fragmentation also favours Thread. Zigbee had to split payloads above about 79 bytes, Thread above about 95 bytes on one hop and 89 bytes on longer paths, and Thread's 6LoWPAN layer handled the split more gracefully.
3. Throughput, or why firmware updates feel slow
On a direct link, Zigbee hit the highest figure of the study, about 75 kbps. It then fell quickly with each hop, and only stayed stable when the researchers manually spaced packets: 7 ms apart for one hop, 24 ms for two, 42 ms for three, 55 ms for four and 89 ms for five. Thread sustained clearly higher throughput across multiple hops. Over TCP it needed no tuning at all, which the authors single out as a good fit for over-the-air firmware updates.
4. Self-healing after a node dies
This is where Zigbee wins outright. In a diamond-shaped network with two possible paths, the team cut power to the relay in use, 30 times per protocol. Zigbee found the alternative route in 0.36 s on average. Thread took 23.97 s, a figure the authors confirmed with the OpenThread simulator (24.45 s). The reason is design: Thread routers wait for several missed advertisements before declaring a neighbour gone, trading reaction speed for stable routing tables.
The scorecard
| Measure | Zigbee | Matter over Thread | Edge |
|---|---|---|---|
| Idle overhead, 1 to 5 nodes in one room | Lower | Higher | Zigbee |
| Overhead with traffic, growing network | Rises with each node | Low and almost flat | Thread |
| Commands delivered at 5 hops | 94 of 180 | All | Thread |
| Single-hop round trip (50 bytes) | About 30% lower | Baseline | Zigbee |
| Multi-hop latency | Non-linear, with loss | Roughly linear | Thread |
| Fragmentation threshold | About 79 bytes | About 95 / 89 bytes | Thread |
| Peak throughput, one hop | About 75 kbps | Lower on one hop | Zigbee |
| Throughput over several hops | Drops fast, needs tuning | Substantially higher, TCP stable | Thread |
| Recovery after relay failure | 0.36 s | 23.97 s | Zigbee |
What the study does not tell you
The methodology is careful and the data are useful, but four limits matter before you rip out a Zigbee network.
- The Zigbee coordinator is the weakest link on the bench. The CC2531 with Z-Stack 1.2 is the oldest stick you can still find. Home Assistant's ZHA documentation lists it as supported but not recommended, because it relies on deprecated hardware and end-of-life firmware, and warns that it will not work properly beyond 15 to 20 devices. The Thread side, by contrast, used a much newer Silicon Labs EFR32MG21 radio. Part of Zigbee's collapse at five and six hops may reflect the coordinator rather than the protocol. The paper cannot tell us how much.
- Six nodes is a small home. Many Home Assistant installs run dozens of Zigbee devices. The authors themselves list larger networks as future work.
- No interference, no batteries. There was no Wi-Fi coexistence test and no energy measurement, two things that decide real-world comfort for battery sensors.
- The chain was forced. MAC filtering imposed the hop count. In a typical apartment, mains-powered routers keep most devices within one to three hops.
Our reading: the clearest, least hardware-dependent finding is the recovery gap. It comes straight from how Thread's routing is designed, and the simulator reproduced it. If a Thread smart plug that relays traffic is unplugged, devices behind it can stay unreachable for around 20 to 30 seconds.
Home Assistant: what we would do with these numbers
Neither protocol wins everywhere, and that matches what we see at home. Our practical rules:
- If you run Zigbee on a CC2531, replace the stick first. That is the cheapest upgrade on this page. The official Home Assistant Connect ZBT-2 is listed at $49 before tax in the US and ships from the US and Canada; you dedicate it to either Zigbee or Thread.
- A compact home with a working Zigbee mesh does not need a migration. Keep hop counts low with a few mains-powered routers, such as plugs or bulbs that stay powered.
- For a large house, an outbuilding or a growing mix of brands, lean Thread. Plan at least two border routers. Home Assistant's Thread documentation notes that Thread, unlike Zigbee's single coordinator, can use several border routers in one network to remove a single point of failure.
- Running both is normal. Budget two radios, one per protocol. Our guide to 2026 Matter hubs lists hardware that can act as a Thread border router, and our Homey Pro 2026 review covers a hub that speaks both.
- Do not power off Thread routers casually. Given the ~24 s recovery, keep relaying devices on circuits you do not switch off.
The controller in this study was a Raspberry Pi 4; if you are starting from scratch, our Raspberry Pi 5 kit review shows what a beginner Home Assistant box looks like today. For everything that changed in Home Assistant this autumn, from Matter fixes to the HACS Marketplace, see our Home Assistant 2026 guide.
Why this is relevant this autumn
The two camps are drawing closer in hardware. The ESP32-C6 boards used in the study speak both protocols, and on October 15 Arduino announced that its Nano Matter board now speaks Zigbee. The board, built on a Silicon Labs MGM240S module, already handled Matter over Thread and Bluetooth LE. With the Arduino core for Silicon Labs 5.0, you pick Zigbee under Tools › Protocol stack, and 14 examples cover 11 device types, from lights and plugs to temperature, humidity, light and contact sensors. Arduino shows Home Assistant's ZHA picking the board up like any other Zigbee device. For DIY builders, that makes it easy to reproduce a small version of this test bench yourself. Presence sensors are another area where Thread is gaining ground; our mmWave presence sensor guide explains the Thread side of that category.
FAQ
Is Zigbee obsolete now that Matter over Thread exists?
No. In this study Zigbee was faster on a single hop and far quicker to heal after a node failure. Its weaknesses showed up in long chains and growing traffic, on an old coordinator.
Why does Thread take so long to recover from a dead router?
Thread uses proactive routing: routers exchange periodic advertisements and only drop a neighbour after several are missed. That keeps routing stable but means about 24 seconds of outage in the researchers' test.
Can one USB stick run Zigbee and Thread together in Home Assistant?
The Home Assistant Connect ZBT-2 is designed to be dedicated to one protocol. To run both networks, plan one radio per protocol.
Does the study measure battery life?
No. Energy consumption and radio interference are listed by the authors as future work.
Should I move my Zigbee devices to Thread?
Only if your network is large, deep or unreliable after upgrading the coordinator. For a compact home, a modern coordinator and a few mains-powered routers are the better first step.