USB Arduino into AVR TPI Programmer

Turning an Arduino of virtually any sort into a simple AVR 6-pin ISP programmer is old hat. But when Atmel came out with a series of really tiny AVR chips, the ATtiny10 and friends with only six pins total, they needed a new programming standard. Enter TPI (tiny programming interface), and exit all of your previously useful DIY AVR programmers.

[Kimio Kosaka] wrote a dual-purpose TPI and ISP firmware for the ATmegaxxUn chips that are used as a USB-serial bridge on the Unos, and constitute the only chip on board a Leonardo or Micro. The catch? You’re going to have to do a little bit of fine-pitch soldering. Specifically, [Kosaka-san] wants you to get access to an otherwise obscured signal by drilling out a via. We’d do it just for that alone.

The rest of the procedure is to flash a DFU USB bootloader into the Arduino, then load up the flash-programmer code. Your former Arduino is now capable of flashing both old-school ISP AVR chips, as well as the tiny little ones that require TPI.

If you’re having deja vu, yes we have covered a DIY TPI programmer before, but it required a bespoke uploader software on your host computer. [Kosaka]’s version appears to the host as an Atmel programmer, and you can use any of the standard tools. And you get to try your hand at some fun fine-pitch solder work. That’s win-win!

4 thoughts on “USB Arduino into AVR TPI Programmer

  1. Usbasp supports tpi, no hackery required – official firmware version, not the chinese one, just reload the firmware using your second usbasp (so cheap, buy two, or three…).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s