Picture of ATtiny Programming Shield for Arduino
This little circuit sits nicely ontop of an Arduino board and lets you quickly plug in an ATtiny chip for programming using the Arduino "language" and IDE to write the code, and the Arduino board as an ISP programmer to upload the code to the tiny chip.

These instructions are also published on our website titled HOW TO GET WHAT YOU WANT.

For instructions on how to use Arduino to program ATtinies, please look at the following links. This Instructable will only explain how to build the programming shield.
Arduino as ISP >> http://www.kobakant.at/DIY/?p=3742
Arduino board as ATtiny programmer (by Dave Mellis) >> http://hlt.media.mit.edu/?p=1706
Programming an ATtiny w/ Arduino 1.0.1 (by Dave Mellis) >> http://hlt.media.mit.edu/?p=1695

There is also a really nice Tiny AVR Programmer now available from Sparkfun (designed by Dave Mellis) that does the same thing even more compactly >> https://www.sparkfun.com/products/11460

Video of "ATtiny Arduino Shield Programmer" in action
Remove these adsRemove these ads by Signing Up

Step 1: Materials and Tools

Picture of Materials and Tools
- Perforated circuit board
- Male and female headers
- Wire
- 10uF capacitor
- Arduino Uno or Duemilanove (with an ATmega328, not an older board with an ATmega168!)
- ATtiny45 or 85

- Cutter knife
- Cutting mat
- File
- Wire cutters and stripper
- Soldering iron
- Helping hand

Step 2: Cut Circuit Board to Shape

Picture of Cut Circuit Board to Shape
Cut a piece of perforated circuit board to size (see illustration) and file the edges.

Step 3: Solder Male Headers

Picture of Solder Male Headers
Take two rows of four male headers and solder them to the circuit board, but with the solder connections on the unintended side of the circuit board. So solder them you will need to hold them away from the circuit board a bit so that you can make the solder connection. Once you've got the first pin soldered the rest will be easier.

Video: Soldering headers to perforated circuit board:

Before continuing, make sure the board with headers fit into your Arduino.

Step 4: Disconnect Circuit Traces

Picture of Disconnect Circuit Traces
Disconnect the line traces as follows (see illustration and video) using a cutter knife

Video: Cutting connection on a perforated circuit board:

Step 5: Solder Female Headers

Picture of Solder Female Headers
Insert the female header pins and use an ATtiny chip as reference to make sure you get the spacing right. Then solder.
totodix1 month ago
I made it. Thanks
MattiaD made it!2 months ago
thx man!
luiscll made it!3 months ago
Great instructable. Thanks :)

Where do you get your round breakaway female headers?

tym3k7 months ago

Does the capacitor really need to be 10uF? Or will 1uF also work, because I only have 1uF capacitors.

masterleo tym3k7 months ago

I heard in Hackable.fr that you can use biger capacitor but not smaler uF

Ive never used a capacitor when programming the ATtiny85, I just wired it wire 4 wire to the Arduino Uno and programmed via ArduinoISP. What's the capacitor for?

I guess it's to disable the auto reset of the Arduino, it's connected betwin pin RST(reset) and GND(ground),
Hackable.fr says "so that the arduino is ready to transmit the data that the computer is sending and does not reset before the transmission... "
I never use this one too, I don't understand ...

breagan225 months ago

Thanks for the excellent Instructible!

I did add a NC switch in Vcc in order to reboot the ATTiny85 on the fly. Works great! Thanks again!

Huuunksam made it!6 months ago

First ever Adruino/AtTiny project success!

(thanks to you) ;)


Does this ATiny85 chip need a bootloader? Or can you program one bought straight from the Atmel store?

Taken from the author's website:

Burn Bootloader

To set the clock speed of your ATtiny to be faster (8Mhz) than the default 1 MHz.

- Select “ATtiny45 (8 MHz)” from the “Tools > Board” menu

- Select “Arduino as ISP“ from the “Tools > Programmer” menu

- Select “Burn Bootloader” from the “Tools” menu

So yes you can buy some ATtiny85 anywhere, you will be able to burn the bootloader with this programming shied here :)

masterleo Shoyun7 months ago

This does not burn Bootloader (source: hackable.fr ) but does set some ""fuse"" to the desired value

grayl8 months ago

Have we somehow skipped the part where the second set of four parallel female jumpers on each side of the Tiny are added? It's trivial to do, but...

Shoyun made it!11 months ago

Thanks you, works fine !

cornbread ninja made it!1 year ago

Thanks for making this Instructable!


Why is there a second row of headers on eighter side of the ATtiny chip?

To connect the sensors and actuators that the sketch in the atTiny needs to read and control

Victor8o51 year ago

Thanks for the info.

Mic1001 year ago

interesting work thank you

how did you programmed music on the ATtiny ?

wliu31 year ago

Are there any schematics? Can you upload them?

Can anyone explain to me what an ATtiny actually is. I'm just in my first year computerscience and haven't seen these.

It is a 8-pin microcontroller chip


Very cool! Also, if you need me, I'll be in the corner having a panic attack over how close the tip of that soldering iron is to your finger.
So, on the arduino power headers, both ground pins (in between Vin and 5V) are completely the same, and interchangeable? One of the above diagrams shows 10 uf between RESET and the GND furthest from the usb plug, however, your design only uses the GND closest to the usb. That won't cause any problems? I'm new to arduinos and microcontrollers, but that kinda seems weird for there to be two of the same pin on the arduino. Enlighten me. :)
There is absolutely no difference, except for extremely miniscule interference, between the grounds on the arduino. There are multiple ones for the sake of convinience. If you don't want to fork over your capacitors, you can use a 200 ohm resistor between RESET and 5Vcc on the ARDUINO.
robot7971 year ago
do you have a high res version of the layout?
MakerDP2 years ago
...and it worked! Now I think I am going to build a "shield" that will plug-into the '85 header pins so that I can program an '84 chip using the same basic setup.

Thanks for the practical Instructabile and the inspiration to take it a step further.
MakerDP2 years ago
Well done! Just finished putting it together and about to plug it in for the sniff-test.
jnowak10542 years ago
Yes, they are both connected to the ground plane on the board or are "interchangeable." Two grounding points are often very useful. I usually use them both on two separate breadboards, each containing different connected circuits (often one 5V and 3.3V.) In some cases they can also be utilized in such a way to help control electrical noise.
So, on the arduino power headers, both ground pins (in between Vin and 5V) are completely the same, and interchangeable? One of the above diagrams shows 10 uf between RESET and the GND furthest from the usb plug, however, your design only uses the GND closest to the usb. That won't cause any problems? I'm new to arduinos and microcontrollers, but that kinda seems weird for there to be two of the same pin on the arduino. Enlighten me. :)
FoamboardRC2 years ago
I just had this idea today, and thought it would make a good instructable :( so I searched to see if somebody had already done one. . .
Idea already taken :(

Lol I like it!
marc.cryan2 years ago
I was struggling to use an Attiny with the Arduino when I saw your project. This is fantastic. I've just added headers to a board in a Kickstarter project, so it can be connected to the Arduino as you have done. I've linked back to this instructable for atribution, but it could be considered commercial use, so please let me know if this is not okay and if I can do anything for you.

Thanks for always doing great things!

This is where I have used the idea http://www.kickstarter.com/projects/marc-cryan/blinky-fish
Plusea (author)  marc.cryan2 years ago
hi marc, am glad this instructable was of use to you. and i have no problem if you use it commercially. good luck with the project.
steph19782 years ago
There are many shrinker project around the web but this one is the cleaner I've seen.