Electronics > KiCad

Is it me or is the symbol/footprint mapping in KiCAD kind of wacky?

(1/3) > >>

cubeflake:
Sorry if this is a bit of a rant, but I'm curious to hear other people's opinions about this.

Until about half a year ago, I've always used EAGLE and DipTrace but eventually I've had to abandon them because both are, in the end, too clunky and/or too slow to do serious work in. I still don't want to pay up for Altium and so I've switched to KiCAD, and I've been quite happy with it.

But I've only just realized that KiCAD maps symbols to footprints purely based on the pin/pad number?? There is also a pin name field, but that does not seem to be used. The pin number field also does not have to be a number, it can be a string, and multiple pins/pads can have the same "number".

To me, this seems like a very strange decision. Initially, I thought that they have done this to keep a symbol purely a symbol, so that you don't have to worry about the footprint while doing schematic capture. However, since the pin numbers are directly mapped to footprint numbers, you do have to worry about it. For example, there are at least 3 "generic" N-MOSFET symbols, namely "drain/gate/source", "drain/source/gate" and "gate/drain/source", referring to the ordering of the pins.

So, you cannot really speak of a generic symbol anymore, and you have to think about which MPN you want to use while designing your schematic. At this point, why not have a "component", which is basically one mapping from a symbol to a footprint, like EAGLE and DipTrace do? It seems strange that I have to worry about pin numbering when creating a new symbol, just to make sure that it will match up with the footprint.

Am I doing something wrong? Is anyone else confused by this?

Curious to hear your thoughts.

Jim

shabaz:
Hi,

That aspect is, for sure, different from the way EAGLE does it. All I can suggest is that you will eventually get used to it. Fortunately it is very quick and easy to copy footprints and symbols (right-click on them in the list pane on the left) and then 'Save As' so they can be then be edited.

Some things in KiCad are clunkier than with EAGLE, but other things increase productivity, so there are disadvantages and benefits. Overall, personally, I can't see myself ever wanting to go back to EAGLE (I made the EAGLE -> KiCad transition a couple of years ago).

janoc:
You don't have to use the generic symbols & footprints and then associate them after the fact.

Most KiCAD libraries have the symbol and footprint directly associated in the library for each part, more like other software does it.

It is up to you how you set up your workflow and libraries. KiCAD gives you the flexibility - for some things one works better, for others the other one does. E.g. the generic symbol/footprint system allows you to have only a single QFP44 footprint instead of having a copy of one for each component using it that you have in your libraries. And then having to update/maintain them too, for example ...


--- Quote from: cubeflake on July 17, 2024, 09:17:28 pm ---So, you cannot really speak of a generic symbol anymore, and you have to think about which MPN you want to use while designing your schematic. At this point, why not have a "component", which is basically one mapping from a symbol to a footprint, like EAGLE and DipTrace do? It seems strange that I have to worry about pin numbering when creating a new symbol, just to make sure that it will match up with the footprint.

Am I doing something wrong? Is anyone else confused by this?

--- End quote ---

You should create libraries for your components and then set the "Footprint" field of your symbol to the correct fooprint for your part. Then you don't need to worry about pin numbering or picking the right footprint. This is how the KiCAD component (not generic symbol) libraries are set up.

cubeflake:

--- Quote from: janoc on July 17, 2024, 09:57:12 pm ---You don't have to use the generic symbols & footprints and then associate them after the fact.

Most KiCAD libraries have the symbol and footprint directly associated in the library for each part, more like other software does it.

It is up to you how you set up your workflow and libraries. KiCAD gives you the flexibility - for some things one works better, for others the other one does. E.g. the generic symbol/footprint system allows you to have only a single QFP44 footprint instead of having a copy of one for each component using it that you have in your libraries. And then having to update/maintain them too, for example ...


--- Quote from: cubeflake on July 17, 2024, 09:17:28 pm ---So, you cannot really speak of a generic symbol anymore, and you have to think about which MPN you want to use while designing your schematic. At this point, why not have a "component", which is basically one mapping from a symbol to a footprint, like EAGLE and DipTrace do? It seems strange that I have to worry about pin numbering when creating a new symbol, just to make sure that it will match up with the footprint.

Am I doing something wrong? Is anyone else confused by this?

--- End quote ---

You should create libraries for your components and then set the "Footprint" field of your symbol to the correct fooprint for your part. Then you don't need to worry about pin numbering or picking the right footprint. This is how the KiCAD component (not generic symbol) libraries are set up.

--- End quote ---
`

I did not realize you can already specify a footprint in the symbol, that does make more sense to me. Thanks!

Doctorandus_P:
The alfanumeric string for "padnumbers" is essential for footprints such as BGA's, which use "chessboad coordinates".

Multiple pads in a footprint with the same number all have to be connected once on the PCB. If you have for example one of those power MOSfets, then you can either choose:

1. Put all pin numbers in the schematic (Yes, this is done sometimes, 4 pins connected to the drain...
2. Use pin stacking. this hides the pins in the schematic, and I don't like it much.
3. Just give the pads in the footprint the same number.

For the generic parts such as MOS fets (and also BJT's), they are available with all possible pin mappings in the default device library, and they have the pin ordering in their name: GDS, GSD, SDG, SGD, DSG, DGS.

I never used eagle, I tried it once but could not get to grips with it. I believe eagle uses some kind of separate table to do pin mapping between symbols and footprints. But where is that table stored if you have "generic" symbols and "generic" footprints?

I like the simplicity of KiCad of the direct pin number mapping. In KiCad the symbol is the "part" / reference. You can add attributes to the symbols (footprint, datasheet part numbers, etc). This makes it very easy to modify existing symbols or create new ones. What I remember from eagle, you had to dive into the library system just to create a resistor of 0.2 Ohm. With KiCad, the value of the resistor is just a text string.

Starting with KiCad V7 KiCad can also use a database driven library system. This is fully optional, and the database itself is not a part of KiCad. Nice if you want to have "fully specified parts" including things such as ordering information, suitable substitutes, pricing, etc. But for a hobbyist such as me it's a bit much, and I never looked into that part of KiCad.

Unfortunately direct pin number mapping does not work well with simulation. Spice models often have their own pin numbering, and pins can be remapped inside a schematic symbol for the simulation only.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod