Go Down

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

leen15

#15
Feb 24, 2015, 03:18 pm Last Edit: Feb 24, 2015, 03:19 pm by leen15
I just redraw the board and used 8mil for clearance and 0.254 for wire width.. should i use 10mil for clearance? i have to increase a lot the width of entire board for use 10mil of clearance..  :smiley-confuse:

I would like to use no SMD components for what i can.. only chips in smd.

CrossRoads

You're already SMD for the chips and some caps, so you're going to need a stencil no matter what - bit the bullet and place a few more SMD components and have most of the board all done in one reflow pass.  I use stencils from pololu.com.  Select 3 mil mylar so the chips don't get too much paste.

8 mil clearance should be fine with those few parts.  Be sure to have solder mask applied or bridging could be an issue with the chip legs.
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.

leen15

I never solder SMD components, but as i saw here at minute 18:20:

https://www.youtube.com/watch?v=z7Tu8NXu5UA&feature=youtu.be

i can use soldering flux that is available in europe and it's easy to use for what i can see.

For now i used only SMD for chips. Caps and other components are normal :)

ShapeShifter

I'm back... Bringing up the layout on a larger screen lets me see more details. A couple more observations...

I see you're running a ground bus. Usually, I ignore the ground signals while routing, and then at the end I use a pour to fill in all of the empty space with copper, and name them as GND, top and bottom. This acts as a giant ground plane, and usually makes the routing easier. You can type in the "ratsnest ! gnd" command to turn off the ground airwires so they don't get in your way. Or you can get the properties of one of the ground signals in the board layout and check the "Airwires Hidden" check box at the bottom of the dialog.

Looking at ground, you've got a nice thick trace all the way to the first IO connector. Then it becomes a thin trace that snakes through the grounded pins on the chips, and cascading through to all of the other chips and connectors. There are thick traces between the ground pins on the connectors, but that isn't accomplishing much. Any current drawn by the board plugged into the last IO connector will need to draw through all of those skinny traces, and will affect the ground reference for every chip and IO connector leading up to it. This can cause noise and unwanted operation.

A large ground plane can help with that. But with such a crowded layout, you have to make sure it isn't breaking up the ground plane too much and there are still places for the current to flow. Often times, it necessary to scatter vias around that have no traces on them, but which stitch the upper and lower ground planes together That can help the current flow past a long trace bisecting the board, or give it a path to an island that would otherwise be isolated. Having the power pins at the bottom of the IO connectors will help in that regard, since the heaviest draws (the connectors) will have a short almost direct connection to the shield ground pin. Of course, the same thing can be said about power -- keep those thick through the whole run. As it is now, it has the same limitations as ground.

I try to keep traces as straight as possible. It's mostly cosmetic, but it doesn't hurt to minimize the trace length, especially on higher current traces. Take the power line fro your 3 pin select jumper. It goes over to the resistors, then up to the connector. On the way to the connector it makes a 90 degree bend and a couple 45 degree bends. If you got rid of the 90, and extended that short angled section towards the resistors, it would shorten the trace. But, if instead you jogged over a little from the select jumper, and brought it straight up the side of the connector, it would be even shorter. Then, you could run a trace through the DIP switch pins and go straight horizontally to the thick trace. That can be a skinny trace, as that part of the circuit will draw a maximum of 2 mA with all switches on (and none with them all off.)

I see you have plenty of acid traps, for example on the outside of IC5 pin 4, the bottom of pin 8, and the Y connection on the inside of pin 3.

You've got some long runs of address lines between the IO pins and the decoder on the far left, and they are running through prime real estate. You could shorten those lines considerably by putting the address logic in the middle of the board, and shoving IC3 and 4 over to the left. (Oh, wait... that will make them interfere with the Ethernet and USB ports on a Yun, won't it?)

These are just some comments and observations, but I am in no way an expert. It would be nice to get some feedback from some who are more experienced in good board layout.

From earlier comments, I get the idea that you are pretty new to this. Well, if that's the case, it doesn't show. It looks pretty good! MUCH better than the layout of that kickstarter board you began with.

As for stencils, it does make life easier. But for limited runs, hand soldering a few chips is not a show stopper, especially the "bigger" chips like these. But you definitely do want soldermask! Where I work, we do all of the prototype boards by hand, even the big boards and the really tiny parts. About the only parts that get sent out to a fabricator for assembly are BGA chips, and then we do the rest of the board when it comes back. (The setup costs for sending the whole prototype board out for assembly are too high when you're talking just 3 to 6 boards.)

ShapeShifter

https://www.youtube.com/watch?v=z7Tu8NXu5UA&feature=youtu.be
That's a good informative video. He makes it look so easy! Of course, it's a lot of practice to get to that point.  :smiley-twist: One of these days I hope to be able to solder that well.

I then looked at the video he links to, where Mike is showing some parts placement tips. Man, he talks so fast and jitters his hands so fast, I have a headache after watching it.  :smiley-confuse:

In my last post, I mentioned how it would be nice to have more feedback from people. I don't know how, but I completely missed all of the great posts and tips from Crossroads, all I saw when I made my last post was his last one about stencils. I'm sorry if my comment made it sound like I was ignoring or dismissing those posts, it wasn't my intent.

ShapeShifter

I just redraw the board and used 8mil for clearance
I use the DRC rules downloaded from OSHpark. Some key values:
  • Clearance tab: 6 mil for every field
  • Distance tab: 15 mil copper/dimension, 6 mil drill/hole
  • Sized tab: 6 mil wide, 13 mil drill
  • Supply tab: 10 mil thermals
  • Masks tab: 3 mil stop, 0 mil cream and limit

I generally go a bit bigger, trying to stay to 10 or 12 mil for traces, and putting them on 25 mil centers. I only go tighter if really necessary (13 mil vias when necessary, and lower clearances when trying to snake between pins.) But those are just the conventions I use for myself, I don't have any scientific basis for it, other than generally being round numbers.

leen15

#21
Feb 24, 2015, 05:27 pm Last Edit: Feb 24, 2015, 05:30 pm by leen15
Ok so, i drew again with:
- 0.254 wire for signal (8 mil)
- 0.4064 wire for power supply on chips
- 0.3 drill
- 8 mil clearance

I read very fast what you wrote, i never used ground plane, i don't know how to make it  :smiley-lol:
But, now i think i'm not so far from the final result, there are still some problems like long run and acid traps,  if you can get me to notice i thank you.
I rotated 180 chips and IO pins so now VCC and GND are at top of board but i kept pin configuration so i don't have to (and i shouldn't like do) reconfigure pins in software.

I'm not an expert, but when i was young (20 years ago?) i looked my father with the old circad software make some simple pcbs and until now i made only some basic pcbs, this is the first so complicate and with smd components  :smiley-mr-green:

CrossRoads

Ground plane - draw a polygon (not a rectangle) around the outside of  the Dimension line. Name it Gnd. Do the same for both Top and Bottom layers. Then click Rats Nest and it will connect the Gnd pins to it.  You may need to add a few Vias, aslo Name them Gnd, to connect the Top & Bottom layers for maximum Gnd plane coverage.
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.

leen15

Ground plane - draw a polygon (not a rectangle) around the outside of  the Dimension line. Name it Gnd. Do the same for both Top and Bottom layers. Then click Rats Nest and it will connect the Gnd pins to it.  You may need to add a few Vias, aslo Name them Gnd, to connect the Top & Bottom layers for maximum Gnd plane coverage.
Do you think that at this point could be useful or i keep the layout as is? :)

CrossRoads

You're using the SSOP package, with 0.65mm pitch on the pins? That could be tricky soldering.
The '328P in TQFP with 0.8mm pitch is hard enough.

Ground plane is definitely useful.
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.

CrossRoads

Helps when etching the board too as less material has to be removed.
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.

leen15

#26
Feb 24, 2015, 06:52 pm Last Edit: Feb 24, 2015, 06:52 pm by leen15
You're using the SSOP package, with 0.65mm pitch on the pins? That could be tricky soldering.
The '328P in TQFP with 0.8mm pitch is hard enough.

Ground plane is definitely useful.
I don't understand, What does '328P have to do with my shield?  :smiley-eek:

ShapeShifter

#27
Feb 24, 2015, 06:57 pm Last Edit: Feb 24, 2015, 07:02 pm by ShapeShifter
I like how you've addressed the acid traps, and also thickened the power/ground traces around the chips. :smiley-cool: (you've still got a couple acid traps near the caps where the smaller trace peels off from the thick trace.)

You've also used very nice thick traces to between JP1 and JP2, but that trace between the two connectors is very long (in order to find a spot you can put the vias) and those two connectors are still isolated from the power source by smaller traces.

if you don't want to move the power and ground to the other end of the connectors, it may improve the situation by putting a thick bus horizontally below the connectors, moving the existing traces down some to give some room. Then, you can run the traces up the side of each connector, much like the the existing traces on JP1 and 2, but continuing them down to the bus. And, instead of putting a via in the the power line, maybe put them in the signals? (See the quick sketch attached - power is selected with the "eyeball" tool to make it highlighted, blue background is ground plane, I didn't include a top ground plane to make it less cluttered, but it should be there.) Also, by putting 6 data lines on the top, and only two on the bottom, I spaced the bottom traces wider apart, letting me put larger vias on those lines (those are 10 mil traces, 20 mil vias, and 50 mil between the bottom layer traces, 25 mil on top - of course, those numbers can be adjusted to your desires.)

i never used ground plane, i don't know how to make it  :smiley-lol:
This video does a reasonable explanation (if you ignore the silly sound effects) https://www.youtube.com/watch?v=O5aZQLSJajI

Near the end, he drops a bunch of stitching vias, and then names each one GND. To save time, I drop one via, name it, and then copy/paste it a bunch of times. He has a section of the board that forms an island and has nothing filled in: I will drop some vias in area like that, and it gets filled in with ground plane. I will then use the "eyeball" tool to select and highlight the ground plane. It really makes it stand out and makes it easier to see areas where there are long skinny sections of ground plane. I will go and add some vias to such a section to make it less likely to pick up noise from adjacent signals, especially if it's a long peninsula that dead ends with no ground connection near the tip.

Again, while typing and drawing, 5 more replies came in. Some of this may now be redundant, but I'm not going in and changing it...  :smiley-twist:

leen15

Thanks for your suggestion ShapeShifter, I'll try to move GND and VCC of JP* to a horizontal bottom bus as in your sketch!  ;)

CrossRoads

Quote
I don't understand, What does '328P have to do with my shield?
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.
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.

Go Up