A High-Voltage ATtiny85 Programmer

Augmenting an Arduino to handle HVP.

Jeremy Cook
4 years ago

The ATtiny85 is a brilliant little chip, but using it does take a bit more yak shaving than a standard Arduino. After all, you’ll need to use a programmer, not just a USB cable. An Arduino can be utilized as an in-service programmer, or ISP, but the chip is normally limited to five I/O pins and a reset. If you want to go one step further and change that reset into a full I/O pin, you’ll need a high-voltage programmer, or HVP.

Unfortunately, with the reset pin enabled, an Arduino as ISP doesn’t work for programming the Flash anymore. You’ll need to use the HVP for this task, further complicating your development process. On the other hand, if an Arduino can be employed as an ISP, when programmed correctly and with the correct voltage conversion, it could theoretically be used as an HVP as well. According to Tyler Gerritsen's write-up, he “edited the protocol to use the HVP protocol described in the datasheet. Bingo!”

I suspect it was slightly more work than that statement would imply, and there is some extra voltage conversion hardware involved. The good news is that you can find the new modified code on GitHub, and Gerritsen outlines how to make your own.

With this device, Gerritsen can now reset pin functionality, change the clock rate, and preserve EEPROM during Flash programming. And of course, he gets access to that sweet extra I/O pin that was formerly just a reset. The technique looks like a great way to super-miniaturize your project, while gaining an extra interface pin!

Jeremy Cook
Engineer, maker of random contraptions, love learning about tech. Write for various publications, including Hackster!
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles