We’ve all done it — you flash your device, and suddenly it stops communicating. Scratching your head, you realize — oops! You set the reset pin as GPIO! Now the code running on the device is locked in — or is it? Thankfully, AVR designers foresaw this horrendous tragedy and included an override mechanism: high-voltage programming. This nifty little tool from Canadian designer microprogrammers can recover the newer generations of ATtiny devices using the new AVR 1 cores.
AVR devices have supported high-voltage programming (called HVPP in AVR parlance) for a long time. When the new AVR 1-based devices were released, they used a different programming interface than the traditional AVRISP, the new UPDI interface. However, they retained the high-voltage fail safe (thankfully for us hackers in a rush). Instead of the entire programming process being done with 12V on the reset pin like the old AVRs, a 12V pulse on the reset line forces the device into UPDI mode and allows normal programming. This tool then resets all the fuses to their default values, allowing your normal programmer to function again!
A tool like this is extremely useful to have on hand. From the research I’ve done, it looks like the MPLAB Snap does not support 12v programming, but the PICKIT4 does. So, a Snap plus this tool can make a very useful, affordable development toolkit. Make sure to check out the rest of their store — they also make devices to unbrick the older AVR cores, as well as UPDI programmers and more!