PyAvrOCD
PyAvrOCD is a GDB server for 8-bit AVR MCUs (see list of supported MCUs and supported boards), communicating with Microchip's EDBG-based debug probes, e.g., MPLAB Snap. So, is it simply another open-source GDB server for AVR MCUs? No! It is a cross-platform AVR GDB server. This means that it was easily possible to integrate it into Arduino IDE 2 and PlatformIO board packages, bringing AVR debugging to these IDEs. Additionally, PyAvrOCD excels in minimizing flash wear and protects single-stepping against interrupts.
Interested in giving PyAvrOCD a try? You are welcome to install it. Want to learn more about it? Read the docs. Any feedback, be it bug reports, crazy ideas, or praise, is welcome.
What has been done so far, and what to expect in the future
Meanwhile, PyAvrOCD covers all debugWIRE, JTAG (Megas), and UPDI MCUs. I am unsure whether it makes sense to extend its coverage to Xmegas.
I made some leeway into integrating PyAvrOCD more tightly with PlatformIO and with the Arduino Maker Workshop VSCode extension. There is the idea of basing everything on more recent versions of the GCC toolchain because it will probably solve a number of problems on the debugging front. My attempt at using the GCC 15.1 toolchain was abruptly stopped when I discovered that the compiler produces buggy debug information concerning local variables, whereas the old compiler works without a flaw at that point. I guess more research and/or debugging is necessary before GCC 15.1 is a viable solution.
Finally, I am committed to fixing some of the more obvious bugs in the AVR part of the GDB debugger.
Metadata
Release files for pyavrocd 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyavrocd-1.7.0.tar.gz | 9.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyavrocd-1.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.6 MB
Release files / pyavrocd-1.7.0.tar.gz
| Download URL | pyavrocd-1.7.0.tar.gz |
|---|---|
| Size | 9.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4914fb5bedfad5a67b3f5f9867b4538fd4c9e2fa92ac699b08504f181f088d0e
|
|
BLAKE2b-256 checksum How to use checksums |
c516f02d5b528f851df7b6af71325f5844fc3f940b89e61aa59bc55cf65cfba6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 12, 2026.
Transparency logRelease files / pyavrocd-1.7.0-py3-none-any.whl
| Download URL | pyavrocd-1.7.0-py3-none-any.whl |
|---|---|
| Size | 10.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e409f0072658a0aecf24e1ab726544ea8841003d71713516e324c9428c732dd0
|
|
BLAKE2b-256 checksum How to use checksums |
8ff2ba18281549c79f170208ec251b4f449021ec0165d9a696a2962120f44e37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 12, 2026.
Transparency log