Assigning footprints in the schematic vs just dropping them on the board, which camp are you in?

Oct 15, 2026 Last reply: 1 day ago 7 Replies

First reply

eli.grant

I assign footprints in the schematic first, every time, and I stopped fighting myself about it about two years ago. What sold me was a power supply board where I pushed symbols over with blank footprints, then spent an afternoon picking packages in the layout editor, and when I…

Read the full reply

Lately I keep going back and forth on workflow here. When I start a new board I usually can't decide whether to sit down in the schematic and assign every footprint up front, or just get the symbols placed, push to the PCB editor, and pick footprints while I'm staring at the actual layout.



The upfront way feels tidier. Everything gets pushed over in one go and nothing comes across blank, so no surprises halfway through routing. But sometimes I don't really know what package I want until I see how crowded the board is getting, and then I'm just guessing in the schematic anyway and changing it later.



So for the people who do bigger or denser designs, do you actually commit to footprints in the schematic first? Or do you consider that overkill for hobby-sized projects? And if you assign late, do you bother running ERC before the first push or just live with the noise until things settle? Genuinely curious what the split looks like, because both approaches seem defensible to me.


I assign footprints in the schematic first, every time, and I stopped fighting myself about it about two years ago. What sold me was a power supply board where I pushed symbols over with blank footprints, then spent an afternoon picking packages in the layout editor, and when I updated the schematic later the whole thing got tangled and I lost a day untangling it. The guess-the-package-later arguement is real, but in practice I've found that for most parts the choice is pretty constrained anyway. A 0805 resistor is a 0805 resistor. Connectors and anything with current thru it are the only ones where I genuinely wait, and for those I'll drop in a placeholder I know is bigger than needed and swap if I have room to spare.

On the ERC question, I run it before every push, mostly because my library has duplicate pin numbering in a couple of old symbols and I'd rather catch that before it's on copper. It takes a minute and the noise clears out fast once you fix the recurring warnings.

My designs are two layer hobby boards, nothing dense, so maybe I'd feel differently above four layers. But the one-go push keeps my head clear and I've stopped losing parts in the layout that never got a footprint assigned.

I'm mostly on the other side of this. For my own boards I leave footprints blank in the schematic and pick them during layout, and it's worked well for years. The trick that makes it painless is assigning them in the footprint field of each symbol only after I've settled the package, then updating the PCB from schematic so the two stay in sync. Since then I've never had the kind of mismatch mess the previous poster described, because I only push after the assignment exists, not before. The reason I like choosing in the layout is exactly what the original poster hinted at. I did a small sensor board last year where I assumed everythign would be 0603, got it into the editor, realized my hands and my iron were not going to cooperate with 0603 on that density, and switched the passives to 0805 in about ten minutes. If I'd committed in the schematic first I would have either rebuilt it or squinted and suffered. I do run ERC before the first push, but only for real errors, not footprint warnings. The blank footprint warnings I just ignore until the board is placed. On hobby-scale stuff that noise costs nothing, and once footprints are assigned and pushed it goes quiet anyway. For anything with 500 parts or a contract fab involved I'd probly flip my approach, but for my usual two or four layer projects this has been the low-friction path.

The 'a 0805 resistor is a 0805 resistor' bit is where I lose the thread. Sure, for a pullup maybe, but I've been burned twice by locking packages early and then realizing mid-layout that I wanted bigger pads becuase I hand solder everything. Swapping a footprint after the fact isn't as clean as people make out either, the ratsnest shifts and you re-place a dozen parts. My habit now is sizing passives for my own eyes and iron, not for density, and I decide that in the schematic where the decision actually belongs. Curious how the first replyer handles hand assembly, that changes the whole calculus for me.

I do a halfway version that's worked for the last few boards. Passives and small stuff get assigned in the schematic right away, but anything I'm unsure about, mainly connectors and headers, I leave blank and sort it out in the layout. Only snag so far was forgetting one connector was blank and pushing anyway, then wondering why a footprint was missing when I opened the board. The unassigned filter in the footprint assignment tool catches that in about ten seconds now, so I just run through that list before every push and it's been smooth since.

For me the schematic pass is less about workflow and more a forced datasheet check. Last year I dropped 24 parts on a board and assigning footprints made me actually open each datasheet, which is how I caught a sensor with a 2mm pin pitch I'd assumed was standard. If I'd picked packages in the layout while eyeballing ratsnest I'd have found that out with a soldering iron in hand. The BOM export comes out clean too, which matters when I send boards out for assembly twice a year. Does anyone here do the assignment pass and still swap things later? Curious how often that actually happens in practice.

What worked for me was baking the footprint into my own library symbols. Once I copied the standard symbols I actually use into a personal lib and set the default footprint on each one, most of the assigning happens automatically. New schematic, hit annotate, and nearly everything's alredy got a package. Only the oddballs need a manual pick. Took an evening to set up and I haven't thougth about it since. Curious if anyone else does this or if it bites you when a symbol gets reused on a board where you'd want a diffrent package.

Update: I tried the hybrid thing someone suggested, passives locked in the schematic and connectors left blank untill layout. Mostly went fine, but I did push once with a header still blank and got that floating-symbol surprise in the board editor. Also the point about hand soldering and bigger pads hit home, so I'm leaving my small parts roomier than usual this time.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required