Universal Silicon Labs Flasher
Automatically communicates with radios over CPC, EZSP, or Spinel to enter the bootloader and then flashes a firmware image with XMODEM.
Installation
$ pip install universal-silabs-flasher
Usage
usage: universal-silabs-flasher [-h] [-v] [--device DEVICE] [--probe-methods PROBE_METHODS]
[--bootloader-reset BOOTLOADER_RESET]
{dump-gbl-metadata,probe,write-ieee,flash} ...
positional arguments:
{dump-gbl-metadata,probe,write-ieee,flash}
options:
-h, --help show this help message and exit
-v, --verbose
--device DEVICE
--probe-methods PROBE_METHODS
Comma-separated list of application type and baudrate pairs to use when probing the device.
Each pair should be in the format '<application_type>:<baudrate>'. Valid application types:
bootloader, cpc, ezsp, spinel, router. Example: 'ezsp:115200,ezsp:460800,spinel:460800'
--bootloader-reset BOOTLOADER_RESET
Reset methods to attempt when triggering bootloader mode. Multiple methods can be chained by
separating them with a comma. Valid values: yellow, ihost, slzb07, rts_dtr, baudrate
For flash, you can also pass --profile to use a predefined device profile.
--profile cannot be combined with --probe-methods or --bootloader-reset.
Flashing firmware
For safety, firmware GBL image files are validated and their checksums verified both before sending, and by the device bootloader itself.
Yellow
The Yellow's bootloader can always be activated with the --bootloader-reset yellow option:
$ universal-silabs-flasher \
--device /dev/ttyAMA1 \
--bootloader-reset yellow \
flash \
--firmware NabuCasa_RCP_v4.1.3_rcp-uart-hw-802154_230400.gbl
SkyConnect
The SkyConnect will be rebooted into its bootloader from the running application: either EmberZNet or CPC.
$ universal-silabs-flasher \
--device /dev/cu.SLAB_USBtoUART \
flash \
--firmware NabuCasa_SkyConnect_EZSP_v7.1.3.0_ncp-uart-hw_115200.gbl
Home Assistant Connect ZBT-2
The Home Assistant Connect ZBT-2 can use the built-in zbt2 profile:
$ universal-silabs-flasher \
--device /dev/ttyACM0 \
flash \
--profile zbt2 \
--firmware zbt2_openthread_rcp_2.4.4.0_GitHub-7074a43e4_gsdk_4.4.4.gbl
Sonoff ZBDongle-E
The Sonoff dongles use the RTS/DTR bootloader reset method:
$ universal-silabs-flasher \
--device /dev/ttyUSB0 \
--bootloader-reset rts_dtr \
flash \
--firmware ncp-uart-hw-v7.4.5.0-zbdonglee-115200.gbl
Writing IEEE address
Ensure a target device running EmberZNet firmware has the correct node IEEE address:
$ universal-silabs-flasher \
--device /dev/cu.SLAB_USBtoUART \
write-ieee \
--ieee 00:3c:84:ff:fe:92:bb:2c
The IEEE address can also be specified without colons: --ieee 003c84fffe92bb2c.
If the current device's IEEE address already matches the provided one, the command will not write it unnecessarily.
Depending on firmware version, writing the IEEE address can be a permanent operation. If this is the case,
you will need to upgrade the firmware on your adapter to a more recent release of EmberZNet or perform the one-time
write with --force.
Metadata
Release files for universal-silabs-flasher 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| universal_silabs_flasher-1.2.0.tar.gz | 53.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| universal_silabs_flasher-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 98.3 kB
Release files / universal_silabs_flasher-1.2.0.tar.gz
| Download URL | universal_silabs_flasher-1.2.0.tar.gz |
|---|---|
| Size | 53.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
492f478a2de1e93410f155c983a31af86f30c6fd33c0dedfa6463f68fdd8ef92
|
|
BLAKE2b-256 checksum How to use checksums |
f0706878766ef5f1523000628d74370f31ae890ff1ea6e9e641029c684499fed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / universal_silabs_flasher-1.2.0-py3-none-any.whl
| Download URL | universal_silabs_flasher-1.2.0-py3-none-any.whl |
|---|---|
| Size | 45.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
989665e1eab13499a64866fcb5369eb392adf6cc126ce2c174619769009aebef
|
|
BLAKE2b-256 checksum How to use checksums |
24da0b81a3a06941f86dcc0f7807b0f52da397a4658835fe239986e24301d3dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|