SMLIGHT CC Flasher
Firmware flasher for Texas Instruments CC13xx / CC26xx Zigbee SoCs.
Installation
$ pip install smlight-cc-flasher
Usage
While this flasher was based on cc2538-bsl, some CLI options have changed:
-p, --portis now-d, --devicefor input/dev/ttyUSB0orsocket://host:port- New
--hostto specify network host, as alternative to-d socket://host:port, however if specified with USB-d /dev/ttyUSB0, will attempt network BSL only. -p, --portnow specifies network port (default 6638)- New
--m33option, required for CC2654P10 chips (i.e SLZB-0xP10) - New
-bootloader-reset <mode>to specify BSL mode --readnow outputs to dedicated file specified with--output <file>- Some other options removed.
See smlight-cc-flasher --help for more details.
Flashing Firmware Examples
USB (on Linux/Mac will attempt to autodetect device if not specified):
$ smlight-cc-flasher -ewv \
[-d /dev/ttyUSB0] znp_LP_CC1352P7.hex
SLZB-06x over network:
$ smlight-cc-flasher -ewv \
--host slzb-06.local [--port 6638] \
znp_LP_CC1352P7.hex
or
$ smlight-cc-flasher -ewv \
--device socket://10.42.0.2:6638 \
znp_LP_CC1352P7.hex
SLZB-06P10 USB flash with network bootloader (currently SLZB authentication is not supported):
$ smlight-cc-flasher -ewv \
--device /dev/ttyUSB0 --host slzb-06.local --m33 \
znp_LP_CC1352P7.hex
Other notes
Bootloader settings from the new firmware are displayed before flashing. If the new firmware disables bootloader you are required to provide the --force flag to proceed with flashing.
For all the CC13xx and CC26xx families, the ROM bootloader is configured through the BL_CONFIG 'register' in CCFG. BOOTLOADER_ENABLE should be set to 0xC5 to enable the bootloader in the first place.
This is enough if the chip has not been programmed with a valid image. If a valid image is present, then the remaining fields of BL_CONFIG and the ERASE_CONF register must also be configured correctly:
- Select a DIO by setting
BL_PIN_NUMBER - Select an active level (low/high) for the DIO by setting
BL_LEVEL - Enable 'failure analysis' by setting
BL_ENABLEto0xC5 - Make sure the
BANK_ERASEcommand is enabled: TheBANK_ERASE_DIS_Nbit in theERASE_CONFregister in CCFG must be set.BANK_ERASEis enabled by default.
Authors
Tim Lunn (c) 2024, tl@smlight.tech
Based on cc2358-bsl by:
Jelmer Tiete (c) 2014, jelmer@tiete.be
Loosely based on stm32loader by Ivan A-R ivan@tuxotronic.org
Metadata
Release files for smlight-cc-flasher 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| smlight_cc_flasher-0.1.7.tar.gz | 95.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smlight_cc_flasher-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 123.8 kB
Release files / smlight_cc_flasher-0.1.7.tar.gz
| Download URL | smlight_cc_flasher-0.1.7.tar.gz |
|---|---|
| Size | 95.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a3a9e52593c080f71afbfa1e1d51b121e9639143ec7b2de030eafe4add7748e6
|
|
BLAKE2b-256 checksum How to use checksums |
97915e0d9ef7d880487891ec2b4e736fded5b742dd466ae030f9414c3feef1dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.
Transparency logRelease files / smlight_cc_flasher-0.1.7-py3-none-any.whl
| Download URL | smlight_cc_flasher-0.1.7-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d32955d0aafd8a921f95ab5287956dc3692c3288733c22bb4bdd46a3145c3d82
|
|
BLAKE2b-256 checksum How to use checksums |
1016d8da076e8b85d8f031b6ea50bb82b6cb92d98747a7aabecb15d172cbbd42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.
Transparency log