Supported platforms

As the name suggests, PyAvrOCD is a Python package. As such, you can install it from PyPI using pip, or even better pipx. The main requirement is that your Python installation should have a version number between 3.10 and 3.14, inclusively. Since it is Python, the package is basically platform-agnostic. A critical dependence is the HIDAPI library and the Python interface to it, which is needed to communicate with the EDBG-based debuggers over USB. The HIDAPI library apparently works for Linux, FreeBSD, macOS, and Windows, and there are Python wheels (binaries) that can be used for all of these platforms.

The minimal requirements for binary packages as downloaded, e.g., by the Arduino IDE, are displayed in the following table.

Computing platform Minimal OS/GLIBC version
macOS, Intel 64-bit macOS 10.15
macOS, Apple Silicon 64-bit macOS 11.0
Linux Ubuntu, Intel 64-bit GLIBC 2.35 (Ubuntu 22.04, Debian 12)
Linux Ubuntu, ARM 64-bit GLIBC 2.35 (Ubuntu 22.04, Debian 12)
Linux Debian, Intel 32-bit GLIBC 2.36 (Debian 12)
Linux Debian, ARM 32-bit (armv6l) GLIBC 2.36 (Debian 12, Pi OS 5)
Windows, Intel 64-bit Windows 10
Windows, ARM 64-bit (emulated)1 Windows 11
Windows, Intel 32-bit Windows 10

  1. The libusb library does not work for programs executed on ARM CPUs when in emulation mode. For this reason, debugging probes using USB bulk transfer are not supported on ARM CPUs. It is planned to build native ARM binaries in the future as well, which will solve this problem. ↩