loading

Stripboard Arduino shield for programming ATtiny45 and ATtiny85

Featured
Picture of Stripboard Arduino shield for programming ATtiny45 and ATtiny85
programmer shield.png
wired.png
This instructable (entered in the Arduino Challenge contest - you can vote for it above) shows how to make a stripboard Arduino shield for programming either ATtiny45 or ATtiny85 microcontrollers with an Arduino, as per these tutorials from the High-Low Tech group at MIT:

Arduino board as ATtiny programmer
Programming an ATtiny w/ Arduino 1.0


The top link shows a breadboard arrangement for the programming set-up, but if you're working with lots of chips it's neater to do away with all those wires and just have something you can plug in to use when needed!

You will need to follow the instructions at the first link in order to configure both your Arduino programming environment and your Arduino board to be able to use this shield. It's worth working through the breadboard version before tackling this, so you know everything else is working as it should...

To make this shield, you will need:

* Some stripboard (I'm using a piece with 14 rows and 23 holes)
* A few lengths of wire (I'm using single core)
* 2 x pieces of female headers, with 4 pins/holes
* 1 x socket for an 8-pin IC chip
* 1 x 10uf capacitor
* 1 x 8 pin length of male headers
* 1 x 6 pin length of male headers
* ATtiny45 and/or ATtiny85 chips to programme
* An LED to check the blink sketch has uploaded correctly

* Soldering equipment
* Pliers
* A well-lit working environment - helps to avoid having to do the soldering again in the morning *ahem*
* Some permanent markers might be useful
* A track-cutting tool, a drill bit or a sharp knife

 
Remove these adsRemove these ads by Signing Up

Step 1: Prepare the stripboard and the headers

Picture of Prepare the stripboard and the headers
stagger.jpg
positioned.jpg
Stripboard
First make sure you have an appropriately-sized piece of stripboard.

Is doesn't really matter what size it is, so long as it is big enough to straddle the Arduino board with at least a few holes either side (soldering right to the edge has a tendency to cause the copper stips to lift up and detach from the stripboard). The main thing to look out for is to make sure the copper strips go in the right direction - they should be going across the board rather than along its length.

Headers
The next thing we need to do is prepare the 8-pin strip of male headers to accommodate the offset spacing on the Arduino board (you may skip this step if you're using a clone board that already corrects this).

Follow the relevant instructions from this instructable - http://www.instructables.com/id/Embarassingly-Easy-Arduino-ProtoShield/ - to angle the pins. You will also need to push the pins down so they are level with the top of the plastic so that you have enough length underneath to make a good connection with the Arduino board.

Check they all work together
Place both sets of headers in the stripboard and check it all fits comfortably into your Arduino board. Make sure nothing fouls against the USB socket or anything like that.

I found the adjusted headers worked best with the off-set to the right as you look at them from their side of the stripboard.


Step 2: Solder in the male headers

Picture of Solder in the male headers
jihg.jpg
pinssoldered.jpg
pinssolderedfar.jpg
seatedside.jpg
seatedtop.jpg
Once you're happy everything fits together as it should, go ahead and solder in the headers.

Keep your soldering as neat as you can and try not to get any solder further up the pins than you need to as this will make it difficult to insert them into the sockets on the Arduino board.

The 6-pin header is reasonably easy, but you may find the 8-pin header more tricky if the adjustment process has left the pins a little loose (I had a few that were prone to falling out!). To help keep the pins lined up, I used a second piece of stripboard as a spacer jig. (If you do this, place the pins in the top row of holes, not a few rows down like in my photo. This will make it easier to get access with the soldering iron...)

When the soldering is done, go back and check everything fits into the Arduino board again.

Step 3: Add the IC socket and the female header sockets

Picture of Add the IC socket and the female header sockets
socketsolderedunder.jpg
headerslocated.jpg
cuttraces.jpg
programmer shield.png
Next it's time to add the socket to hold the ATtiny and also some female socket headers to help with prototyping.

Position the IC socket as per the diagram, making sure to have the right alignment with the male headers and also to have the notch in the right place (be careful with my photos - they may be orientated in different directions to what you are expecting, sorry!)

Solder in the socket and cut the tracks as shown in the photo and the layout diagram.

Align the female headers with the IC socket and solder them in too. Cut the tracks as shown in the photo and the layout diagram.

Step 4: Add power and ground connections

Picture of Add power and ground connections
ATtiny45-85.png
groundlive.jpg
Next we'll add the wires that provide power to the ATtiny. I find it helpful to mark on which tracks are power and which tracks are ground...

Then you need to solder a wire between the 5V connection to the Arduino and physical pin 8 on the IC socket.
Similarly you need to connect one of the Arduino ground pins to physical pin 4 on the IC socket.

Again, beware/be aware of the orientation of my photos!

Step 5: Reset wire and capacitor

Picture of Reset wire and capacitor
finaltop.jpg
programmer shield.png
ATtiny45-85.png
Programming shields for Arduino UNO boards need a capacitor to disable the reset. This from the High-Low Tech tutorial:

We’ll also connect a 10 uF capacitor between reset and ground on the Arduino board as shown in the diagram (the stripe on the capacitor that’s marked with a negative sign (-) should go to ground). The capacitor prevents the Arduino board from resetting (which starts the bootloader), thus ensuring that the Arduino IDE talks to the ArduinoISP (not the bootloader) during the upload of sketches. (The capacitor is needed if you’re using an Arduino Uno, and might also be necessary for an Arduino Duemilanove.)

You already tried the breadboard version, so you know if you need one or not, right?
Make sure the leg marked with the stripe or "-" sign connects to ground.

After adding the capacitor, you can connect a wire between pin 10 on the Arduino and the reset pin on the ATtiny (physical pin 1).

The following connections have already been taken care of by the stripboard tracks:

* ATtiny Pin 2 (physical pin 7) to Arduino Pin 13
* ATtiny Pin 1 (physical pin 6)to Arduino Pin 12
* ATtiny Pin 0 (physical pin 5)to Arduino Pin 11

Step 6: Let's go!

Picture of Let's go!
Now we should be ready to use the shield.

Make sure your Arduino board is set up as a programmer for the ATtiny chip you're using, as per the High-Low Tech instructions (there's also a tutorial the older 0022 version of the Arduino software).

Insert your ATtiny chip into the IC socket, making sure to get it the right way around.

Upload the Blink sketch (modified to account for the ATtiny pin availability - see the High-Low Tech instructions)

Place an LED between the output pin and ground pin of the ATtiny and hopefully all should be blinky goodness :)
(NB you may need to remove the LED before uploading subsequent sketches...)
Jshowson made it!20 days ago

Great Instructable! Certainly makes programming ATTinys a whole lot easier.

Here are some pics of mine blinking.....

IMG_0191.JPGIMG_0192.JPG
electro182 years ago
Link isn't working :(
arnefl3 years ago
Here is with led and jumpers for both led and cap
ATTINY.gif
why the jumpers? aren't these caps just on the wrong rows?
arnefl arnefl3 years ago
And with a reset button
attiny2.gif
nikkipugh (author)  arnefl3 years ago
Nice one - thanks :)
WWC2 years ago
Is it necessary to set the fuses first?
I will add the LED to the shield for testing the blink sketch.
nikkipugh (author)  dustinandrews3 years ago
Thanks for the compliment! :) With regards to the LED for testing the blink sketch, I noticed that on http://hlt.media.mit.edu/?p=1695 it says

"If you then connect an LED between pin 0 and ground, you should see it blink on and off. Note that you may need to disconnect the LED before uploading a new program."

I've not tested to see if this is dependent on which pin the LED is connected to (maybe it doesn't matter on pin 3 or 4?) but it might be worth investigating further before soldering stuff up...
Easiest would be to attach a led via a 2 pin header in series, with a shorting block to connect or disconnect the led
emdarcher3 years ago
Is that a 555 in the pic?
nikkipugh (author)  emdarcher3 years ago
Hah! Yes! Well spotted!

I'd like to be able to say that I keep my workspace tidy and complete each project before moving on to the next, but I got a bit of cross-pollination with this one...

I hadn't noticed that it had infiltrated that photo - thanks for the heads-up!
thanks for the help!!!

waggles Pom-Poms towards the UK and gives three cheers!
Fantastic Instructable. I've linked to here from my Attiny13 proximity Sensor Instructable in the programming step.