Step 1: Identify your model
Before starting any operation, it is most important to confirm the model of the device you are using.
ZBDongle-E and ZBDongle-P are built on different chips, their protocol and firmware are incompatible with each other. Confusing the two will directly lead to operation failure. To do this, you can directly check the model printed on the bottom of the metal shell.
The following content applies to ZBDongle-E model ONLY.

Step 2: Select the desired firmware type
·Coordinator
Factory pre-installed firmware type.
This firmware can be used with the smart home platform to enable your host to send and receive Zigbee signals, so that it can be used as a Zigbee gateway.
You can download the coordinator firmware provided by SONOFF at the following link:
Sonoff_Zigbee_Dongle_Firmware/Dongle-E/NCP at master · itead/Sonoff_Zigbee_Dongle_Firmware · GitHub
https://github.com/itead/Sonoff_Zigbee_Dongle_Firmware/tree/master/Dongle-E/NCP
For Zigbee2MQTT users, you may see the following reminder in the log:
warning: zh:ezsp: ‘ezsp’ driver is deprecated and will only remain to provide support for older firmware (pre 7.4.x). Migration to ’ember’ is recommended.
This message does not mean that there is a fault that needs to be handled. It just recommends that you change to a newer version of the coordinator firmware.
In fact, the first letter of EZSP stands for ember, and ember is the name of Zigbee2MQTT for EZSP versions above V8. If you accept the suggestion and want to update the firmware, you can also choose the latest version in the link above. NCP 7.4.3 corresponds to EZSP V13. After updating the firmware, you need to change the adapter parameter of Zigbee2MQTT to ember in time.
If you find the above operation cumbersome, you can also choose to keep the factory firmware and continue to use it. This reminder will not affect your daily use.
·Router
Firmware type is used to extend the signal range of a Zigbee network.
Devices running this firmware can no longer be used as gateways, but become sub-devices that can join other Zigbee networks. It should be noted that due to the limitations of the Zigbee protocol, routing devices can only provide communication relays for end devices on the same network. If you have multiple gateways and all need to extend the signal range, you need to pair at least one routing device for each gateway.
In addition, end devices have the freedom to choose the communication path, and some devices may prefer to communicate directly with the gateway, so we do not guarantee that all end devices will communicate with the device running this routing firmware.
You can download the router firmware provided by Sonoff at the following link:
Sonoff_Zigbee_Dongle_Firmware/Dongle-E/Router at master · itead/Sonoff_Zigbee_Dongle_Firmware · GitHub
https://github.com/itead/Sonoff_Zigbee_Dongle_Firmware/tree/master/Dongle-E/Router
When you need to manually pair a device running the router firmware, you can long press the Boot button until the green light starts flashing. Do not touch the Reset button or the device will restart.
·Thread Border Router
The type of firmware used to implement Thread signaling capabilities.
Unlike Matter over WiFi, which only requires a WiFi router, Matter over Thread requires an edge router device to enable a regular host to act as a hub for controlling devices.
You can find third-party Thread firmware with file names starting with ot-rcp in the following links:
silabs-firmware-builder/firmware_builds/zbdonglee at main · darkxst/silabs-firmware-builder · GitHub
https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds/zbdonglee
Step 3: Install the serial driver
The coordinator chip relies on a USB-to-serial chip to communicate with the host, so you need to install the driver for the serial chip.
Depending on the batch you purchased, the device you have may have two serial port chips, CH9102 or CP2102.
The drivers used by these two chips are incompatible, so you need to confirm the batch the device belongs to first.
Turn the device to the back with text printed on it, and you can see the 10-digit serial number. If the first 5 digits are greater than 30623, you should install the CP2102 driver, otherwise install the CH9102 driver.
Linux: No special driver installation is required unless your kernel version is very old.
Step 4: Remove the metal shell
The indicator LEDs and buttons of the ZBDongle are wrapped inside the metal shell. In order to access the buttons, you need to remove the shell before connecting it to the host.
On the external antenna side of the metal case, you can see two screws. Unscrew the antenna first and then remove the two screws, then you can pull the PCB out of the metal case. Connect the ZBDongle to the host in this form, the next step is to prepare the software.
NOTE: Removing the shell does not void the warranty.
Step 5: Download Xmodem transfer tool
In order to transfer the firmware to the ZBDongle, you need serial communication software with Xmodem function. In this tutorial, we will introduce the Windows usage process of CoolTerm.
NOTE: Only versions above 2.3.0 of CoolTerm support Xmodem protocol.
You can download the appropriate version according to your operating system from the following link:
Roger Meier’s Freeware
Step 6: Bootloader entry and firmware transfer
CoolTerm does not need to be installed. You can see the following window by running CoolTerm.exe:

You’ll need to click the Options menu and change a few items to the correct values before you can start the connection.

Change the baud rate to 115200.

Disable all flow control features.

Adjust the terminal interface mode.

After saving the above changes, you can click the connect button.
Press and hold the Boot button on the PCB and then press Reset and release them at the same time.

If the operation is successful, you can see the Bootloader menu as shown below.
If you cannot see the menu, you can try the above button operation again or check whether the parameters such as baud rate are correct.

ZBDongle will accept firmware file transfer only when in Bootloader state.
To start file reception immediately, press 1 (and hit Enter).

After entering the waiting state, the menu will continuously output the letter C to show the time window waiting for the file to be sent.
You need to select the firmware file to be written before the letter C fills up a row, otherwise ZBDongle will return to the Bootloader main menu.




After seeing the notification that the transfer is complete, congratulations, you have completed all the operations!
Enter 2 to start the firmware and see if it works!