Microcontroller In The Middle

I've written about Open Source hardware before, such as the beagleboard and Arduino. Those are both great options for folks needing to get moving on embedded microcontroller development. The Arduino is Mbed-microcontroller-angledpretty low-end and the Beagleboard is pretty high-end. I think I've run across a good step right in the middle.

A while back at the ESC show, we spoke with a gentleman from ARM about a project that would include an online IDE, and now, here it is. It's not exactly the same as open source, but it solves many of the same problems that open source solves. Mainly, it's a quick and easy way to get up and running with an ARM processor. Well, it looks easy, anyway. I haven't tried it yet. I think I'll see if I can get one and give it a shot.

By the way, we did not build this board. We have built some Beagleboards, but not this particular product. It certainly wouldn't be a problem for us, but that's not why I'm writing about it. It just looks like a great half-way point between something like the Atmel-based Arduino (or the PIC microcontrollers that I use) and the Beaglboard which uses the super-speedy ARM Cortex-A8.

If I can run one down and find the time to fiddle with it, I'll let you know what I think of it in actual use.

Duane Benson
Stay tuned. Bulletins as event warrant.
Maybe...

Speaking of Art in the Process

I really like this picture. It's nothing particularly special. Just a BGA-type attachment point of load (POL) power module in the middle of a big PCB, but the contrasting colors, the angle, the range of focus, the component positioning...  It just looks cool to me.

PTH05060 on boardI know the function is supposed to be the most important thing, but I've always felt that there is a lot of art in PCB design. It's been said that an airplane that looks good will fly good and I think there's something in that phrase for electronics too.

No. I'm not advocating putting the visual appeal ahead of clock rise times, trace impedance and current capacity. It is first and foremost, an electronic device with an important function to deliver. But, I think a visually attractive, while still superbly functional, product makes a statement about the designer's overall attention to detail.

Duane Benson
Or, it might just be making a statement about how tight the development schedule is...

A Part Without a Footprint. Very Sad

Trim pot wrong footprintPoor little trim pot. All it wants is a nice cozy little place to put it's feet. It can see it, so close, yet not close enough. Bummer. This sad state of affairs, could, of course had been easily prevented by double checking to match up the CAD footprint and the actual part footprint.

Maybe we could dead-bug this. Just put some glue under it and hand wire some wire-wrap wire between the legs and the pads. Nah. Probably not. Better to get a new form-factor part. The wire-wrap wire thingy would work though. People do that sometimes and in many prototype situations, it will work just fine. If I remember correctly, though, this one was to be used in a shockey (as in  bumps, not coulombs) environment.

Speaking of wire-wrap, does anybody still do that? I know the wire is still around. It has lot's of good uses beyond it's original purpose, but I'm not sure anyone still does wire-wrap. It's never been my favorite prototyping technique, but I've always thought it's one of the coolest looking methods, at least when the wire is routed with care. A nightmare to debug though.

Duane Benson
Which wire?
The blue one...

Unequal Pad Sizes, Take 2

I wrote a post not long ago about via-in-pad and unequal pad sizes as a cause of tombstoning and I received a question from Aaron about unequal pad sizes:

"In my designs, I have ground pours that directly connect to pads. So as an example, a cap that goes from vcc to ground would end up with one pad attached to the ground pour. Because of the solder mask expansion, the ground side pad will be noticeable larger."

This is a pretty common practice. I do it myself sometimes. The risk of tombstoning or other solderability issues relates to a couple of things. First, the smaller the part, the more critical all of this is and the more likely it will be for problems to crawl up. I'm assuming we're talking about SMT parts. Thru-hole parts can have some issues with copper pours, but not near as many as can SMT.

Pour-with thermal Pour-no thermalThe first issue is that the copper pour on one side will act as a big heat sink and may lead to tombstoning, or at least a poor solder joint on the pour side. If high current isn't needed, then use thermal pads. That will help. I would guess that with a cap like you're describing, high current isn't a requirement.

The other issue Aaron mentioned was the soldermask expanding on the copper pour and making the aperture size smaller then on the other pad. You can try to make soldermask defined pads on both sides. Then, in theory, the mask expansion should be close to the same on both sides. You can also make a larger mask opening on the side that goes on the pour so that after expansion, it will approximate the other pad size. The problem with this approach is that if you change board houses, you may not have the same amount of expansion. The best option might be a call to your PCB fab house for a chat about control of the mask expansion.

Also, if you do use thermal pads, as in the illustration, that might just solve the expansion problem right there. Most CAD packages have either a global setting to make all pads in pours thermal pads or a properties setting for each part that would make thermal pads as illustrated on the right above.

Duane Benson
Pour poor pitiful me into a picture of a pitcher

QFP/SOIC/SSOP Mechanical Security

I've written a lot about QFN footprint issues, but the venerable old leaded SMT configuration is still around. It gets its share of disrespect and questionable footprints too. When you give it a post-solder visual QFP fillet inspection, mostly what you see is the fillet "B" in my illustration. But, here's a question: which fillet is more important, A or B? The hidden fillet, A actually gives more of the mechanical strength then does B.

Most CAD library parts will have the proper footprint for these parts, but not all. Sometimes you have something close, but not exact. If that's the case, make sure the pad leaves room for a good fillet on both sides of the lead. Doing so will ensure that you have the best mechanical connection. Don't use red solder though. It might actually be Play-dough and Play-dough isn't a good conductor.

Duane Benson
Silly Putty won't work either

Package on Package Layout

Amkor POP sm Last week in one of my Beagleboard posts, I was musing on the issues related to layout with a package-on-package form factor. I pondered a couple of options, but Occam's Razor held true. Gerald Coley, the designer of the BeagleBoard pointed out that the CAD software simply doesn't care. And that's perfectly logical.

If you're designing with POP like the Ti OMAP processor, just don't worry Beagle-smabout it. There are no layout issues - except for all of the normal ones like escape routing, trace current capacity, crosstalk, components spacing, vias in pads, etc, etc. Just place the bottom part where it's supposed to be, like you would if it isn't POP.

The manufacturing folks, on the other hand, do care. But that's easy. Just put the POP top part at the same XYtheta location in the centroid (pick and place) file and make sure the build instructions are clear that it is a POP part. Simple.

Duane Benson
Curse you Red Baron!

Parts Substitution Woes

I've written a bit about parts substitution before and how it a simple sub can either not matter or cause a board to go up in smoke. Here's a case where the component was 100% electrically okay to be put in the design, but the form factor messed everything up.

Cap parts sub woes

The PCB was laid out with a tantalum cap in mind, but somewhere in the process, a metal can electrolytic was tossed in. Sometimes tantalum vs. standard electrolytic can make an electrical performance difference, but here it just mucked with the mechanics.

The pads are the wrong size and spacing and the base of the cap is too big so it gets in the way of other parts. Just a little cautionary tale. If someone else is doing the parts ordering for you, make sure that either they don't make any subs without contacting you first, or give them an approved subs list.

Duane Benson

Vias under Power Transistors

Normally, a power component like this would have a big pad and some heat dissipation space under the heat slug. It might even have thermal vias going to another heat pad on the back side of the board. If it's being run at anything close to it's full current capability, that would be a requirement. This one is probablyVias under thermal pad a bit underutilized though, rendering the big pad un necessary. It's still a good idea for mechanical strength, but in the prototype world, we don't always follow the rules.

The problem here though, is that the open vias under the part can short to the thermal pad. That's bad mojo. Some board fab houses can put a solid coat of mask over the vias and they'll be okay. Not all board houses will do that though, and if the board has a silver finish (this one is HASL), you wouldn't want the vias sealed because silver vias can outgas and corrode if completely sealed.

We just put something non-conductive between the part and the board and it's all fine, but as I've said so many times before, that's not best-practice, even for a proto, and it's doubly not good in a production environment.

Duane Benson
Connect the 16 via dots and what do you get?

OMAP3530 Package on Package Layout

If you've read my prior post, you know that we've built up some package on package (POP) boards. We built up some test boards with dummy components and some working Beagleboards. For the Beagles, we didn't do any of the design or layout work here. We just used the open source Gerbers and BOM files provided at www.beagleboard.org.

BB pop cut out populated I've been reading through the Beagleboard.org message board and pondering the issues related to such a design. At first thought, it seems that placing the part in the layout program shouldn't be too much of a problem. I think most CAD software will just let you set one part on top of another. You may have to ignore the DRC checks for that part, but other then that, it shouldn't be a problem. The Centroid (X,Y,theta) file shouldn't be a problem either. The two reference designators will just have the same XYt value.

What I'm really wondering about though is the library component - the footprint. How do you make a component with pads on the top, in addition to pads on the bottom? What copper layer would you put the top pads on? You'd need to put the pads for the top POP part on that missing copper layer too. Will CAD packages let you create extra copper layers with a Z-offset? Layers that float in the air? Weird.

I don't have much experience with big-system CAD packages so I don't have the answer to these questions, but I expect it's probably not to difficult. Here's my first guess: just make an extra layer and call it pop layer. In the library tool, put the top pads of the OMAP chip in that layer and the regular pads of the POP memory chip also in that layer. Then when you export the Gerbers for board fab, don't include that the pop layer or at least make sure the fab house knows that it isn't a copper layer (or any other layer to go on the board).

On the other hand, I guess maybe you could just not worry about it and in the schematic and layout, simply treat the POP set as one chip. Just make sure that the assembly files (Centriod, BOM and any build instructions) tell the assembly house where to place the POP part. Hmmm. I don't know what would be best.

Has anyone reading this made a POP layout? What did you do?

Duane Benson
Goober snorts

Beagleboard and Package on Package Assembly

So, what's the big deal about the Beagleboard and us building it? If you aren't familiar with it, check out www.beagleboard.org for all the details.

In short, it's an open source hardware design development board / embedded system utilizing the Ti OMAP processor and a Micron memory chip in a POP (package on package) form factor. The POP is the significant point here. Well, that plus some 0.4mm pitch BGAs.

Beagleboard we built cropped  
We assembled this one. The image below left is AbiWord running on the board pictured here.

The Ti processor is a 0.4mm pitch BGA and the Micron chip that goes on top of it is a 0.5mm pitch BGA. The power management / audio chip on the Beagleboard is also a 0.4mm pitch BGA. That's some pretty tough stuff and not a lot of folks can build it. Not only can we build it, but we can build it in small prototype quantities - as few as one at a time. We're proud of our capabilities and dedication to both quality and on-time delivery. (So, yes, there is a bit of self-horn blowing here.)

BB we built screen shot sm If you're primarily a software person and just want a working beagleboard, the least expensive route is to go to Digi-Key or Special Computing and buy one preassembled. But, if you want a derivative design, or just any old design using a POP part, you'll need someone that can build it properly. We've been assembling small volume prototypes of difficultAmkor POP sm designs for over six years now and we love doing the tough stuff. From 0201 passives, flex boards, rigid-flex and now POP. We also do easy stuff.

The beauty of the open source design is that Ti, through the Beagleboard organization, has made the Gerber files, the schematics and the CAD files available open source. That can give you a significant head-start in getting your custom design up and running. And, then, once you're done and need someone to put all of those parts on the boards and chips, connect up with us. We can assemble it for you. This is considered a special process, so you'll need to get confirmation from us on what turn-times we can support for your specific board before placing the order.

Duane Benson
Quaffing root beer with Bill Mauldin