Capacitors_SMD footprint GitHub libraries are incorrect

I don’t know what kind of standard creators of this library on GitHub used but the footprints there are not anywhere close to any known standard I could find. May I suggest that the creator would download a copy of PCB Library Expert , which is a free tool based on algorithms and engineering goals established in the IPC- 7351B standard and compare its results against the library. I can relate to the desire to reinvent the wheel which every engineer should have but sometimes you just need to follow the well trodden path because it is trodden there for a reason.

One more thing about the SMD chip footprint libraries. Do they really need to have those giant font values and references? When you try to place a 0402 chip resistor and the value field is twice the size of the component itself it gets slightly aggravating. I know those fields can be hidden, I know you can change the size of them all at once. But why not just make it the right size from the get go? I don’t care how “pretty” it looks, I don’t really need to see a value of a resistor or capacitor in giant letters during board layout. Every time I use these libraries I have to manually change the value field text to width of 0.1 mm, height 0.1 mm and thickness of 0.01mm and “hide” every field inside of the footprint. Because, let’s face it nobody needs to see it. The biggest component designator I can live with is width 0.5mm, height 0.5mm and thickness of 0.1mm. When the board gets tight i can change it to even smaller size.

Which ones offend you?

The tiny ones (which I personally find quite ugly), or the electrolytics?

It is not so much matter of offending my sensibilities but rather a matter of following standards, which as engineers, we can all agree is important. My post was about chip capacitors. There should be just one library for chip inductors, resistors and capacitors.

The chip capacitors are based on AVX datasheets so I assume it’s correct.
The font size shouldn’t be too small. Smaller font - smaller probability that pcb manufacturer can paint it. The reference is usually important, the value was moved to assemby layer (disable if not needed).

There is no need to assume anything. Correct according to who? If another manufacturer suggest a different footprint for chip SMD components then it will become incorrect? That’s exactly the reason we have standards. IPC is your bible if you are an EE and according to IPC it is incorrect. Your first clue should’ve been if you tried to place a chip resistor and a chip capacitor with the same footprint next to each other then you would notice that the footprint for chip capacitor in skinnier and longer than the one for the resistor. There is no logical reason that two chips of the same size should have different footprints unless the tolerances on chip capacitors are WAY looser lengthwise and WAY tighter across than those of chip resistors. Once again refer to the application I mentioned above to get an idea of proper footprints.

The beauty is in the eyes of the beholder. However, if the font is twice the size of the component then it becomes a problem. If the smallest component you use in your design is 1206 then it might be OK. As far as manufacturability - any average board house can do 0.005" (0.127mm) silk screen line width. And again, it doesn’t make sense to print components designators on the board, if the component is 0402 or smaller. And yes you can move your values field to another layer, which just hides the problem but doesn’t solve it. If you design uses a lot of small chip components (0603 and smaller) you just move your mess to another layer which will serve absolutely no purpose unless you manually change font sizes and rearrange the fields.

The footprints are probably tested by AVX and correct, maybe someday somebody will make land patterns for chip capacitors according to IPC.
All fonts in default library now are 1x1x0.15mm, recommended height of text on silkscreen in IPC is 1.2mm (even bigger). User should set fonts on silkscreen according to his needs (smaller for high density applications, bigger if he wants big, easy to read references). Footprints in default library don’t have assembly layer drawn yet, in future it may be drawn and then proper font sizes on it will be calculated. A lot of work.
If you set thickness of font to 0.01mm you do something wrong. If you set it “every time” you probably use default library instead of your own which is wrong. You need your own library.

That is too many “probably” and “assume” for an engineer. I applaud your customer loyalty to AVX but if they told you to make a footprint in a shape of a banana, would you do it as well? Just as a point of interest - why AVX? Why not Murata, Panasoic or Taiyo? Do they have some special insight into footprint development? And yes you can calculate your footprint to be just about anything. It all depends on your tolerances and a couple other values. It doesn’t mean that it should be a default footprint.

Once again having a font 1x1x0.15mm with a component that is ~ 0.5mm x 1mm serves no practical sense. Nobody in his right mind is going to print small chip component reference on the board but it will create additional work during layout to rearrange and resize everything.

We seem to have quite different ideas about right and wrong. Let me try again to explain it logically. I will never ever ever ever have small chip components references physically printed on an actual board. There are just too many of them and they are too small (talking about 0402 and smaller sizes). So if I don’t need them printed I don’t care about limitations of manufacurability so I would set them as small as it is convenient for me. It is convenient to have a component reference smaller than the actual footprint because it doesn’t create clutter and I can find a spot for them next to the component when the layout is tight. It is convenient for me to change the font size to 0.1mm with thickness 0.01mm for the value of the component because I honestly couldn’t care less about it during the board layout and there is no reason it should create additional clutter. I place the value field between two pads of the chip components. If I really want to know what it is I can always zoom in.

All texts are 1x1x0.15 for consistency, other users shouldn’t have to guess where and how big are the texts because you prefer use them incorrectly (silkscreen will be printed on board, assembly will be printed on assembly documentation - no way to set them to 0.01mm). It’s not true that nobody will use silkscreen with small components. If you don’t want silkscreen - hide it.
If somebody will draw IPC footprints it’s ok to put them into official library if they keep kicad library convention rules.

It is like buying a drill set and every drill got the same shank - 10 mm diameter. No matter what size drill it is - 0.5mm drill got a 10mm shank, 150mm drill got a 10mm shank. Hope the comparison is not lost on you :wink: BTW you are consistently inconsistent. You completely ignore the standard in the design of the footprint but you insist on standardizing the font size. And what’s there to “guess”?! You just open a footprint and see that text corresponds to the size of the component. Great mystery! Furthermore, If you want to have all the component references actually printed you can change them all in one set to something printable. However, you can’t do the opposite except for doing it one by one by hand.

Well a person with no common sense might, but again, we talking about majority of engineers, who are on average quite reasonable people

I tried to explain that point above: I want to see component references during layout, not the giant ones but of normal size, proportional to the component size. I don’t want to hide them. However if you think that printing references on a real board for a busy design with 0402 and 0201 is good idea, I would venture a guess that you primarily spend most of your time on the software developing side rather than designing hardware.

I like a lot of things about KiCad. What I don’t like is set in their ways developers who think that they know better just because they are the ones writing the code and ignore everybody’s else opinion. It seems to be the Achilles heel of this software suite.

Too small references on silkscreen are not manufacturable so they can’t be allowed in default library. You don’t understand the purpose of reference and layers: silkscreen and assembly. They are not used to make drawing board easier.
Librarians and developers are not the same people.

Two people divided by common language. Never mind. Remain stuck in your opinion.

Here I completely agree with you. It definitely not used to make layout process easier! :smile:

I agree IPC land pattern will be better (but afaik nobody is going to draw it :confused: )
I disagree that references should be smaller. In default libraries they should be predictable and manufacturable to avoid problems (anything unexpected by users like thinner line or hidden text).

Ok, here is a piece of the real world for you

Here is my board with your font sizes. Looks good, doesn’t it!

And here is my board with my “incorrectly” used references and values.

Let me guess, you like the first one better. Hey, as long as it is predictable!

Who will manufacture your board? Do you want to have silkscreen or not? If not - hide it. If you want - set the size acceptable by manufacturer.
Don’t assume everybody want have the same size of texts. Make your own library. Everybody should have his own with everything set to his needs.

All you need to do is to delete chip footprints form the Capacitors_SMD library and rename Resistors_SMD library to something like Res/Cap/Ind_SMD Current Resistor_SMD is much closer (albeit not exactly the same) to IPC recommended footprints.

I give up! It is like trying to explain to a blind color red.

Actually, someone (not me) already has used the IPC guidelines to create KiCad footprints. You should be able to find them somewhere.
I’d be curious to see one of your finished PCBs, with the footprints you consider good.
My own foot print libraries are loosely based on IPC where I felt it was useful. In other places I’ve made (slight) adjustments to suit my needs. Why don’t you just do the same? Show us blind folks how it’s done.

The subject of the thread is errors in Capacitor_SMD library and some other constructive criticism thereof. You can start a new thread and name it “I can do everything myself” and post your foot print design achievements there.

Not exactly sure why you enlisted yourself into the blind category. If you like the standard Capacitors_SMD library as is that’s fine. That doesn’t make you blind. What I was referring to with my “blind” analogy is inability to carry my point across to the previous speaker.

Ok, point taken about the blind category bit.

The reason I suggested building your own library is that someone needs to do the work, be it you or some other volunteer with write access to the KiCad repos. You seem to know what is needed, so why not start? If I agree your library is better, you’ll definitely get my vote for replacing the current library with yours.

If you want, have a look at my GitHub, maybe there is some stuff you can use as a starting point. If I remember correctly the resistor & capacitor pads are according to the IPC. The SH_ prefix repos are the footprint ones. The 3D repo… I guess that’s obvious.

Had you put your suggestions to the KiCad development list and been ignored? It seems to me you have some valid suggestions. KiCad is actively under development and what you’re suggesting is not core to the functionality nor should it require code. I’m surprised you have experienced this attitude from any of the contributors to the project.

These sorts of changes and inclusions are actively discussed, and contributions like yours frequently submitted at the Github repo for KiCad component libraries. If you’ve got the start of a library of your own it could easy form the basis of a set of footprints that become part of the distribution too. It’s the involvement of community with new ideas that is the true strength of KiCad and why it’s evolving so rapidly.

Cheers ! Geoff