Introduction: ATtiny Programming Shield for Arduino

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

Step 1: Materials and Tools

Picture of Materials and Tools

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

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

Step 6: Solder Circuit

Picture of 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="http://hlt.media.mit.edu/?p=1706"><img src="http://farm9.staticflickr.com/8344/8191599432_3e2508f44d.jpg"></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!

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

Comments

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 (author)2015-11-29

Hello,

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

totodix (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 (author)2015-02-24

Where do you get your round breakaway female headers?

masterleo (author)2015-02-21

To help you if you are lost with the pins :

https://learn.sparkfun.com/tutorials/tiny-avr-programmer-hookup-guide/attiny85-use-hints

tym3k (author)2014-12-15

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

masterleo (author)tym3k2014-12-30

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

breagan22 (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 (author)2014-07-20

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

Shoyun (author)justwondering1012014-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 (author)Shoyun2014-12-30

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

grayl (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 (author)2014-04-27

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

JoburgJim (author)TheFlorifant2014-06-27

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

Victor805 (author)2014-05-06

Thanks for the info.

Mic100 (author)2014-04-28

interesting work thank you

how did you programmed music on the ATtiny ?

wliu3 (author)2014-04-24

Are there any schematics? Can you upload them?

TheFlorifant (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 (author)TheFlorifant2014-04-10

It is a 8-pin microcontroller chip

http://www.atmel.com/devices/attiny85.aspx

piggybankcowboy (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 (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 (author)tecnocubeguy2014-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 (author)2013-11-11

do you have a high res version of the layout?

MakerDP (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 (author)2013-07-31

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

jnowak1054 (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 (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 (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 (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 http://www.kickstarter.com/projects/marc-cryan/blinky-fish

Plusea (author)marc.cryan2013-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 (author)2013-02-28

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