Supported debug probes
PyAvrOCD has been built to provide access to AVR OCDs by means of Microchip's debug probes. In addition, it also provides a pass-through service for the DIY debug probe dw-link.
Hardware debug probes
The following debug probes are supported by PyAvrOCD:
- MPLAB PICkit 4 In-Circuit Debugger (when in 'AVR mode')
- MPLAB Snap In-Circuit Debugger (when in 'AVR mode')
- Atmel-ICE
- Atmel Power Debugger
- JTAGICE3 (firmware version 3.0 or newer)
- EDBG - on-board debuggers on Xplained Pro/Ultra boards
- mEDBG - on-board debuggers on Xplained Mini/Nano boards
- nEDBG - on-board debuggers on Curiosity Nano boards (can also be used stand-alone to debug other UPDI targets)
- microUPDI - a debugger for UPDI targets based on the mEDBG firmware. It will not work on the Dx-/Ex-/Sx-series chips. And in order to debug on 0-series ATmegas, you need the most recent firmware 1.19.57, which you get from the microUPDIcore repo. Note that you can use the firmware on any ATmega32U4 development board without additional hardware if you do not need any level-shifting.
- dw-link - DIY debugger running on an Arduino UNO R3 (only debugWIRE)
Switching to AVR mode
Note that Snap and PICkit4 need to be switched to 'AVR mode'. This can be accomplished as follows by using avrdude (>= Version 7.3):
avrdude -c snap_isp -Pusb -xmode=avr
With PICkit4, it is similar:
avrdude -c pickit4_isp -Pusb -xmode=avr
In both cases, you can check whether you were successful by typing the same command again. If you get the message that the debugger is still in 'PIC' mode, the firmware of the debug probe is ancient, and you need to flash new firmware first using MPLAB X.
Downgrading more recent debug probes
If you do not own one of the above debug probes, but you own a PICkit5 or PICkit Basic, you can consider downgrading it to a PICkit4 or SNAP, respectively.