# Flash Tasmota firmware on the WiFi version of the Sonoff Zigbee Bridge Pro

This is a tutorial on how to flash Tasmota firmware on the WiFi version of the **Sonoff Zigbee Bridge Pro.**

Use this tutorial at your own risk. It's not my fault if you brick your device.

**Notable Identifiers on the board**  
SN-NG-ZBP-01  
WW220300  
ZB Bridge-P

Front of board. A 5 pin header has been soldered on.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705418710849/0c4bf1ff-259e-4a80-8e78-33e1af0a1a26.jpeg align="center")

Back of board. I did some probing on the other pads just for fun, so ignore their ugliness.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705418716991/2e67dbe0-ee98-4c18-b059-233cd43d90a8.jpeg align="center")

**Note**: The USB port on the bridge will no longer work for data after this flash.

Hold down the button on the Arduino, plug it in, then release the button to wipe the Arduino. Unplug it before connecting it to the bridge, of course.

| Arduino Nano | ZPro |
| --- | --- |
| 3.3V | 3.3V |
| RX | RX |
| TX | TX |
| GND | GND |
| GND | GPIO00 |

Add a udev rule to allow user access to the port. Or run everything with sudo if you're feeling frisky.

`sudo /etc/udev/rules.d/01-ttyusb.rules`

```plaintext
SUBSYSTEMS=="usb-serial", TAG+="uaccess"
```

Reboot or reload udev rules

`sudo udevadm control --reload`

`sudo udevadm trigger`

Connect the nano via USB. Make sure the mini-USB cable you use is capable of data transfer. Try the example blink sketch to make sure.

use `dmesg` to make sure the OS sees and attaches the Arduino

`sudo dmesg -w`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705191746081/e2c73f1e-6a74-447c-9387-b49b6c22a790.png align="center")

Note the attached port `ttyUSB0`. You'll need that in the next step.

Go to the [Tasmota Web Flash Tool](https://tasmota.github.io/install/). I used Chrome. Select this firmware.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705190491339/d5d99f11-ec5d-4539-b4cd-3d9307249b9c.png align="center")

Click connect, and choose the USB device you saw in dmesg.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705191913821/50ef64bb-b2e4-4b86-b66c-c68d255796d2.png align="center")

If the Arduino is properly connected, it will start the flash.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705190571164/964dfc59-c9af-4629-b30c-e04e44adf318.png align="center")

Once it's done, close the page and disconnect everything.

Connect a micro-USB to the bridge, wait for the lights to flash, and search for a WiFi access point.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705192392619/e6353337-6cc5-4c26-acd2-66b55b0ee0bc.jpeg align="center")

go to 192.168.4.1 in your browser. Choose your WiFi network and log in.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705192529619/c3bac11a-8f89-4e2d-adef-dc20906fd8c9.jpeg align="center")

After it connects, I'll give you the address assigned by your router.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705192554393/0687747f-08fa-49d7-920a-79048220ddcf.jpeg align="center")

Reconnect to your regular WiFi network. In the web interface go to "Configuration" &gt; "Auto-configuration" and select "Sonoff ZBPro TCP" and apply it. The config without "TCP" means the bridge will manage it's own zigbee connections. We'd rather HomeAssistant do that.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705195531945/24bd1ac1-a924-4aed-840d-9ffd3ff7c80f.png align="center")

After the reboot, go to "Consoles" &gt; "Console" and look for

`Starting TCP server on port 8888`

Now switch over to Home Assistant.

Go to integrations and click "Add Integration". Search for Zigbee.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705197082886/65ec48ac-c5e6-498e-9159-78493314e3bc.png align="center")

Make sure you use "Zigbee Home Automation" and not "Add a Zigbee Device"

Click Proceed

Select "Enter Manually" then Submit

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705193501499/5d450e46-5452-4803-8080-d4505227989d.png align="center")

Select Radio Type "ZNP".

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705197187996/bd653695-636c-4028-912e-d3fd003a00de.png align="center")

for Serial Port Settings, type in socket://10.10.10.153:8888 using whatever IP was assigned. Leave the Port speed, and select "software".

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705197219302/9b6bf110-4c55-4d0c-9e9d-ffa4b16a680a.png align="center")

Select "Create a network"

Now, after a few minutes, a "Success" modal will appear along with all unpaired Zigbee devices HA has found. Do not add anything other than "Zigbee Coordinator" at this time.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705197479193/c5319926-78b2-47d8-8aa0-635c36a042eb.png align="center")

In HA go to Settings &gt;Devices and services &gt; Zigbee Home Automation  
click "0 devices"

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1705419697385/8f29a364-351b-41c8-b1c5-3c5a7cfed20d.png align="center")

Then "ADD DEVICE" at the bottom right. Follow the prompts.

And we're done.
