PyOCD PEMicro Debug Probe Plugin

raw JSON →
1.1.5 verified Mon Apr 27 auth: no python

A PyOCD debug probe plugin for PEMicro debug probes (e.g., Cyclone, Multilink). Currently at v1.1.5, released with pypemicro v0.1.10 compatibility. Low release cadence, mostly maintenance.

pip install pyocd-pemicro
error AttributeError: 'PyPemicro' object has no attribute '_device'
cause pypemicro v0.1.8 broke internal attribute naming, affecting __del__().
fix
Upgrade pyocd-pemicro to >=1.1.3 and pypemicro to >=0.1.9
error ModuleNotFoundError: No module named 'pyocd.probe.pemicro'
cause pyocd-pemicro not installed or not in the same Python environment.
fix
Run: pip install pyocd-pemicro
breaking pyocd-pemicro v1.0.4 added a dependency on pyocd, but v1.0.5 removed it to avoid circular dependency. If you upgrade from <1.0.5 to >=1.0.5, you may need to install pyocd separately.
fix Install pyocd explicitly if needed: pip install pyocd
deprecated pypemicro v0.1.8 introduced an AttributeError in __del__(), causing v1.1.2 to revert to v0.1.7. Use pypemicro >=0.1.9 or >=0.1.10 with pyocd-pemicro >=1.1.3.
fix Upgrade pyocd-pemicro to >=1.1.3, which requires pypemicro >=0.1.9
gotcha PEMicro library is not available on all architectures (e.g., Apple M1). pyocd-pemicro catches missing library exceptions and returns no probes silently.
fix Check that your system architecture is supported by the PEMicro backend. On M1, use Rosetta or a x86_64 Python environment.
gotcha pyocd-pemicro is a plugin and must be installed in the same environment as pyocd. If installed separately, pyocd may not detect it automatically.
fix Install both in the same environment; verify with: python -c "import pyocd.probe.pemicro"

Minimal example to discover and connect to a PEMicro probe via PyOCD.

import os
from pyocd.core.helpers import ConnectHelper
# Ensure PEMicro library is available (install pypemicro)
# List available probes
probes = ConnectHelper.get_all_connected_probes(blocking=False)
for probe in probes:
    print(probe.product_name)
# Connect to the first available PEMicro probe
if probes:
    session = ConnectHelper.session_with_chip(probe=probes[0], target='target_name')
    session.open()
    # ... debugging commands ...
    session.close()