Skip to main content

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, --port is now -d, --device for input /dev/ttyUSB0 or socket://host:port
  • New --host to specify network host, as alternative to -d socket://host:port, however if specified with USB -d /dev/ttyUSB0, will attempt network BSL only.
  • -p, --port now specifies network port (default 6638)
  • New --m33 option, required for CC2654P10 chips (i.e SLZB-0xP10)
  • New -bootloader-reset <mode> to specify BSL mode
  • --read now 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_ENABLE to 0xC5
  • Make sure the BANK_ERASE command is enabled: The BANK_ERASE_DIS_N bit in the ERASE_CONF register in CCFG must be set. BANK_ERASE is 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)

Source distribution for smlight-cc-flasher 0.1.7
File Size Uploaded
smlight_cc_flasher-0.1.7.tar.gz 95.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smlight-cc-flasher 0.1.7
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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