Go Down

Topic: 64 I/O Expander Shield for max 1024 I/O (Read 24034 times) previous topic - next topic

leen15

#30
Feb 24, 2015, 07:34 pm Last Edit: Feb 24, 2015, 07:36 pm by leen15
I was just using the pitch of the '328P TQFP pins as a spacing comparison to the spacing of the SSOP pins on your chips.  Your pins are closer and trickier to solder by hand.
Did you see the youtube video that i posted before?
I hope with that method could be easy to solder these pins. :)
I choose the same package that there was in kickstarter project of original discussion.
Is there a package more easy to solder but not bigger?

CrossRoads

As I said, too small for me. We could not do the drag soldering successfully, and do not have steady enough hands to place parts on stenciled solder paste. 0.8mm pitch is the best we've been able to do.  Most times.

Get some practice before you try it.
Easier to solder, and not bigger, do not go together 8)
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

bobcousins

Looks like your board is shaping up nicely and you are getting some good feedback. I will restrict to a couple of comments:

1) Make sure to leave clearance around the connectors JP1-JP4 for IDC headers, probably ok depends on size of those decoupling caps.

2) For my 1024 IOs  :smiley-mr-green: is the idea to stack boards? It seems IC6 at least would prevent that.


With SMT, dipping a toe gently into the water is probably a good idea, you might find the water agreeable, or not, either way it's good to have tried it.
Please ask questions in the forum so everyone can benefit. PM me for paid work.

bobcousins

Did you see the youtube video that i posted before?
I hope with that method could be easy to solder these pins. :)
I choose the same package that there was in kickstarter project of original discussion.
Is there a package more easy to solder but not bigger?
The MCP23017 comes in an SO version, which is much easier to solder, but package is inevitably bigger. That actually allows more routing paths, so I would try placing one in your layout.

I use ordinary soldering tools (fine tip and solder) for SMT work, my special tool is a binocular microscope. This allows me to solder like I always used to, but at a smaller scale.
Please ask questions in the forum so everyone can benefit. PM me for paid work.

CrossRoads

We stencil on solder paste (my job), place parts (wife's job), then reflow in a toaster oven (I hand control temperature, wife watches the time).
Got to figure out the glue part so we can reflow double sided.
And assemble all the parts I have for an over controller into an actual oven controller!
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

ShapeShifter

As I said, too small for me.
LOL! Everything these days are too small for me.  ::)

It's not fair... back in the '70s working on projects as a kid, I had great eyesight, but didn't need it because everything was huge. These days, things are so tiny, and my eyesight, while still OK, is nothing like it used to be. I can hardly see half the parts, let alone read the printing on them or solder them. I should've been working with the tiny parts back then, and the big parts now!

Last week, I was working on a customer's board (he built it, I was bailing him out of a software problem) and I needed to tack on some fly wires (dang pins on the processor are too small for logic analyzer microclips.) I didn't notice it, but there was an 0402 resistor (speck of dust!) nearby. Well, I must've accidentally touched it with the iron and the part stuck to the tip never to be seen again. Boy, did that cause problems when things that used to be working suddenly stopped working. Took me a while to figure that one out...

Speaking of reading the printing, who's bright idea was it to use dark grey print on black packages? What's wrong with using white?

1) Make sure to leave clearance around the connectors JP1-JP4 for IDC headers
Good point! I usually try to leave at least 0.2 inches clear on the ends, measured from the last pin.

Quote
2) For my 1024 IOs  :smiley-mr-green: is the idea to stack boards? It seems IC6 at least would prevent that.
Is there room to bend the leads and put the package flat on the board?

But then again, it may not too much of an issue: with a ribbon cable connector mated onto the headers, it will likely be tall enough that the boards won't stack tightly anyway. May need stackable headers with extra long tails, or a set of extra stackable headers as spacers between each row?

The MCP23017 comes in an SO version, which is much easier to solder, but package is inevitably bigger.
Is there room for a bigger package? Hmmm... I guess the I/O headers could be changed to surface mount versions -- they take up more board room because of the way the leads splay out, but that could allow putting the header on the top of the board, the chip right below it on the bottom of the board, and just a a row of vias to pass the signals from the chip to the connector?

________________________________


And now for a drastic idea that will allow tight stacking of a whole column of boards: Dual Row Right Angle Headers. Make the board just a hair longer on the right side, so there is room to put a 20 pin segment of these on the right side of the board, and another on the left side. Wire them up so you have power/ground, the data bits from one chip, power and ground again, and the data bits from the next chip. Put a pair of these on each end of the board. Now, you can plug a 2x20 IDC connector on it, then split the ribbon cable in half, and put two 2x10 connectors on the other end of the cable. You'll get the same effective pinout, but nothing will be taller than the body of the shield headers, even when there are cables mated. As a side benefit, it will give you LOTS of room on the board to use bigger chips and still have plenty of room for easy routing. Something along the lines of the attached.

I know, a drastic change this late in the game. But at least it's all on paper at this point and you haven't built any boards yet!  :smiley-twist:

ShapeShifter

This thread is reminding me of an old joke...

Q: What's a camel?

A: A horse designed by a committee!

CrossRoads

The flat layout could interfere with the barrel jack and USB connector.
The original connectors might interfere with the ICPS connector also.
Tall thru pins could be needed.

All the review never hurt, and helps to bring up gotcha's before things are ordered.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

ShapeShifter

The flat layout could interfere with the barrel jack and USB connector.
The original connectors might interfere with the ICPS connector also.
He already extended the left side of the board so as not to interfere with the Ethernet and USB connectors on a Yun. They seem to be taller than other boards, so if he clears those, he should clear the ones on an Uno or more standard Arduino. Still, the left side might need to be extended some more so the header tails are past those connectors (then the only worry is potential interference with the Ethernet and USB cables, but they are typically lower than the receptacle shell.)

On the other end, the board will definitely have to be expanded, since 20 pins won't fit between the shield headers. So that automatically clears the ICSP connector. (In my sample layout, I extended the right side of the board, the left side will probably have to be extended a bit more.)

One advantage of this layout, is that by extending the board, it automatically puts the surface mount chips on top of the tall Arduino connectors and ICSP connector, preventing conflict there. (On his current layout, he was careful where be put the through-hole components to prevent interference.)

leen15

#39
Feb 25, 2015, 12:34 pm Last Edit: Feb 25, 2015, 12:36 pm by leen15
Hey! how many comments!  :smiley-mr-green:

This is the new layout, i added ground plane and move IO pins a bit down for more clearance, thanks for the great tip, I would never seen that!  :smiley-yell:

The board is made to not be above RJ45 and USB connector of YUN, JP1 is above ICSP connector but on YUN it don't touch it because usb and rj5 is taller of ICSP so the board should stay upper.

For put 2 boards one above the other, LM317 is not fundamental for the functional of the board, i actually use the clone board with 2 saintsmart expansions and works with arduino power supply, they are only digital signals and i don't think that can be so hungry for use external power on every shield.  :)

Every expansion connected to this board have his power supply.

ShapeShifter

It's looking real good. We're getting down to the minor details now. You've still got an occasional acid trap here and there.

At this point, I like to look at the routing one layer at a time, and look for little details and things that can be cleaned up. I do this with only the one layer, pads, and vias turned on, all silkscreen, names, and other distractions turned off. For example, on the bottom layer the pair of traces starting under IC2 go up over and down, when there could be room to take a more direct path.

I like how you used liberal silkscreen call-outs for all of the pin functions.

I'm concerned about some the names silkscreens. Many of them seem to use proportional font which means they will look different (and probably take up more room) when the board is produced, because everything will get changed to vector font. You should make sure everything is vector.

Also, many of the components have the names inside the component outline. That will be OK while you're assembling the board, but once the board is built, you won't be able to see them when testing/debugging the board, and it may make it harder to find the parts. That's not such a big deal with a small board like this, but it's a good habit to get into to move them out of the way.

You need to look at the capabilities of the board house that makes the boards, to figure out the minimum silkscreen size. For example, OSHpark prints silskcreen at 200 dots per inch, which is a low resolution by today's printing standards. Very fine or very small text won't be clear. I find that I have to limit my size to about 32 mil (40 is better for small labels) and turn up the ratio to about 15% to make them bolder, otherwise the width of the strokes in a character are well less than 1/200th of an inch.

CrossRoads

#41
Feb 25, 2015, 04:18 pm Last Edit: Feb 25, 2015, 04:20 pm by CrossRoads
IC1,2,3,4 need something to indicate where pin 1 is also in case someone besides you is assembling them.
Same for the ADDR SEL Jumpers - 0-1-2-3, or 3-2-1-0.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

ShapeShifter

I thought of those too. I don't like it, but I'm guessing the open end of the IC1-4 outline is to show the pin 1 end, much like the notch in some other outlines?

I figured the DIP switch would show position numbers, but you're right that something needs to be on the board to show pin 1 during assembly. Still, probably a good idea to label A0-3 on the board, since the markings on the DIP switch will probably be 1-4, not 0-4.

leen15

#43
Feb 25, 2015, 09:02 pm Last Edit: Feb 25, 2015, 09:07 pm by leen15
Updated!  :D

Increase fonts and set all to vector, add ADD SEL numbers, draw IC1-4 first pins, shorted traces under IC3.

I kept R* names inside symbols, not fundamental for normal use :)

Other suggestions?  :smiley-mr-green:

leen15

Just received pcb specifications from manufactory.

Can you check? It should be ok for me.

Go Up