Skip to main content

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.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for universal-silabs-flasher 1.3.0
File Size Uploaded Provenance Actions
universal_silabs_flasher-1.3.0.tar.gz 54.0 kB Without provenance Details for universal_silabs_flasher-1.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for universal-silabs-flasher 1.3.0
File Interpreter ABI Platform Actions
universal_silabs_flasher-1.3.0-py3-none-any.whl Python 3 none any Details for universal_silabs_flasher-1.3.0-py3-none-any.whl

Total release size: 99.4 kB

Release files / universal_silabs_flasher-1.3.0.tar.gz

Download URL universal_silabs_flasher-1.3.0.tar.gz
Size 54.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3153ce3096829fe231b73045ac834830d20a64fbf406609ecbac384f88281515
BLAKE2b-256 checksum
How to use checksums
be27a2b7c2e6fcef5c74211f85a3b4bfa85f0686e478888038128965730c3737
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / universal_silabs_flasher-1.3.0-py3-none-any.whl

Download URL universal_silabs_flasher-1.3.0-py3-none-any.whl
Size 45.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a7c0810f40ac74c45ed65cea52cb58825c7fd55f7830a75142195a518d3c3062
BLAKE2b-256 checksum
How to use checksums
46c378e9d4666967caf8060a0fb5b0541dc8b0fae2dd7ce6708830385c470db9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for universal-silabs-flasher 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page