ISP Shield Assembly Instructions
This page walks through the basic assembly process for building the ISP Shield, version 1.0.
Contents
- 1 Bill of Materials, or, "What's in the kit?"
- 2 Assembly procedure
- 2.1 1. The circuit board.
- 2.2 2. 10 k pull-up resistor
- 2.3 3. 1 k resistors
- 2.4 4. The "Target Power" header
- 2.5 5. LEDs
- 2.6 6. 16 MHz Quartz Crystal
- 2.7 7. 18 pF ceramic capacitors
- 2.8 8. 0.1 uF ceramic capacitor
- 2.9 9. Reset switch
- 2.10 10. 6-pin ISP header
- 2.11 11. 6- and 8-pin stacking headers
- 2.12 12. 28-pin ZIF socket
- 2.13 13. Target power jumper
- 2.14 14. Optional resistor to disable Arduino auto-reset
Bill of Materials, or, "What's in the kit?"[edit]
Line | Ref Des | Description | Type | Vendor | Vendor Part Number | Quantity |
1 | n/a | PCB for ISP Shield | Printed circuit board | Evil Mad Scientist | 9600026 | 1 |
2 | R1 | Reset line pull-up resistor | 10k, 1/6 W | Digikey | 10KETR-ND | 1 |
3 | R2 thru R6 | Reset and LED load resistors | 1000 ohm, 1/4 W | Digikey | 1.0KQBK-ND | 5 |
4 | J5 | Target Power Enable, Header | 3 pin right-angle header, 0.1” spacing | Digikey | TSW-103-25-F-SRA-ND | 1 |
5 | PROG, ERROR, PULSE, HELLO | Indicator LED | 3mm, Diffused Yellow | Evil Mad Scientist | 9330030 | 4 |
6 | XTL | Crystal | 16 MHz | Digikey | XC1721-ND | 1 |
7 | C2, C3 | Capacitors for crystal | 18pF, 50 V ceramic | Digikey | BC1004CT-ND | 2 |
8 | C1 | Bypass Capacitor | 0.1uF Capacitor | Digikey | BC1148TR-ND | 1 |
9 | S1 | Reset Switch | Tactile pushbutton switch | Digikey | 679-2452-ND | 1 |
10 | ISP6 | 6 pin ISP Header | 2x3 pin 0.1” spaced DIL header | Digikey | 609-3202-ND | 1 |
11 | J1 thru J4 | Header set, 6-pin (2 pcs), 8-pin (2 pcs) | Stacking type header, 0.1” spacing | Evil Mad Scientist | 633 | 1 |
12 | U1 | ZIF DIP Socket | 28 pin, 0.3" pin spacing | Evil Mad Scientist | 9220005 | 1 |
13 | J5 (jumper) | Target Power Enable, Jumper | 2 pin jumper block, 0.1” spacing | Digikey | A26242-ND | 1 |
14 | n/a | Optional resistor for auto-reset override | 100 ohm, 1/4 W | Digi-Key | 100QBK-ND | 1 |
Assembly procedure[edit]
We'll go line by line through the kit components. This guide assumes that you have had some soldering experience. If not, or it's been a while, you may also want to look at pages 2 and 5-7 of the Bulbdial clock assembly instructions, which go over basic tools and technique. And, if you really are a beginner, there are plenty of good tutorials on line, like this one.
1. The circuit board.[edit]
Here's what the bare circuit board looks like:
We'll be adding components to the labeled locations there.
2. 10 k pull-up resistor[edit]
This is the one smaller resistor. Install it in location R1, solder both pins, and clip the excess leads short. Orientation: either way; resistors are not directional.
You can see the smaller size of the resistor in this photo:
3. 1 k resistors[edit]
There are five of these resistors, that go in locations R2, R3, R4, R5, R6-- the other places where resistors are visible in the photo above-- and are installed with the same technique as the last resistor.
The color code on these is Black-Brown-Red-Gold, but more importantly, note that there are five of the same type, which go in these locations. In the kit, these may be taped or bagged to separate them from the other resistors.
4. The "Target Power" header[edit]
This is a three-pin right-angle header that lies flat to the board. It's visible in the photos, but with the jumper (line #13) already installed. The easiest way to install this is to put it on the board, then turn the board over to let it rest on the header while you solder it in place. We suggest soldering ONE pin only first, and checking to see if it's mounted flush and square to the board before starting the other two pins.
The leads on the back side are short enough that they do not need to be trimmed.
5. LEDs[edit]
There are four LEDs included with the kit, that go in the locations labeled PROG, ERROR, PULSE, and HELLO. Orientation is important: the long lead goes into the square hole. Solder them in place and clip the leads short. After inserting the LEDs but before soldering, you can bend the leads out at 45 degrees to hold an LED in place while you solder.
6. 16 MHz Quartz Crystal[edit]
This is a shiny metal can-- shaped like a stainless-steel twinkie rejected by a robot smurf -- with two prongs. The two prongs go in the outer two holes (not the middle hole) of location XTL on the circuit board. It is not directional; it can go in either way. As before, solder it in place and clip the leads.
7. 18 pF ceramic capacitors[edit]
These are two tiny yellow devices, marked with a black stripe to label them. The go in locations C2 and C3, on either side of the crystal. They are not directional; they can go in either way. Solder both in place and trim their leads.
8. 0.1 uF ceramic capacitor[edit]
There is only one, and it goes in location C1. It looks just like the 18 pF capacitor, but without the black stripe. It is not directional; it can go in either way. Solder it in place and clip the leads.
9. Reset switch[edit]
There is only one, and it goes in location S1. It snaps into the board-- make sure that it sits flush. It is not directional; it can go in either way. Solder it in place. The leads are short and do not need trimming.
10. 6-pin ISP header[edit]
There is only one, and it goes in location ISP6. This is a header like the three-pin version that you already did. As with that one, the easiest way to install this is to put it on the board, then turn the board over to let it rest on the header while you solder it in place. Again, solder ONE pin only first, to make sure that you get it flush to the board.
The leads on the back side are short enough that they do not need to be trimmed.
11. 6- and 8-pin stacking headers[edit]
These go in locations J1 through J4, and go straight through the board to provide connections to the Arduino board below.
To add these, we recommend inserting all four headers and then resting the board-- upside down --on the four headers, so that they sit flush to the board. Solder one end pin of each first. Then, flip it back over and make sure that all four pins are straight and flush to the board. This is important for good connections. Then, flip it upside down again and solder the rest of the pins. Try to avoid excess solder, so that solder does not wick either down into the hole (bad!) or onto the pins (also bad!).
Important note: Most users will want to trim off the "RST" pin, which connects the reset line of the target chip to the reset line of the Arduino below. In rare circumstances (you know who you are) this can be useful, but if you're planning to use this board as intended-- programming AVR chips while sitting right on an Arduino board -- trim off the leftmost pin of J4 as shown here:
Do *not* trim the rest of the long leads short. :)
12. 28-pin ZIF socket[edit]
This socket goes in location U1 on the circuit board. Orientation is very important: The side with the lever sits above the end of the chip with the "half moon" indentation on the circuit board drawing. In other words, the lever is on the side closer to where it says "ISP Shield."
Press the socket flush to the board. If you lower the lever, you can rest the board upside down on the ZIF socket while you solder the pins in place. The leads on the back side are short enough that they do not need to be trimmed.
13. Target power jumper[edit]
If you are going to use your ISP Shield to program chips that are not in the ZIF socket, you'll need to add a 6-pin ribbon cable to connect to an appropriate external target. The ISP shield can, optionally provide 5 V power to your target. If you want to do this, slide the jumper over the two pins labeled "Yup." If not, keep it in the "Nope" position.
14. Optional resistor to disable Arduino auto-reset[edit]
There is a potential issue with Arduino auto-reset and the use of an ISP shield, which is that the Arduino may automatically reset when you are trying to program a chip. While there are various solutions including pure-software solutions, we include a 100 ohm resistor in the kit that can be used to override auto-reset (without permanent modifications to your Arduino) when installed as shown:
Connect the resistor between the reset pin (far left on the lower header) and 5 V, two pins over.
Alternately, if you have a Diavolino, you can disable auto-reset by clipping (or just not installing) the 0.1 uF capacitor in the upper left of the board, by the word "green."