skillfed

universal-silabs-flasher

Tool to flash firmware onto any Silicon Labs radio running EmberZNet, CPC multi-PAN, or just a bare Gecko Bootloader

universal-silabs-flasher v1.1.0 83.3K downloads/30d#14,084 on PyPI174
Copyleft license GPL-3.0 Active released

What it is and what it does

Universal Silicon Labs Flasher is a command-line tool that automates firmware updates for Silicon Labs radios (EmberZNet, CPC multi-PAN, or bare Gecko Bootloader). It handles the entire process: detecting the device, entering bootloader mode via one of several reset methods, and transferring a GBL firmware image over XMODEM with built-in validation and checksum verification both before and after transfer.

The tool is designed for hardware integrators and developers working with Silicon Labs radio modules in IoT and mesh networking contexts. It supports multiple device types (Yellow, SkyConnect, Home Assistant Connect ZBT-2, Sonoff ZBDongle-E) through both explicit bootloader reset configuration and predefined device profiles. It can also write or verify IEEE addresses on devices running EmberZNet firmware.

Use it for:

  • Update firmware on Silicon Labs radio adapters used in Home Assistant or other IoT hubs without manual bootloader entry.
  • Flash custom or vendor-specific EmberZNet, CPC, or Spinel firmware images onto development boards during prototyping.
  • Automate firmware deployment across multiple identical radio devices in production or lab environments.
  • Recover or reprogram IEEE addresses on EmberZNet devices as part of device provisioning workflows.
  • Probe connected radios to identify their current application type and bootloader capabilities before flashing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Flashes firmware onto Silicon Labs radios (EmberZNet, CPC, Spinel) by automatically entering bootloader mode and transferring images via XMODEM, with built-in GBL validation and checksum verification.

Yes, if you work with Silicon Labs radios and need reliable, validated firmware flashing. Low install friction, active maintenance, no known vulnerabilities, and a focused scope make it a solid choice for the specific task. GPL-3.0 copyleft is a consideration only if you plan to redistribute modified versions commercially. The 116-day recency and 174 GitHub stars suggest active use in the Home Assistant ecosystem.

Install

universal-silabs-flasher on PyPI

pip

pip install universal-silabs-flasher

uv

uv add universal-silabs-flasher

poetry

poetry add universal-silabs-flasher

Installing universal-silabs-flasher

Before you install

Low friction: pure Python wheel with no compiled dependencies. Active maintenance (last commit 2026-04-20), modest but steady adoption (83277 monthly downloads, top 15000 tier). Requires Python 3.11+.

License in practice

GPL-3.0 copyleft license: any derivative work or distribution must also be open-source under GPL-3.0. Suitable for internal tools and open-source projects; review required before commercial redistribution.

Quickstart

pip install universal-silabs-flasher

universal-silabs-flasher --device /dev/ttyUSB0 flash --firmware image.gbl

Requires Python 3.11 or later; device must be connected via serial port and support one of the bootloader reset methods (yellow, ihost, slzb07, rts_dtr, baudrate) or a predefined profile.

Verify before relying

  • Whether gpiod is always required at runtime or only for specific reset methods (e.g., GPIO-based resets).
  • Compatibility matrix across Silicon Labs radio models and firmware versions.
  • Whether IEEE address writes are reversible or truly permanent on all firmware versions.

Package facts

License GPL-3.0 (copyleft)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 8 — aiohttp, tqdm, zigpy, crc, bellows, gpiod, coloredlogs, typing_extensions
Maintenance actively maintained — 116 days since the last release
Last repo commit
First released
Downloads 83,277/month — #14,084 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: universal_silabs_flasher-1.1.0-py3-none-any.whl

Tags

silicon labs firmware flasheremberzen radio flashinggecko bootloader toolxmodem firmware uploadcpc ezsp spinel flashradio firmware programmersilabs device firmware
firmware-flashingiot-hardwareradio-programming

More Utilities packages