Reliable Remote Zigbee Coordinator: Leveraging OpenWRT for Extended Network Reach

In the realm of smart home automation, Zigbee networks are a staple for reliable device communication, but placing the coordinator hardware—like the SONOFF ZBDongle-P—can be challenging if it’s tied to your main server or PC. Building on our previous guide to transforming the Creality Box into a network bridge for 3D printers, this post explores how to leverage the same OpenWRT setup to create a serial-over-network connection for a Zigbee coordinator. I’ve personally tested this configuration with a SONOFF ZBDongle-P, and it performs flawlessly—no interruptions, disconnections, or stability issues—even when the dongle is physically distant from the host running Home Assistant or Zigbee2MQTT.

Referencing the Base Setup

If you haven’t already flashed OpenWRT onto your Creality Box, refer to our earlier post: Turn Your USB 3D Printer into a Wireless Setup with the Creality Box and OpenWRT. That guide covers the installation process in detail, following this very helpfull article Unboxing a Creality Wifi Box and how to install Octoprint on it! instructions. Once OpenWRT is up and running, and you’ve installed the ser2net package (via System > Software in the web interface), you’re ready to proceed.

The Creality Box’s dual USB host ports shine here: one can handle your 3D printer (as in the previous setup), while the other supports the Zigbee dongle or even a USB camera for real-time monitoring—something I’ve tested successfully.

Why This Setup for Zigbee?

The Creality Box, at just 20-25 euros, provides an economical way to extend your Zigbee network. By exposing the USB port over the network (via Ethernet or WiFi), you can relocate the coordinator to an optimal spot—away from interference or simply in a different room from your Raspberry Pi, PC, or NAS running Home Assistant. Traditional USB extensions or direct connections limit flexibility and can introduce reliability problems like signal degradation. In my tests with a PC-hosted Home Assistant instance, this network bridge eliminated those issues entirely, maintaining a stable Zigbee mesh for hours on end.

Configuring ser2net for the Zigbee Coordinator

With OpenWRT installed, focus on ser2net to tunnel the Zigbee dongle’s serial connection over TCP/IP. Access the Services > ser2net section in the OpenWRT interface.

In the settings section:

  • Global switch: Enabled.
  • Control port: Enabled, with Binding address the IP of your local network (e.g., 192.168.1.1) and random port to listen on.
  • Default settings: Baud rate 115200 (standard for 3D printers), Data bits 8, Parity None, Stop bits 1.

In the Proxies tab, create a new instance (or edit an existing one if you’re adding to a multi-device setup). Configure it as follows, tailored for the SONOFF ZBDongle-P or similar coordinators:

  • Enabled: Checked.
  • Service port: 5200 (or another unused TCP port; ensure it’s different if you have multiple proxies).
  • Protocol: Raw.
  • Timeout: 0 (for indefinite connections, preventing premature disconnections).
  • Device: /dev/ttyUSB0 (or /dev/ttyUSB1 for the second USB port; confirm via SSH with ls /dev/ttyUSB*).
  • Baud rate: 115200 (standard for many Zigbee dongles; verify your model’s specs).
  • Data bits: 8.
  • Parity: None.
  • Stop bits: 1.
  • Use RTS and CTS lines: Unchecked.
  • Ignore modem control signals: Unchecked.
  • Allow the RFC 2217 protocol: Unchecked.

Save and apply the changes. This setup turns the USB-connected dongle into a network-accessible serial device.

Integrating with Home Assistant or Zigbee2MQTT

On your host device (e.g., Raspberry Pi or PC running Home Assistant):

  • Install Zigbee2MQTT if not already present (via add-on in HA or standalone Docker container).
  • In the Zigbee2MQTT configuration config.yaml , set the serial port to a network port: tcp://<Creality_Box_IP>:5200 (replace with your Creality Box’s IP and chosen port).
  • Restart Zigbee2MQTT and pair your devices as usual.

I’ve run this with Home Assistant on a PC, placing the Creality Box (and dongle) in a separate room. The connection held steady through extended testing, with no lag or dropouts affecting the Zigbee network.

Benefits and Multi-Purpose Potential

This configuration unlocks true flexibility: Position your Zigbee coordinator optimally without cabling constraints, while repurposing the Creality Box for multiple roles. As mentioned, the second USB port can simultaneously bridge a 3D printer or a USB camera—I’ve verified both in practice, enabling remote monitoring alongside automation.

For under 25 euros, you gain a robust, tested solution that extends your smart home setup reliably. If you’re dealing with placement challenges in Home Assistant or similar systems, this is a straightforward upgrade worth implementing.

Questions or your own tweaks? Share in the comments!