Atmel ATtiny ISP and Serial High Voltage Programmer (Preview)

Two years ago I made a rather simple circuit board to be able to program Atmel ATtiny microcontrollers with an Arduino board as ISP. I shared my excessive PCBs and made the design open source. The design has proven to be pretty successful, and I was asked multiple times to make a more flexible follow-up version. So I recently started to design the revision 2.0 which should combine ISP and HVSP/HVPP features.ATtiny ISP HVP Shield Rev2 Beta1

This is a preview (i.e. the design is still buggy) but the final goal is to support the default “Arduino as ISP” option as well as HVSP/HVPP programming modes. The new feature can be useful to recover ATtiny (and ATMega) controllers with incorrect (broken) fusebits settings.

ATtiny In System Programmer (ISP) Arduino Shield

Shrinking your Arduino designs by switching to the Atmel ATtiny microcontrollers is a nice feature if you do not need a lot of pins or want to save space in your design. In this context it is also nice to (mis)use an existing Arduino board (in my case an Arduino Uno revision 3) as an ISP/programming device. A nice tutorial how to achieve this can be found on this, this, and this project page (MIT High-Low Tech Group). I’ve generated a  PDF-Version from these three pages for offline reading (and in case their pages move again). I used the MIT group’s research as a reference for this Arduino shield. It’s always nice to add some extra design… 😉 This is only a small project of mine, but it was already helpful on several occasions.

ATtiny ISP Arduino Shield

You have to be a bit careful when sticking the shield onto the Arduino Uno as I did not add all (for this purpose unnecessary) pin headers to the shield. The shield can be connected into the wrong pin headers — I added labels to some of the pins for orientation. I was only able to test it on my Arduino Uno revision 3 board, but it should be backward compatible to the previous Uno revisions and the Arduino Duemilanove. Please notify me if you find compatibility issues.

Left and right side of the Arduino ISP shield on an Arduino Uno. Two pins on each side were not added to the shield for backward compatibility to the Arduino Duemilanove.

Left and right side of the Arduino ISP shield on an Arduino Uno. Two pins on each side were not added to the shield for backward compatibility.

It should support multiple ATtiny microcontrollers: ATtiny13, ATtiny15, ATtiny24, ATtiny25, ATtiny44, ATtiny45, ATtiny84, ATtiny85, ATtiny2313, ATtiny4313. (I’ve so far successfully tested an ATtiny85, an ATtiny44 and an ATtiny4313.)

You will need the ATtiny master files (GitHub). When programming the ATtiny microprocessor with the Arduino software, you can ignore the following error message

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtinyXX

that might pop up — your microprocessor should be programmed fine. I’ve made a small video showing the shield in action…

Just in case you’re interested in this little project: The Eagle CAD board file of the ATtiny ISP Arduino Shield is available in my ISP-HVP-Shield Repository on GitHub (CC-BY-SA 3.0 license), and I’ve added the schematics as PDF and as an image below. Keep in mind that they are without any warranty… 😉 I only request you to give me and my site ( credits when using it.

ATtiny ISP Arduino Shield Schematic

ATtiny ISP Arduino Shield Schematic

ATtiny ISP Arduino Shield Board

ATtiny ISP Arduino Shield Board

I still have a few unpopulated PCBs lying around — Two of them are enough for me, so: for a small fee (postage+envelope) I can send you one as long as I still have them. Update: all PCBs are gone now.

Raw ATtiny ISP Arduino Shields

BTW: I’m aware that the shield was attached rotated by 180° on the first photo. It was taken before making the video tutorial and the other photos.  (It was kept for aesthetic reasons, and out of laziness.)