PCB design questions

Three questions on PCB design process. I presume I’m just hoping for things that don’t or shouldn’t exist, but … whatever the answer I will learn something!

Q1: Are there existing “stock” footprints that support multiple parts/footprints?


If not, I've created a schematic + PCB ...

I made the following adjustments:

  • Uses TLV75533PDRV (WSON-6, 500mA?)
    • TLV74433PDBVR didn’t exist in KiCad 8.0 defaults… presumably was a 400mA version, so I went to 500mA
  • J-Link Tx/Rx (COM port connection) to 3-pin header
    • Can be ignored/deleted, but … may as well have the traces and drills even if not populated
  • Moved LED to VTref side
  • Has footprints for both through-hole and SMD for…
    • Conn_02x10 (JLink 20-pin)
    • Conn_01x03 (for COM port connectivity)

I wanted to stick with the built-in footprints, so I just added two components (one for through-hole, one for SMD) on those. The problem there is that the design rules checker finds tons of warnings/failures as a result of those overlapping footprints.


e.g., for Conn_02xYY_, allowing both through-hole and pass-through (creates a plated hole + the SMD solder branches)

e.g., similarly for Conn_01xYY_, having through-hole, and having both left and right SMD footprints so can use either type of part

e.g., for a given SMD capacitor / LED / resistor, a single footprint that supports multiple sizes?

e.g., for any other given part, where even though footprints vary between versions of that part, a common footprint can nonetheless be generated?

I realize that the above footprints might be targeted more towards a hacker board, not final production boards, because of the wasted space on the PCB layout. Still, these seem like useful footprints to have available, especially when wanting to maximize the ability to change parts without having make distinct PCBs.

Q2. Is there a reason to avoid the above (e.g., problem during fabrication)?

Q3. Is there some other “correct” (architecturally “clean”) way to have a schematic + PCB design, where you pick and choose between options for some of the populated parts?

In the schematics Kicad now (introduced with Kicad 8 IIRC) has an option to set “do not populate” (part properties dialog). You can use that to create alternative population options.

But the layout does not have a corresponding option. So for your part that is marked “do not populate” in the schematics, you still get a footprint in the layout. And this is what you usually want: one layout that can be populated with different parts.

But when these footprints are overlapping, the design rules checker will show you errors. I’m not aware of an option that will prevent these, other than disabling the individual errors after you manually verified that they are actually ok.

I have done this in my own layouts a few times, for example a combined footprint for Micro-USB and USB-B where I can either go for the mechanical strength and big size of B or use the much smaller micro-B.

I think Ian has done something similar with the overlapping 1206 to 0402 footprints for the capacitors on the new protoplank.

So I think this is a common design pattern. You just have to be careful when accepting the DRC errors that you don’t miss a real problem that crept in between the known ones.

1 Like

When you use an assembly house and let them populate SMD parts, they use reflow soldering. For that to work the final combined footprint (and in consequence, solder paste stencil) should match the part that you populate.

It will cause issues if the footprint is for example much larger than the actual part. For example tombstoning is one issue that can happen when you have much bigger openings in the soldermask than recommended for the part. Or the parts can rotate to an odd angle due to uneven forces of the wet solder.

So for SMD footprints you have to be careful and be familiar with the process details to know what can cause issues and what not. But for THT footprints it usually doesn’t matter if there is an unused hole more or not.

1 Like

TIL … Tombstoning.

Found one site had a great video of it occurring.

Thanks for (once again) broadening my horizons, electronic_eel!

2 Likes

There are a few stacked footprints out there, like the multiple USB connector mentioned and often DIP/SOP chips. Generally each stack serves some bespoke purpose though, so you won’t find a lot of general purpose part stacks.

What you suggest would be interesting. Instead of a Do Not Populate, some kind of footprint tree to select from.

I approach it the opposite way, KiCad is just an afterthought. First, I get to know what parts are in my universe of options. This is often the real time sink and learning curve when starting board design. I spend a ton of time reading datasheets and checking stock levels at szlcsc.com. You might also check highly cost optimized designs like the Bus Pirate :wink:

SOT-23-5/6 voltage regulators for example seem to follow the unofficial “Micrel” (?) standard. They tend to have the same pinout and a shut down switch. The Micrel parts are ancient, but newer parts tend to be happy with a single 0.1uF ceramic capacitor. Are they all the same? Heck no! And that’s gonna catch you out occasionally, it’s just part of the process.

When you’ve devined what parts are pretty common/similar/well available, then check kicad for a matching symbol. It doesn’t have to fit the part number, just the same component with same pinout.

Next, go to tools->assign footprints. Now you’re just looking for the standard footprint for the package size, not a specific part number footprint. For TLV74311PDBVR I use SOT-23-5.

On the Jlink board for example, it still says TLV74311PDBVR for the VREG, but that is a 1.1volt part. That’s because I’m confident (overly probably, reaches for datasheet) that we can just slap a 3.3volt vreg in that footprint and it will be fine :slight_smile:

I’m doing this in real time and no take backs if I messed :slight_smile:

We use Microne 3.3v in the Bus Pirate but in SOT-89 (?). It’s cheap and reliable. Max 6V in, 3.3volts up to 500mA which is way more than we need for powering some buffers. 111K stock.

Lets see if I goofed :slight_smile:

image

This is good. low ESR ceramic caps. It’s modern-ish.

Okay, I don’t really like this one now because it specs 1uF caps, I’d rather something more modern that can get by with 0.1uF caps for a simple application. It’s not a show stopper though.

The main thing is the pinout.

Pin Function
1 VIN
2 GND
3 /Shut down
4 no connect
5 VOUT

If we bump the input and output caps to 1uF this part should work fine.

Edit to add: Looked at a few more datasheets and 1uF does seem to be the most common. I have never gone with the minimum, usually something between 4.7uF and 10uF.

1 Like

Thanks for the detailed walkthrough of your process, Ian.

It confirms that the process is as hard as it seems when needing to switch footprints (checking part stocks!). Oh, well … hacker workflows aren’t the norm, so I understand why it’s not a mainstream set of questions I have. :slight_smile:

Thanks electronic_eel, Ian for the kind thoughts!

It’s mostly knowing what legos you have in your box and how they fit together.

The first one is hard because you have to learn how to do it, and also learn a bunch of parts at once.
Your frustration is totally normal. After that it’s one or two new parts at a time and it becomes an educational treasure hunt rather than a huge mountain to climb.

I really enjoyed the bus pirate 7 thread because it gave me the opportunity to explore the market of several common parts I’ve just never used. DACs, iO expanders (I2C in general), ADCs, and TVS diodes. Watching @electronic_eel test some of those parts to the point of destruction has been a…Blast!

3 Likes

What I do is I keep bookmarks to interesting parts I see other people use or chat about. So when I come upon a new set of requirements, it is often just a search in my bookmarks to find something that fits.

Yeah, that is fun. Really looking forward to testing the limits (and beyond) on the finished Rev 7 in a few months or so…

Today I got the parcel with the test pcbs for the vio-protection. Unfortunately it is the most busy weeks of the year at my dayjob, so I will have to postpone populating and playing with them for a few days.

3 Likes