IKEA Matter over Thread connection dropping? An ESP32-C6 as the solution

Matter over Thread is presented as the future of home automation. Local, fast and no separate hubs per brand. With that in mind, I decided to test the new IKEA Matter devices, connected to Home Assistant via a Sonoff MG24 dongle.

The result was disappointing. After about 30 minutes, the sensors consistently went offline. After some technical research and a lot of trial and error, I found a solution that completely resolved the problem: an ESP32-C6 flashed with ESPHome over OpenThread.

The problem: Sleepy End Devices

Thread is a mesh network where devices pass signals to each other. In practice, there is a catch, especially with battery-powered devices like IKEA sensors.

Battery-powered devices are known in the Thread protocol as Sleepy End Devices. They wake up briefly to send data and then immediately go back to sleep to save power. If the distance to the coordinator – the Sonoff dongle – is just a little too large, or if there are minor signal interruptions, communication fails. After a few attempts, the sensor gives up. The result in Home Assistant: “Device unavailable”.

The solution: ESP32-C6 as a Router Node

To solve this, you need to strengthen the mesh network with devices that are always powered and never go to sleep.

Once the ESP32-C6 was added to the Thread network, the connection problems disappeared completely. The IKEA devices have not gone offline once since then.

How does this work technically?

In a healthy Thread network, not every device communicates directly with the central dongle. There is a clear hierarchy:

  • Leader (Sonoff MG24 dongle): manages the network and forms the bridge to Home Assistant.
  • Router Node (ESP32-C6): has a fixed power supply, never sleeps and actively forwards data.
  • End Device (IKEA sensor): now connects to the nearest Router Node instead of directly to the dongle.

The ESP32-C6 picks up the signal from the IKEA sensor directly and routes it to the dongle. The sensor needs much less effort to deliver its message and no longer ends up in a time-out.

One important tip: do not place the ESP32-C6 right next to the dongle. Position it centrally between your sensors and the dongle, at least a few metres away. This way it actually bridges the gap and strengthens the mesh where it is needed most.

An interesting detail: in my case, the ESP32-C6 even took on the role of Leader Router. The Sonoff MG24 dongle was thereby demoted to a regular Router. Thread automatically determines which device is best suited for this role, and chose the ESP32-C6. That says something about the quality of the chip.

Checking your own Thread network

Want to check if your Thread network is active? Go to Settings > Thread in Home Assistant. Here you can see the preferred network and which border routers are active. As long as at least one border router is visible, your network is operational.

Conclusion

An ESP32-C6 flashed with ESPHome over OpenThread is a simple and affordable way to stabilise an unstable Thread network. An ESP32-H2 is also suitable for this purpose. No expensive commercial hubs, no vendor lock-in. Just a reliable microcontroller that gets the job done.

The Gevako RS5 and RS6 both run on an ESP32-C6 and can therefore also function as a Router Node in your Thread network, in addition to their role as a smart relay.

We use cookies to provide you with the best experience on our website.