Maximum interconnect options from minimum board space

James Newton says:

How about this:

a 30x4 array of pads on one side of the board. (always the signals off one side of the board). The two outside rows of 30 are ground. This gives you 4 options:

- Dan Michaels Oricom Technologies

Ok, I think I've got it. Mod of your scheme above, using 2 groups of 13x3, with .3-.4" spacing inbetween. This is convenient, since one of the std DIL cables is 26 contacts, and the board can be used with 1 or 2 cables in different cases. Also, 26 pins is adequate to grab all signals, plus a gnd or 2.

Layout:

Top 2 rows take DIL cables or test leads (ie, individual 2-pin header females). Bottom row takes R-A SIL header. In addition, over/under different-length SIL business goes away. Also, no R-A DIL required. In addition, you can solder both R-A SIL (bottom row) and straight DIL (top, middle row) headers on bd at same time.

Following connections are all possible with *same* [main board] config:

Also, in both 1) and 2), DIL headers are still available for connections, due to vertical spacing. Also, an aux board that connects via the R-A SIL doesn't have to use every pin, but can make some connections via the DIL headers (for cost/space/convenience).

Damn, it's so obvious.

ooooooooooooo  ooooooooooooo  top
ooooooooooooo  ooooooooooooo  middle

.............  .............  bottom
|||||||||||||  |||||||||||||

Now to figure how many pins actually need headers on the aux programming bd - viz-a-viz last email.

I definitely think the above is the way to go. On production [boards], the lower row would have a *female* R-A SIL header, for safety purposes. You could still plug it into a whitebd using a male wirewrap header as carrier. Also, different aux bds would have R-A male SILs of only the necessary length. Better than having all those pins sticking out of the [main board]. Also, different people could do it whichever way they liked.

James Newton:

I. The connection from the [main board] to the co-produced "break-away" programming ZIP socket daughterboard (referred to as BAZIFDB?) should certainly be just traces and for the test points, and people can
  1. solder or
  2. add headers and
    1. wire wrap or
    2. connect via your 2 pin test lead idea etc.... as they think best.

    Then if they want to add a second post-production Daughter Board and avoid cables (like the CUMP photo) they can

  3. put a female RA DIL header (or what for SIL?) on the post-production daughterboard that they are adding and
    1. populate a RA DIL male header (middle and bottom rows to get all 26 signals) or two RA SIL headers (side by side) on the back of the BAZIFDB or
    2. break off the BAZIFDB and populate a RA DIL male header (middle and bottom rows to get all signals) or two RA SIL headers (side by side) on the [main board] edge next to where the break off board was.

    or if they want to add a second post-production DB and use cheap DIL cables they can

  4. have a DIL male header on the post-production daughterboard that they are adding and
    1. populate a DIL male header (middle and bottom rows to get all 26 signals) or two RA SIL headers (side by side) on the back of the BAZIFDB or
    2. break off the BAZIFDB and populate a DIL male header (middle and bottom rows to get all 26 signals) or two RA SIL headers (side by side) on the [main board] edge next to where the break off board was.

II. If they want just the [main board], they buy it alone (you break it off) or buy both and break off the programming socket board and

  1. populate 2 RA SILs left and right (or top left and bottom right for better stability) to plug it into a breadboard or
  2. populate 2 straight SILs (left and right to get all 26 signals) to plug it into a breadboard and
  3. populate 1 straight SILs (left or right to get best 13 signals) to plug it into a breadboard and
    1. add individual wires from the other holes or
    2. populate 1 DIL (top and middle rows) and use your test leads
  4. populate 1 DIL male header (middle and bottom rows to get all 26 signals) and then use a
    1. DIL female IDC ribbon cable to an IDC DIP to plug it into a breadboard.
    2. DIL female IDC ribbon cable to IDC DIL female to connect to the programming socket board (after populating the BAZIFDB with a DIL Male)

III. If you layout the BAZIFDB like a white board (two columns of 5 point strips) it can serve as a breadboard area if the ZIF is not installed. So that people can

  1. not do anything but wire signals from the uC that they solder on the board to the parts they solder into the breadboard. Makes the bare board a more useful item for one-off quick development products.
  2. socket the uC and wire stuff to the breadboard area then remove the uC and use it on another board. This is great for prototypes and design ideas that you want to keep for later. Um... would a low profile ZIF fit in the uC spot?
  3. solder the uC down and install a (smaller or larger) ZIF on the breadboard to make a programmer.
  4. install a RA DIL female on the [main board] (as the female is more expensive) and have several DBs with RA Male DILs for different ZIF socket sizes, prototypes, etc... This is like #2 but you buy the DBs rather than the entire [main board] DB set.

Maybe a picture will help:

  ||h
  ||P
  ||
  ||-,
,-|| |
|    |

Where the || is the PCB with the SMT (P)art on it. You are looking at it edge on, from the side. The RA SIL headers are attached at the bottom and come out on either side. One is trimmed so that they come down to the same level despite starting at different heights. The entire thing plugs into a whiteboard (solderless breadboard) edge on, in the center of the breadboard just as if it were a (very tall and thin) DIP chip.

The same arrangement of holes that supports this can be used for a RA DIL header. This is nice for plugging it into a female RA DIL on another board or for use with strip board where you cut a separation between the rows. Since it is standing up, you can put a lot of other components in along side it.

||
||
||--,
||-,|
   ||

Or a straight DIL header with the PCB laid flat. This is good for ribbon cables and especially ribbon cable to DIP socket cables.

======
||

Now, the next trick is to run one set of signals all the way along the edge... Hard to explain, but like this:

ABCDEFGHIJ
0123456789ABCDEFGHIJ

So all the signals can be accessed by a 20 pin DIL (2 rows of 10 pins) or a 20 pin SIL (1 row of 20 pins). In this case there would be a lot more pins, but the same idea applies.

Now you can do one RA or straight SIL which is perfect for laying down along the edge of a whiteboard or standing up on a strip board.

Finally, I like the idea of applying a row of ground pins at least on one side of the DIL so that if you use a cable, you can have every other wire grounded to keep noise and cross talk to a minimum. I'll use G for the ground pins.

ABCDEFGHIJ
0123456789ABCDEFGHIJ
GGGGGGGGGGGGGGGGGGGG

This allows all the signals to come off in an IDC cable, with one side grounded. It does require that the ground holes be placed right at the edge of the PCB and it means the RA headers mentioned above have to be a bit longer to reach past the board. Note that most whiteboards have a groove running down the center that makes for a very nice socket for the edge of the board if you use the RA top/bottom setup at the beginning of this email. You can also move the ground to the other side (see below)

Having the ground pins all along also allows one to setup their bench with a batch of little two pin header sockets that run to a logic analyzer, scope or probe of some sort. That probe can be as simple as a resistor and an LED. I have a batch of these that I've made from PC motherboard LEDs (they come with a two pin header already) where I've just added a resistor in line and put some heat shrink between the header and the LED. What to know what a pin is doing? Just stick one on that pin and the ground pin just under it. Very neat, very easy.

That same setup is nice for standardizing the connection of switches, buttons, pots, and other things. Even power supplies.

For power stuff, I like to run all the signals twice and move the ground up:

GGGGGGGGGGGGGGGGGGGG
ABCDEFGHIJ0123456789
0123456789ABCDEFGHIJ

Why? Because you can get .2" terminal blocks for cheap. Every other pin, top and bottom of the board gets all the pins. http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&storeId=10001&catalogId=10001&productId=152354 Imagine the @ signs are the screw in the terminal block:

@ @ @ @ @ @ @ @ @ @
ABCDEFGHIJ0123456789
0123456789ABCDEFGHIJ
 @ @ @ @ @ @ @ @ @ @

Or just put them in where the power wires are. Hopefully they will all be in one section... And best if they are the odd numbered pins with the low power stuff on the even pins. OR you can do:

GGGGGGGGGGGGGGGGGGGG
5F6G7H8I9J0A1B2C3D4E
0A1B2C3D4E5F6G7H8I9J
 @ @ @ @ @ @ @ @ @ @

Where the letter pins are the high power and the numbers are the low power. That still allows all the options above, provides maximum separation of power and signal lines, separated by grounds in the case of IDC cable.

Final note: If you add SIMM pads to the lower set of holes in that last arrangement, you can support the SIMMStick format at Dontronics. http://www.dontronics.com/ssinfo.html#pin Don't stress about the notch in the side of the PCB: People who want to use it with a SIMMStick motherboard or development kit can file or cut it themselves.