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 (www.kaibader.de) 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.)

61 thoughts on “ATtiny In System Programmer (ISP) Arduino Shield

  1. Hi Kai,

    I would like to get one of your ATtiny ISP Arduino Shield Boards if you still have one to sell. If you have let me know how much the shiping is to portugal.

    Thank you very much,

    Paulo

  2. Nice addition to the MIT High-Low Tech Group Arduino ISP programmer. I’d like to try it with my EvilMadeScience.com ISP Shield v2.0. Should work there as well as with any ISP programmer. yes?

    I’d like one of the boards in order to build one if they are still available. Sent you an email last night, but no response so far.

    Thanks,
    Matt – San Antonio, TX USA

    • Hi Matt,

      sorry for the delay – I’m on vacation and only checking my mail now and then. I just sent you an E-Mail…

      Kai

  3. Hi, Kay,
    Good job!
    Have you one of this PCB still available? Would you send it to Spain? How much does you ask for it?

  4. Hi Kai,
    Would be great to get 2 (or 3 ?) of these sent to the UK if you have them available.
    Please let me know, PayPal to registered address OK ?
    Many Thanks.
    Chris

  5. Hi Kay.
    Very interesting job !
    I was actually thinking of making of these myself, but you did a fine job yourself.
    Do you still have PCB left ? (I’m living in France)
    Thanks

  6. This looks brilliant. I was thinking of wiring up a perf board for some attiny85’s. Any chance you still have a pcb left?
    If not perhaps you would like to upload your design to a service like batchpcb marketplace etc. so that people can order it from there.
    Again thanks for sharing this!

    • I indeed have a last one left (I had reserved one for someone else who wasn’t interested anymore). I can send it to you if you’re willing to pay for the shipment. Kai.

    • Hi Philip, I’m currently not planing to order a second batch. But I’m playing around with a combined ISP and high voltage programmer shield. Currently it only exists as a ‘breadboarded’ version but I think about ordering PCBs if it works as intended. Kai.

  7. Hi, I was wondering if you ever made more ATtiny ISP boards? Or if you ever made the combined ISP and high voltage programmer shield you were working on?

    THANKS
    Alan

    • Hi, I’m still working on it, but I currently do not have as much time for hacking around as I would like to have…
      Kai

  8. Pingback: Arduino Template Express - Using the ATTiny Micro-Controllers | Omar Francisco

  9. All of the DIP sockets I see online are the rectangular versions but yours are round holed. What are those called? I just downloaded the BRD file and ordered a set of 3 on oshpark.com.

    Thanks!

  10. Hi Kai,
    great board! I’m going to try to build one myself, but I’m so new to this kind of things.

    When you have time could you answer couple of questions:

    1) I see the positives lines in the board, I guess the negative is the entire space around it.
    2) the film 0.15uF can be replaced by a standard electrolytic 0.15uF? I just started and I have the basic bad material as I still blow up things.

    thanks and thanks for sharing this little great board.

    Frank.

  11. Thanks for the great board! I looked forever for an “all-in-one” that would program the 85/84/2313 series MCUs! I printed 3 of the boards from Oshpark before I even found your blog (I only found it thanks to your web address on the back of the board!).

    I’m still a electronics noob so I do have one question: what is the capacitor at C1 for? I ask because I read it wrong and soldered in a 1uF cap instead. It seems to work (I uploaded a blink script to a 2313 without problems) but I can remove the 1uF and replace it with a 10uF easily enough if I need to.

    Thanks! -Ben

    • Hi Ben, the capacitor C1 connects the Reset pin to GND and thereby prevents the Arduino board from resetting during the programming process (to put it simple). I was told that different capacitor sizes were also successfully used so feel free to stick to it. — Kai

  12. Hi kai!
    I’d like to know how to upload a sketch with a library like manchester o servo8bit using arduino as ISP, could you help me?
    I cant make it from arduino because of the error compiling, and when I use the CMD I dont know what to enter as comands
    thank you

    • If u get a compilation error it is no use trying a different way to burn the chip as your code has a problem.
      could it be your error is about ‘vector 4’??
      your manchester and servo8Bit library may use the same timer interrupt. In the new servo8Bit library it is timer 1 and the manchester library uses that too I guess

      • I realise it is about a year ago, but maybe someone else is helped by this. Open your Servo8bit.h file and go to the lines:
        //#define USE_TIMER0
        #define USE_TIMER1
        make that:
        #define USE_TIMER0
        //#define USE_TIMER1
        I guess that should do it 🙂

  13. any chance you could upload the sch file too. I would like to play with it and see if I can make it single sided to mill on my cnc. It might not be possible but I would leave the 2313 out as I don’t think I will ever use that MC. Or, it might be easier to send to my email, thanks. PS if I ever publish a resulting file I will credit you!

  14. can i order this way for 2 pcb of this shield to send to belgium
    tell me the price if you still have this thanks

  15. Pingback: ATtiny ISP Shield makes programing bare AVR ICs easy and also helps shrinkfy your arduino projects. | How To Linux

  16. I opened the BRD file with Eagle and saw that not both pins of the capacitators are connected. Just one is connected.

    Also there is no GND connection at the ATtiny slot at Pin4, Pin14 and Pin10 (from the little one to the big one).

    Is it possible to get the SCH file?

    Is there a newer version of the board available?

    Frank

    • Hi Frank, the top and bottom layer consist of ground planes. The respective pins are connected to it. If you have problems to display them just let the ratsnest tool (or autorouter, without ripping up the old routes) run over the board file. The SCH-file was too ‘hacky’ to be published. I actually started a new revision but, shame on me, never found the time or pressure to finish it. — Kai

  17. Pingback: Blog | Platis.solutions

  18. Pingback: Blog | Platis.solutions

  19. Pingback: Atmel ATtiny ISP and Serial High Voltage Programmer (Preview) | Kai Christian Bader

  20. Hi Kai
    I would like to get two of your ATtiny ISP Arduino Shield Boards if you still have one to sell.

    Thanks B.Flatter

  21. Hello Kai, found your site while searching for a programming solution for ATtiny on a Arduino shield. Great page here, I also apprecaite very much the pdf you made of the lowhightech pages.

    I downloaded the .brd and .sch files and will make a set of ten boards (Elecrow), so if people are interested they may contact me through you.
    However, I would like to add a LED indicated start or end of prgramming, or a busy signal: how would you propose to add this, and where should the program be altered?

    Thank you,
    Erik

    PS: you can pm me also on my email.

  22. Hello Kai, if you find any lying around in your “unpopulated PCB box” could you let me know as well? I would love to have one.

Leave a Reply to Chris Cancel reply

Your email address will not be published. Required fields are marked *