Uploading Firmware

SELFPRG Jumper Settings:

SELFPRG JumperProg Mode
no jumperNormal operation.
pins 1-2 shortedUPDI - Uploading firmware or installing bootloader via UPDI header using another UPDI (HV) programmer. This is necessary when no bootloader is installed.
pins 2-3 shortedUSB - Uploading firmware via USB. An installed bootloader is required.

Operating Instructions

MODE Jumper Settings:

MODE JumperProg ModePA0 ConfigurationsHV PulsePower Cycle
no jumperUPDIUPDINONO
pins 2-3 shortedHVUPDI, RESETYESNO
pins 1-2 shortedPCHVUPDI, RESET, GPIOYESYES

Modes:

UPDI Mode:  This mode would be used when the UPDI pin is configured as UPDI or for any target device that isn't HV tolerant.

HV Mode:  This mode applies the 12V UPDI enable sequence (HV pulse) at the start of the programming sequence. This temporarily reconfigures the UPDI/Reset pin to UPDI mode which will remain in this state until the next power on reset (POR). This allows programming to occur when the pin is configured as Reset. A POR needs to occur for any fuse setting changes to take effect.

PCHV Mode:  Power Cycle High Voltage mode (PCHV) will initiate a power cycle and HV pulse at the start of the programming sequence. At the end of the sequence, a second power cycle will occur which causes any new fuse setting to take effect. The power cycle OFF duration has been set to 10ms. This mode would be used when the UPDI/Reset pin is configured as Reset or as GPIO.

Status LED Operation: 
LEDStatus
PWRSTEADY ON when programmer is powered
PRGSTEADY ON when in programming mode
HVFLASHING at HV pulses during programming

Further Information

More information and source code: https://github.com/Dlloydev/jtag2updi/wiki/DIY-ATtiny-HV-UPDI-Programmer

Getting started with the new ATtiny chips: http://www.technoblogy.com/show?2OCH

megaTinyCore: https://github.com/SpenceKonde/megaTinyCore

UPDI Programmer based on ATmega8/88/168/328: https://easyeda.com/wagiminator/y-updi-programmer

Mini UPDI Programmer based on ATtiny1604: https://easyeda.com/wagiminator/attiny1604-updi-programmer

Development board for ATtiny x14/x04 series: https://easyeda.com/wagiminator/attiny-814-development-board-smd

Development board for ATtiny x16/x06 series: https://easyeda.com/wagiminator/y-attiny3216-development-board-smd