Communication

Set the option(s) to use for your device and type of target communication.

Table 1. Communication Option Category
Interface Select the interface from the available options.
Speed (MHz) Enter a speed based on the available range for the interface.
High Voltage Activation Mode This option displays only for AVR devices with this option.

No High Voltage - Default setting.

Simple High Voltage Pulse - The tool will try to activate the interface by issuing a high voltage pulse. This procedure is safe if the pin is configured as an input.

User Power Toggle - In this mode the user will be prompted to toggle power on the target device. Once the tool detects that the power returns it will issue a high voltage pulse before the target device pin is configured, making the activation procedure as gentle as possible.

Programming AVR Devices with UPDI

MPLAB PICkit 4 supports using the high-voltage mechanism to activate the AVR® Unified Program and Debug Interface (UPDI). On low pin count AVR devices with UPDI, the UPDI pin can be configured as GPIO or RESET by configuring the RSTPINCFG configuration bits. To do further programming, the MPLAB PICkit 4 will have to use a high voltage pulse to reactivate the UPDI interface. When using the high voltage pulse, you must make sure that all circuits connected to the UPDI wire can tolerate a pulse of at least 12V.

GPIO vs. UPDI Operation:

When using a high voltage pulse to reactivate the UPDI interface, the reactivation is only temporary, but it will retain the UPDI functionality until the next reset. After the next reset, the pin will go back to the configuration as specified by the RSTPINCFG configuration bits. To have the pin configured as UPDI after a reset, the user will have to change the RSTPINCFG configuration bits back to UPDI.

It is possible to perform a debug session when the RSTPINCFG is configured to GPIO, but the pin will be temporarily configured as UPDI, and the pin will not operate as a GPIO pin.

Table 2. SYSCFG0 RSTPINCFG[1:0] Configuration Bits
Values Function
0x0 GPIO
0x1 UPDI
0x2 RESET
0x3 Reserved