Difference between revisions of "ISP Shield Assembly Instructions"

From Evil Mad Scientist Wiki
Jump to: navigation, search
m (Added links to all Digikey parts, added link for Evil Mad Science ZIF socket)
(update to scientist)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is a work in progress, to be finished and posted the week of March 28, 2011.
+
This page walks through the basic assembly process for building the [http://wiki.evilmadscience.com/ISP_Shield ISP Shield], version 1.0.
  
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/v1catalogimages/kit/imgmed/3.jpg
  
  
== Bill of Materials ==
 
  
{| border="1" cellspacing="0" cellpadding="5" |
+
== Bill of Materials, or, "What's in the kit?" ==
 +
 
 +
{| border="1" cellspacing="0" cellpadding="4" |
 
|Line
 
|Line
 
|Ref Des
 
|Ref Des
Line 15: Line 17:
 
|----
 
|----
 
|1
 
|1
|J1 thru J4
+
| n/a
|Header set, 6-pin (2 pcs), 8-pin (2 pcs)
+
|PCB for ISP Shield
|Stacking type  header, 0.1” spacing
+
|Printed circuit board
|Evil Mad Science
+
|Evil Mad Scientist
|[http://evilmadscience.com/productsmenu/partsmenu/251 633]
+
|[http://shop.evilmadscientist.com/productsmenu/tinykitlist/254 9600026]
 
|1
 
|1
 
|----
 
|----
 
|2
 
|2
|J5
+
|R1
|Target Power Enable, Header
+
|Reset line pull-up resistor
|3 pin right-angle header, 0.1” spacing
+
|10k, 1/6 W
 
|Digikey
 
|Digikey
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=TSW-103-25-F-SRA-ND TSW-103-25-F-SRA-ND]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=10KETR-ND 10KETR-ND]
 
|1
 
|1
 
|----
 
|----
 
|3
 
|3
|J5 (jumper)
+
|R2 thru R6
|Target Power Enable, Jumper
+
|Reset and LED load resistors
|2 pin jumper block, 0.1” spacing
+
|1000 ohm, 1/4 W
 
|Digikey
 
|Digikey
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=A26242-ND A26242-ND]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=1.0KQBK-ND 1.0KQBK-ND]
|1
+
|5
 
|----
 
|----
 
|4
 
|4
|S1
+
|J5
|Reset Switch
+
|Target Power Enable, Header
|Tactile pushbutton switch
+
|3 pin right-angle header, 0.1” spacing
 
|Digikey
 
|Digikey
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=679-2452-ND 679-2452-ND]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=TSW-103-25-F-SRA-ND TSW-103-25-F-SRA-ND]
 
|1
 
|1
 
|----
 
|----
 
|5
 
|5
|ISP6
+
|PROG, ERROR, PULSE, HELLO
|6 pin ISP Header
+
|Indicator LED
|2x3 pin 0.1” spaced DIL header
+
|3mm, Diffused Yellow
|Digikey
+
|Evil Mad Scientist
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=609-3202-ND 609-3202-ND]
+
|[http://shop.evilmadscientist.com/productsmenu/partsmenu/339 9330030]
|1
+
|4
 
|----
 
|----
 
|6
 
|6
|R1
+
|XTL
|Reset line pull-up resistor
+
|Crystal
|10k, 1/6 W
+
|16 MHz
 
|Digikey
 
|Digikey
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=10KETR-ND 10KETR-ND]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=XC1721-ND XC1721-ND]
 
|1
 
|1
 
|----
 
|----
 
|7
 
|7
|R2 thru R6
+
|C2, C3
|Reset and LED load resistors
+
|Capacitors for crystal
|1000 ohm, 1/4 W
+
|18pF, 50 V ceramic
 
|Digikey
 
|Digikey
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=1.0KQBK-ND 1.0KQBK-ND]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=BC1004CT-ND BC1004CT-ND]
|5
+
|2
 
|----
 
|----
 
|8
 
|8
|PROG, ERROR, PULSE, HELLO
 
|Indicator LED
 
|3mm, Diffused Yellow
 
|Evil Mad Science
 
|[http://evilmadscience.com/productsmenu/partsmenu/89-led#3mmdiff 357]
 
|4
 
|----
 
|9
 
 
|C1
 
|C1
 
|Bypass Capacitor
 
|Bypass Capacitor
Line 84: Line 78:
 
|Digikey
 
|Digikey
 
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=BC1148CT-ND BC1148TR-ND]
 
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=BC1148CT-ND BC1148TR-ND]
 +
|1
 +
|----
 +
|9
 +
|S1
 +
|Reset Switch
 +
|Tactile pushbutton switch
 +
|Digikey
 +
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=679-2452-ND 679-2452-ND]
 
|1
 
|1
 
|----
 
|----
 
|10
 
|10
|C2, C3
+
|ISP6
|Capacitors for crystal
+
|6 pin ISP Header
|18pF, 50 V ceramic
+
|2x3 pin 0.1” spaced DIL header
 
|Digikey
 
|Digikey
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=BC1004CT-ND BC1004CT-ND]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=609-3202-ND 609-3202-ND]
|2
+
|1
 
|----
 
|----
 
|11
 
|11
|XTL
+
|J1 thru J4
|Crystal
+
|Header set, 6-pin (2 pcs), 8-pin (2 pcs)
|16 MHz
+
|Stacking type  header, 0.1” spacing
|Digikey
+
|Evil Mad Scientist
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=XC1721-ND XC1721-ND]
+
|[http://shop.evilmadscientist.com/productsmenu/partsmenu/251 633]
 
|1
 
|1
 
|----
 
|----
 
|12
 
|12
 
|U1
 
|U1
|ZIF Dip Socket
+
|ZIF DIP Socket
 
|28 pin, 0.3" pin spacing
 
|28 pin, 0.3" pin spacing
|Evil Mad Science
+
|Evil Mad Scientist
|[http://evilmadscience.com/productsmenu/partsmenu/54-zif20 212]
+
|[http://shop.evilmadscientist.com/productsmenu/partsmenu/54-zif20 9220005]
 
|1
 
|1
 
|----
 
|----
 
|13
 
|13
 +
|J5 (jumper)
 +
|Target Power Enable, Jumper
 +
|2 pin jumper block, 0.1” spacing
 +
|Digikey
 +
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=A26242-ND A26242-ND]
 +
|1
 +
|----
 +
|14
 
| n/a
 
| n/a
|PCB for ISP Shield
+
|Optional resistor for auto-reset override
|Printed circuit board
+
|100 ohm, 1/4 W
|Evil Mad Science
+
|Digi-Key
|[http://evilmadscience.com/productsmenu/tinykitlist/254 681]
+
|[http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=100QBK-ND 100QBK-ND]
 
|1
 
|1
 
|----
 
|----
 
|}
 
|}
 +
 +
== Assembly procedure ==
 +
 +
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 [http://wiki.evilmadscience.com/Bulbdial 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 [http://www.instructables.com/id/How-to-solder/ this one].
 +
 +
 +
=== 1.  The circuit board. ===
 +
Here's what the bare circuit board looks like:
 +
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/v1catalogimages/pcb/imgmed/1.jpg
 +
 +
We'll be adding components to the labeled locations there.
 +
 +
 +
=== 2.  10 k pull-up resistor ===
 +
 +
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:
 +
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/v1catalogimages/kit/imgmed/1.jpg
 +
 +
 +
=== 3.  1 k resistors ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
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 ===
 +
 +
These go in locations J1 through J4, and go straight through the board to provide connections to the Arduino board below.
 +
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/v1catalogimages/kit/imgmed/2.jpg
 +
 +
 +
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:
 +
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/imgmed/7.jpg  http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/imgmed/8.jpg
 +
 +
Do *not* trim the rest of the long leads short. :)
 +
 +
 +
=== 12.  28-pin ZIF socket ===
 +
 +
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 ===
 +
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/v1catalogimages/kit/imgmed/7.jpg http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/v1catalogimages/kit/imgmed/8.jpg
 +
 +
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 ===
 +
 +
There is a [http://www.arduino.cc/playground/Code/MegaISP 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 [http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection 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:
 +
 +
http://evilmadscience.s3.amazonaws.com/wiki/ispshield/assy/imgmed/6.jpg
 +
 +
 +
 +
 +
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."

Latest revision as of 15:42, 15 November 2012

This page walks through the basic assembly process for building the ISP Shield, version 1.0.

3.jpg


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:

1.jpg

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:

1.jpg


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.

2.jpg


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:

7.jpg 8.jpg

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]

7.jpg 8.jpg

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:

6.jpg



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