Introduction: 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 >>
Arduino board as ATtiny programmer (by Dave Mellis) >>
Programming an ATtiny w/ Arduino 1.0.1 (by Dave Mellis) >>

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 >>

Video of "ATtiny Arduino Shield Programmer" in action

Step 1: 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

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

Step 3: 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

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

Insert the female header pins and use an ATtiny chip as reference to make sure you get the spacing right. Then solder.

Step 6: Solder Circuit

Use jumper wire or cut wire to length and strip either end and start to populate the circuit board with wires to make the connections between the pins of the Arduino and the pins of the ATtiny. Use illustration and the following information for reference. Bend wires on bottom side to stop them falling out before you solder them.

Wiring your ISP connection
ATtiny        -----  Arduino
Pin PB2 (SCK)   -----  Pin 13
Pin PB1 (MISO)  -----  Pin 12
Pin PB0 (MOSI)  -----  Pin 11
Pin PB5 (Reset) -----  Pin 10
Plus (VCC)    -----  +5V
Minus (GND)   -----  GND

10uF Capcitor:
Arduino pins: RESET ----||---- GND

<a href=""><img src=""></a>

When you've finished making all the connections illustrated in the diagram (including the capacitor) then you are DONE!

Step 7: Upload Your Program!

Now plug in your Arduino and follow the instructions in the Arduino as ISP post linked to at the top of this page.

Video: Using ATtiny shield to program an ATtiny to play a song


SvenF7 made it! (author)2017-05-24

I added an additional reset button and a D13 Status LED for extra coolness

Suraj Bhawal made it! (author)2017-02-24

Homemade Attiny programming shield on homemade arduino UNO... works great.

Tanmay Deuskar made it! (author)2015-11-29


This project is awesome! Can it be used to program all Attiny 85 sketches?

GustoS made it! (author)2015-10-14

thanks for the tutorial

Photo on 10-15-15 at 2.14 AM.jpg
totodix made it! (author)2015-06-24

I made it. Thanks

MattiaD made it! (author)2015-05-05

thx man!

luiscll made it! (author)2015-04-06

Great instructable. Thanks :)

The Expert Noob made it! (author)2015-02-24

Where do you get your round breakaway female headers?

masterleo made it! (author)2015-02-21

To help you if you are lost with the pins :

tym3k made it! (author)2014-12-15

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

masterleo made it! (author)masterleo2014-12-30

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

The Expert Noob made it! (author)The Expert Noob2015-02-21

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?

masterleo made it! (author)masterleo2015-02-21

I guess it's to disable the auto reset of the Arduino, it's connected betwin pin RST(reset) and GND(ground), 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 ...

breagan22 made it! (author)2015-02-13

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! (author)2015-01-22

First ever Adruino/AtTiny project success!

(thanks to you) ;)

justwondering101 made it! (author)2014-07-20

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

Shoyun made it! (author)Shoyun2014-08-31

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 made it! (author)masterleo2014-12-30

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

grayl made it! (author)2014-11-19

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! (author)2014-08-31

Thanks you, works fine !

cornbread ninja made it! (author)2014-07-06

Thanks for making this Instructable!

TheFlorifant made it! (author)2014-04-27

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

JoburgJim made it! (author)JoburgJim2014-06-27

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

Victor805 made it! (author)2014-05-06

Thanks for the info.

Mic100 made it! (author)2014-04-28

interesting work thank you

how did you programmed music on the ATtiny ?

wliu3 made it! (author)2014-04-24

Are there any schematics? Can you upload them?

TheFlorifant made it! (author)2014-04-10

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

mlee89 made it! (author)mlee892014-04-10

It is a 8-pin microcontroller chip

piggybankcowboy made it! (author)2014-04-09

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.

tecnocubeguy made it! (author)2013-06-10

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. :)

waterlubber made it! (author)waterlubber2014-01-04

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.

robot797 made it! (author)2013-11-11

do you have a high res version of the layout?

MakerDP made it! (author)2013-08-01

...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.

MakerDP made it! (author)2013-07-31

Well done! Just finished putting it together and about to plug it in for the sniff-test.

jnowak1054 made it! (author)2013-07-09

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.

tecnocubeguy made it! (author)2013-06-10

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. :)

HavocRC made it! (author)2013-05-07

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.cryan made it! (author)2013-03-02

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

Plusea made it! (author)Plusea2013-03-03

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.

steph1978 made it! (author)2013-02-28

There are many shrinker project around the web but this one is the cleaner I've seen.

About This Instructable




More by Plusea:Organized Organization - Tiered Zip Pouches3D Sewing: Rings With Rope3D Sewing: Rings with Strings
Add instructable to: