Skip to content
Espen Hovland edited this page Jul 6, 2026 · 4 revisions

PyCommander Wiki

PyCommander wraps Simplicity Commander into a pip-installable Python package. It gives you both a drop-in pycommander command-line tool and a native Python API for driving Simplicity Commander from your automation scripts and production-test rigs.

PyCommander can talk to Silicon Labs adapters — the Wireless Starter Kit (WSTK), Wireless Pro Kit (WPK) and the Simplicity Link Debugger — as well as generic J-Link adapters and probes. Silicon Labs adapters unlock extra conveniences (VCOM configuration, supply-voltage control, Advanced Energy Monitor, and more).

pip install silabs-pycommander
from pycommander import Adapter

adapter = Adapter(serial_number="440055955", target_device="EFR32MG24")
adapter.target.flashApplication(filenames=[Path("firmware.hex")])

Where to start

If you want to… Read
Install PyCommander and pick a flavor Installation
Run your first command or script Getting-Started
Understand how the packages fit together Architecture-and-Packages
Use the pycommander terminal command Command-Line-Interface
Drive Commander from Python Python-API-Overview
Look up a specific Commander command Command-Reference
Stream energy measurements AEM-and-Energy-Measurement
Contribute or build from source Contributing-and-Development

The Python API at a glance

PyCommander exposes four primary classes. They build on top of each other, from a thin CLI mirror up to task-oriented helpers:

  • Commander — a low-level, 1:1 mirror of the Simplicity Commander CLI. Each CLI command suite is a sub-object (commander.flash, commander.device, …) and every method returns the command output as a dict.
  • Adapter — a high-level interface for Silicon Labs adapters (kits/debuggers): adapter info, firmware upgrade, supply voltage, VCOM, and energy analysis.
  • Target — a high-level interface for the target device (the MCU/SoC): flashing, erasing, CTUNE, security, key provisioning, region configuration, and more.
  • AemStream — a Pythonic, unbounded stream of Advanced Energy Monitor measurements.

Returned data is exposed through typed dataclasses in Data-Types.


Project facts

  • Python: 3.10 or newer
  • Platforms: macOS (arm64), Windows (x86), Linux (x86_64 / aarch64 / aarch32)
  • External requirement: SEGGER J-Link drivers (used by Simplicity Commander to talk to the adapter)
  • Source: SiliconLabsSoftware/pycommander
  • License: Silicon Labs Master Software License Agreement (MSLA)

This wiki was generated from the in-source documentation, docstrings, and READMEs of the PyCommander repository. When in doubt, the official Simplicity Commander documentation is the authoritative reference for command semantics — PyCommander deliberately mirrors its command names and options.

Clone this wiki locally