I set up Home Assistant on a Raspberry Pi because I wanted one local, flexible controller for everything. I kept the Pi headless, on a wired network, and gave it a predictable IP. That made adding Zigbee, Thread and Matter devices less faff. This guide shows how I chose protocols, how I kept my existing IKEA Zigbee gear, and how I tested an Aqara M100 without breaking the rest of the setup.
Start with the Raspberry Pi. Use a Pi 4 with at least 4 GB and an SSD if you can. Flash Home Assistant OS to the SSD or SD card, plug it in, and wait for the install to finish. Give the Pi a static IP via your router or set a DHCP reservation. I connect the Pi by Ethernet for reliability; Wi-Fi is fine for testing, but expect hiccups with many devices. In Home Assistant, complete the initial walkthrough, enable SSH and set a long admin password. That gives you a stable base to add Zigbee and Matter integrations.
If you want to keep IKEA Zigbee devices, buy a proper Zigbee coordinator and plug it into the Pi. I use an external USB stick for Zigbee rather than relying on vendor hubs. Popular sticks include ConBee II or Sonoff Zigbee 3.0; both work with Home Assistant’s Zigbee integrations like ZHA or deCONZ. Pair one IKEA device first. Make sure the coordinator runs on its own USB port or via a powered hub to avoid power-related dropouts. Set the Zigbee radio channel away from heavy Wi-Fi channels, and place the coordinator near the device when pairing. Once paired, check Entities in Home Assistant to confirm sensors and switches appear. If the device is flaky, re-pair it and watch the logs in Home Assistant for timeouts.
Thread and Matter handle new devices differently. Thread is a low-power mesh that uses IPv6 and needs a border router to reach the rest of the network. Matter sits above Thread and other transports to provide a common control protocol. If you want Thread and Matter coverage, a small Thread border router or a Matter controller makes sense. Aqara’s M100 is a tiny, cheap Matter controller that also offers Thread border router features and acts as a bridge for some Aqara Zigbee devices. Aqara documents the M100 as a Matter-certified device and Thread border router, and Home Assistant has public notes about Aqara joining its compatibility programme, which helps with integration into HA Aqara M100 product page Home Assistant blog on Aqara compatibility.
Do not expect the M100 to replace a full Zigbee coordinator for mixed-brand Zigbee networks. In my tests and from community reports, the M100 exposes Aqara Zigbee devices to Matter, but forwarding arbitrary third-party Zigbee devices into Home Assistant via the M100 is limited or not supported. If you rely on many IKEA Tradfri devices, keep the dedicated Zigbee stick on the Pi. Use the M100 for Matter and Thread devices that benefit from local Thread mesh and for newer purchases where Matter is supported. That way you minimise extra hubs while keeping the Zigbee mesh intact.
Adding a device workflow that worked for me: pair the Zigbee device to the coordinator on the Pi and confirm it appears under the Zigbee integration. For Matter or Thread gadgets, add the M100 as a Matter controller in Home Assistant and check the Matter integration for the device. Make sure the M100 firmware is up to date in the Aqara app before pairing. After pairing, reboot Home Assistant or reload the integration to force a fresh discovery. If the device shows in Home Assistant but reports odd values, check radio interference and battery levels.
Troubleshooting is mostly placement and pairing. If Zigbee devices drop out after a few days, move the coordinator or add a powered Zigbee repeater like a smart plug. If Thread devices fail to join the network through the M100, check whether Home Assistant lists the M100 as a preferred Thread network; some forum threads report the M100 showing under “Other networks” until configured. If Matter devices appear but do not show all capabilities, remove and re-add them after updating firmware on both the hub and the device.
Make buying choices based on your current kit. If you have lots of working IKEA Zigbee gear, keep a Zigbee coordinator on the Pi. Buy Thread/Matter-capable devices for new rooms so they can join the newer stack. Consider an M100 or similar small hub if you want a cheap Thread border router and Matter controller, but test a single device first to confirm it works with your Home Assistant setup and your IKEA devices. If you need a single USB device to do both Zigbee and Thread with tight Home Assistant support, look at Home Assistant’s official hardware releases and community-recommended sticks, and compare notes in the Home Assistant community.
Concrete takeaways. Hold on to a Zigbee coordinator for legacy Zigbee devices. Use a small Matter/Thread controller like the M100 for new Matter purchases and local Thread mesh, but do not expect it to magically import all non-Aqara Zigbee devices into Home Assistant. Test one device before committing to a large purchase. Keep the Pi wired, keep firmware current, and check Home Assistant’s integrations page after each pairing to confirm the device exposes the controls and sensors you need.




