https://github.com/felias-fogg/pyavrocd
A cross-platform GDB server for AVR MCUs
https://github.com/felias-fogg/pyavrocd
arduino arduino-ide-2 atmel-ice avr debugging debugwire edbg gdb gdbserver jtag jtagice3 medbg mplab-snap nedbg pickit4 platformio power-debugger python3
Last synced: 3 months ago
JSON representation
A cross-platform GDB server for AVR MCUs
- Host: GitHub
- URL: https://github.com/felias-fogg/pyavrocd
- Owner: felias-fogg
- License: mit
- Created: 2025-07-03T20:39:02.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-03-02T23:34:01.000Z (3 months ago)
- Last Synced: 2026-03-03T02:04:07.050Z (3 months ago)
- Topics: arduino, arduino-ide-2, atmel-ice, avr, debugging, debugwire, edbg, gdb, gdbserver, jtag, jtagice3, medbg, mplab-snap, nedbg, pickit4, platformio, power-debugger, python3
- Language: Python
- Homepage: https://pyavrocd.io
- Size: 85.6 MB
- Stars: 10
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Support: docs/supported-boards.md
Awesome Lists containing this project
README
# PyAvrOCD
[](https://opensource.org/licenses/MIT)
[](https://pypi.org/project/pyavrocd/)
[](https://pypi.org/project/pyavrocd/)
[](https://mypy-lang.org/)



[](https://github.com/felias-fogg/PyAvrOCD/actions/workflows/release.yml)
[](https://github.com/felias-fogg/PyAvrOCD/issues?q=is%3Aissue%20state%3Aopen)
[](https://github.com/felias-fogg/PyAvrOCD/issues?q=is%3Aissue%20state%3Aclosed)
[](https://github.com/felias-fogg/PyAvrOCD/commits/main)
[](https://pepy.tech/projects/pyavrocd)


PyAvrOCD is a GDB server for 8-bit AVR MCUs (see [list of supported MCUs](https://felias-fogg.github.io/PyAvrOCD/supported-mcus/) and [supported boards](https://felias-fogg.github.io/PyAvrOCD/supported-boards/)), enabling you to debug programs running on these MCUs using the [GNU Project Debugger GDB](https://www.sourceware.org/gdb/). PyAvrOCD communicates with Microchip's debug probes, such as the very affordable [MPLAB Snap](https://www.microchip.com/en-us/development-tool/pg164100), and it provides a pass-through service for the UNO-based debug probe [dw-link](https://github.com/felias-fogg/dw-link) and the simulation tool [simavr](https://github.com/buserror/simavr) (see [list of supported debug probes](https://felias-fogg.github.io/PyAvrOCD/supported-debuggers/)).
So, why another open-source GDB server for AVR MCUs? The main intention is to provide a *cross-platform* AVR GDB server. In other words, it is *the missing AVR debugging solution* for the [Arduino IDE 2](https://www.arduino.cc/en/software/) and [PlatformIO](https://platformio.org). In particular, the integration with Arduino IDE 2 is pretty tight, allowing one to start debugging without much hassle (see [quickstart guides](quick_arduino.md)). Additionally, PyAvrOCD excels in [minimizing flash wear](https://arduino-craft-corner.de/index.php/2025/05/05/stop-and-go/) and [protects single-stepping against interrupts](https://arduino-craft-corner.de/index.php/2025/03/19/interrupted-and-very-long-single-steps/).
## What has been done so far, and what to expect in the future
[PyAvrOCD v1.0.0 has been released](https://arduino-craft-corner.de/index.php/2026/02/10/pyavrocd-1-0-0-released/). If you would like to give it a try, you are welcome to [install](INSTALL.md) it. Any feedback, be it bug reports, crazy ideas, or praise, is welcome.
UPDI MCUs will follow next. I am unsure about Xmegas. One main point missing is an Arduino core for the MegaXU4 chips, similar to MCUdude's MiniCore.
