Footprint Association should happen in PCBnew

Exactly. Focus should be on professional workflow requirements, I feel.


I think what you want is called “backward annotation” of “back annotation” to import info from the layout to the schematic (going from schematic to layout is mostly called “forward annotation”).

There’s a video tutorial from Contextual Electronics on Youtube about back annotation the schematic in Kicad:

1 Like

This seems to be a storm in a teacup. KiCad has a few minor features that could be tinkered with to support unusual workflows, but clearly if there was anything majorly wrong with the workflow then it would have been changed a long time ago. The current workflows allowed are actually very permissive, not restrictive. Back-annotation would be nice, but it is not a show-stopper.

That sounds like you want to force your workflow onto other people, no?

I’m very puzzled by that statement, because it is not true. In fact, it is quite easy to place some parts without others assigned, and I do it frequently. Also, assigning a footprint to a component, and placing in pcbnew takes a few seconds, and in future this will get even easier.

The workflow requested by the OP, is already possible, I know this because I use it.

This thread seems to be rich on opinions, but short on facts! BTW, I strongly recommended not to go on the dev list and say the workflow is too restrictive and must be changed to “how I want it”. :slight_smile:


That has been mentioned a few times on this forum and I for one hope that never happens. In fact I think CvPCB should be expanded to be more than just a footprint selector.

With a new name of course.

What a baseless statement!

So completely untrue!

Although I disagree with the OP’s suggestion, this whole hobbyist vs professional nonsense is rather moot if not bordering on offensive.

1 Like

[quote=“1.21Gigawatts, post:26, topic:5429”]

What a baseless statement![/quote]

I might not be a layouter nor electronics engineer by trade, but I had the opportunity to look over the shoulder of and work with a couple of people that are (in at least 3 different companies).
So yeah, I base my statement on that experience.
And true, KiCAD was never involved, but the workflows there didn’t allow for arbitrary linking of footprints with symbols - it’s always been complete parts definitions with everything linked up to have the least failure prone way to create manufacturing documentation in teams - hell you couldn’t even create your own parts just like that in these environments, there were people for that, who put those things in place.

If you want me to label this group (and the other one that uses KiCAD with unlinked symbols/footprints) differently I’m open to suggestions - don’t want to discriminate anyone (or hurt feelings).

1 Like

if the libraries from kicad was more complete (symbol and footprint tied togheter) for the most hobbyist used parts, we could avoid some discussions similar to this one.

a kick-start with ready to use “real” parts for new-users, without having to think about symbol-footprint connections initially.

also serve as template/example how footprints are conncted in the symbol with the footprint field.

1 Like

If they are linked the user has to think of the footprint/package earlier than with the CvPCB workflow.
Also the maintenance workload for those libraries is higher then and they become bigger.

there are already tons of parts on diffrent github places ready to use.

problem is that the overly stringent requirements from kicad rules makes it hard to contribute to the offical libs

bigger = more bytes ?

end of the day you need the symbol and footprint = bytes

Get them together, vet them and open them up to the public?
This has been done before for 3d shapes…

It’s that groups rules to get consistent and mostly trouble free components for people to use created by a bunch of strangers.
I got my own local libs with my own local rules.

Open a repo and show them how it’s done is all I can suggest - be the change you want to see in the world (or KiCAD in that case).

Bigger as in you need a lot (and I mean a lot) more entries in the libraries to cover the options that are out there. An example if you don’t mind…

unless you think of some framework where one component covers a lot of packages… oh… wait… that’s the CvPCB workflow :wink:

1 Like

Volume ≠ Quality

Whilst some, even many footprints, are good, you would be well advised to check before using them in a production environment.

But if you want volume, you could start here…

Personally, I would like to see the whole symbol/footprint/3d/spice etc model managed as a database driven system. But that is probably not going to happen any time soon :slight_smile:


I’m sorry but the fact that a few people from a few companies do something a particular way because that’s how their employer told them to do it is not a basis for a statement stating that all “professionals” do it that way.

Why do you feel the need to label the groups? Label the methodologies, that is what the discussion is about.

They are not over stringent.
Poor quality symbols cause problems connecting wires (off grid pins), missing pins, wrong pins etc
Poor quality footprints cause written off PCBs

REF** is not even mandatory on fab-layer so that is a bit of under-stringent.

Fab layer in general often missing totaly, including pin1 marking.

Silkscreen is required i think , but for smaller components silk is often just in the way

maybe over-stringent is wrong word, unbalanced rather.

below example probaly would not go clear beacuse of wrong line-widths or something.
I tried to contribute perfectly working footprints that went trough production runs with pick and place and everything.
Rejected by admin

Point taken, will do my best.

Have a look at the new (not yet published) version of the KLC.

1 Like

I admit its been a while since I checked

I really would like to contribute, but i cant start to edit my footprints for silliness just to comply.

Maybe I will pass KLC now if revised.

Let’s say the two user categories have different core requirements, each in its own right :wink:

1 Like

You are correct! I have been working with a misunderstanding. More later . . .


Well, the first thing I must get out of the way is that I said something about Kicad in my first post that isn’t true, and also implied something not fully true. This is because I wrote that after two weeks of not using Kicad, and it looks like my memory faded.

[quote=“Electric-Gecko, post:1, topic:5429, full:true”]
…I find CvPcb to be a nuisance. I shouldn’t have to assign a footprint to every schematic component before I place any of them on the board. [/quote]

Sorry. After checking it again, I see that it does let you leave some symbols unassigned. I must have just been annoyed by the error messages when loading the netlist in PCBnew. But I’ve gotten over that one.

Well, I just tried again and found that there is a way to associate a placed footprint with a part. Just change the “REF**” to the part reference, and then load the netlist. Going into the part properties, you will see an entry in “sheet path”, which was blank before reloading the netlist.

So what I implied wasn’t fully true, as there’s a way to do it. But it would still be nice to have an easier way to do it. Like by right-clicking the footprint, then one of the options on the pop-up menu would be “set part reference”, which would give you a list of components from the schematic that can be assigned.

[quote=“nicholas, post:14, topic:5429, full:true”]
Tie up the footprint already when you make the symbol/part in the footprint field and you will never have to open CvPCB

Pushing the footprint association into layout would be a crime, it is and should be with the part itself. [/quote]
Assigning footprints to symbols the way you suggested wouldn’t help me.

But anyway, forget what I said about “removing CvPCB”, as it’s now clear that some people would rather decide on footprints during the schematic stage. Instead, I’ll now suggest that footprint association can be done in either the schematic editor or the board layout editor. I still like my idea for a menu in PCBnew to “place footprint from schematic component”. But might as well keep the existing methods until nobody wants them (if that ever happens).

But if the “hobbyists” end-up using my method, then future tweaks to CvPCB could be more directed at “professionals”.

I don’t think that will be a problem. There’s plenty that can be done to make Kicad better for hobbyists without any expense to professionals. I suppose what you’re saying could (theoretically) happen after a few years development if the devs were pushing it to either extreme. But now, I don’t think there’s any threat of such a thing happening.

However, I feel like there could be more benefit of improvements to Kicad directed at hobbyists (though not the point of making it worse for professionals). The reason is that hobbyists have fewer alternatives. As far as I’m aware, professionals are more likely to use something like Altium (which expensive beyond consideration for hobbyists). For me, Kicad is what I’m using after I decided to “graduate” from Fritzing (which is more beginner-oriented then Kicad should ever be). But all that is just my opinion. But anyway, I don’t think there needs to be any struggle between hobbyists and professionals at this point of Kicad’s development.

Hmmm. Maybe there could be separate libraries for generic and specific component symbols, with the specific ones already assigned a footprint by default. Maybe there would be separate tools to place them in the schematic, or maybe they would just be clearly distinguished in the “Choose component” menu.

Yeah, that’s right. For me the whole advantage of even bothering with the schematic is that I can plan-out the circuit before deciding on the packages. Or else I would just go straight to the board layout. Having separate symbol/footprint libraries could be a bigger advantage with the new features that I propose.

If anything, having linked symbols and footprints is not for beginners.
But I suppose it could be nice if each symbol had a list of suggested footprints so that there’s less to dig through. It might rely on some categorization system of symbols and footprints.