How to: Flash SonOff USB Dongle to be a Zigbee Repeater/Router & Set Transmit Power

I wanted to flash a SonOff USB Zigbee dongle to use it as a repeater (SonOff refers to this as flashing it to be a "router") on HE. These things are great Zigbee repeaters! After flashing them just plug them into any USB power supply that provides at least 0.5A at 5V. Most phone chargers would work.


Flash from Pi/Linux

I got a lot of help from @aaiyar on this guide. I documented the process and added some helpful info about the dongle in an "easy-as-pie" PDF for others like me who need more than the usual level of support to figure things out. :wink:

Instructions and links for flashing the "P/Plus" version w/the router firmware are in the PDF below. Enjoy. And thanks again to @aaiyar.

How to Flash SonOff USB "P/Plus" Dongle to be a Zigbee Repeater/Router using Pi or Linux box

Remember, this guide is for the "P/Plus" version of the dongle, chip info from Amazon page on the P/Plus version:

Flash from Windows
If you prefer to flash from a Windows device, @jtmpush18 found and used this video guide to flash a P/Plus dongle successfully. Great option if you don't have a Pi or Linux device or prefer to use Windows.

E version of the dongle
There is also a newer "E" version using a different chip that is not covered in these guides (you'd use a similar process, but the required flashing software and FW file will be different):

See the next post in this topic for more info on the dongle and flashing.

Change History
12/11/2022 - Added info on a method to flash using Windows that @jtmpush18 provided. So now you can use Pi/Linux or Windows to flash your dongle. (Hey, not my fault that sounds funny... :wink: )
11/8/2022 - Confirmed that new dongle launchpad router FW 20221102 can be flashed using cc2538-bsl or uniflash 8.0.0 (not 8.1.0). More info in PDF.
11/2/2022 - New dongle launchpad router FW has been released, with ability to set transmit power. Default is still 9dbm (added in 20220125 FW). Updated PDF to the bin folder so that when new FW versions show up there will be a working link to the FW directory. Thanks to @jtmpush18 for notifying about the updated FW version. Changelog for the new FW includes " * Allow to set transmit power" so hopefully any issues will be resolved so we have easier access to transmit power setting.
10/25/2022 - Added link to second post to another discussion related to flashing the P and E dongles. That discussion also includes information about how to set the dongle transmit power. P evidently defaults to 5db, E defaults to 20db
10/18/2022 - Additional information on P vs. E version of the dongle, added more general information/links on the dongle to the second post.
10/17/2022 - Initial release


Some additional information on this device

SonOff USB Dongle P/Plus version router FW changelog.

Pairing with your hub after flashing - useful tips!
Important: In many cases pairing w/your hub after flashing can be difficult. Two effective options that have had reliable success are:

  1. Start Zigbee pairing on your hub and then press and hold the Reset button on the dongle while connecting it to power.
  2. Start Zigbee pairing on your hub and then start the flash of the dongle on your pi/computer. When the flashing ends the dongle automatically goes into pairing mode so it will be ready to join your hub and should be picked up.

Transmit Power
As of the 20220125 Sonofff dongle P/Plus router FW release the transmit power (normally 5dbm) is set to 9dbm. (Changelog here.) The more recent dev 20221102 release allows the transmit power to be customized, but we haven't worked out yet how to access that setting. Default power on 20221102 is still 9dbm.

HE forum post from about a year ago when the P/Plus version of the device was released:

Github that contains the different FW versions for the P/Plus version of the dongle:

Some discussion about potential thread compatibility for both the P and E versions of the dongle:

Another SonOff dongle flashing thread recently created with info on the "E" version. Includes Information from @NoWon on how to set the power level of the Sonoff USB Dongle:

Post on Setting Transmit Power


Former convicted flasher here. My wife blew the whistle on me when I replied to her "what are you doing", I said "flashing my dongle", she said "that's it, It's one thing to blow hundreds of dollars on your stupid electronic toys, but when you start being lewd...." I interrupted, babe it's not what you think.


If I flash these to be a repeater, is the firmware available to flash it back to being a coordinator?

Yes. Flash to your heart’s content.


I think you need to be more cautious about you how you use that phrase. :wink:


Thanks very much for the write up... I'm doing it now...
There is a new version of the lanunchpad_router hex file, the version that you quoted has been removed...

Thanks, glad you find it helpful.

Do you have a link for the newer version so I can update the PDF? it. Just updated today!

PDF is updated w/the new FW...I'm also going to add a link to the bin directory so after updates the link will still work.

1 Like

It’s already been 15 minutes! You don’t have your dongles updated yet? :rofl:

Shamefully going to update mine now :disappointed:

I'm not worthy, please sir, may I have another?! :wink:

1 Like

Interested if you have to re-pair after of mine was a real pain to join to the hub, not sure I want to go through that again.

Yes. The update ends with the dongle in pairing mode. Pair it back before disconnecting it and you should be good.

OK...guess I'll see if there is a changelog before I flash.

Changelog: @NoWon, you may be interested in the new transmit power option. Do you know how this release supports setting transmit power? I.e., what steps?


Also can anyone "translate" the updated SimpleLink SDK changelog - just high-level highlights of any obviously interesting additions or fixes?

SDK Changelog:

@danabw :slight_smile: another small issue:

(I have tried to install Intelhex and intelhex but I seem to still have an error... after doing "pip install intelhex)

(I got over this error by using: sudo pip install intelhex)

1 Like

I'm afraid that I'm in the crowd that can't get this device paired with Hubitat.
I've tried to switch channels (19,25, 15), and also to move the dongle and hub close together.
Does the following look like a complete flash:

It looks like the new firmware isn’t fully baked. I tried to install it and kept getting an error. I reinstalled the previous version uneventfully and paired it back to Hubitat. :disappointed:
So much for 20dbm output.

Can you please send me a copy of that firmware?
I can't find it anywhere online.


Well, I downloaded that version, but it doesn't seem to work either (ch 19, 24, 15)

Hubitat and Sonoff dongle are withing 6 inches of each other.
Unfortunately, it just doesn't want that dongle!

I had to hold the button while inserting it into the usb port, then release and immediately start pairing. They only stay in pairing mode for a few seconds it seems.

1 Like

Download the Hubitat app