I’m currently working in KiCad 8.0.8 having migrated from7.x.x.
How is the “exclude from position file” flag set? Is it purely by accessing footprint attributes > properties or can it be set automatically by changing “Do not populate” flag?
Has there been an issue with the “exclude from position file” flag, when migrating projects from version 7 to version 8?
In version 8 is there a way to search for footprints with the “exclude from position file” flag set? I really don’t want to have to individually check each footprint on my PCB manually as there are a lot
The backstory:-
I had projects that i completed using KiCad 7. I then updated to KiCad 8 and have had to make changes and I’m seeing issues with some components having the “exclude from position file” flag set. I don’t ever recall changing this attribute. I have however, removed the “Do not populate” flag for some components and these also retain the “exclude from position file” flag. I’m unsure how it was initially set.
Using KiCad 8 on a new project, ive just done a quick check and changing “Do not populate” flag in schematic carries the information across to layout and “exclude from position file” is cleared. This is what i expected.
This has all come to light as i have a board in manufacture and the assembler has identified some components on the BOM marked as fit, not having an entry in the position file.
I came across this exact problem today… I’ve just finished a ‘revision 2’ board that has a multiple new components added to it. I’d previously gone through rev1 and manually set flags for ‘exclude from position file’ and ‘exclude from BoM’ file so I could get a prototype made by JLC that only had generic components (parts such as cpu, rtc, etc left off as they weren’t in the JLC/LCSC catalog). It was a big task.
Now I’ve got a board with 1000 odd components on it with these two “exclude from position / BoM” flags inconsistently set! The “bulk edit symbol fields” in the schematic is AWESOME, but the “exclude from position” flag is PCB only… and I can’t see an equivalent ‘bulk edit’ function in the PCB.
I really don’t want to go over the entire board and select every component to verify the flag is set properly (my fault for not thinking of it while placing the new components).
What would be nice is an option to generate a BoM (from the PCB) with an option “list everything anyway” and have a couple of columns to show such flags.
Then I could look at the file and say… yep, the flag on that component needs toggling.
EDIT: Similarly (in regard to a ‘bulk edit’ function), when the PCB has passed all tests and is ready for full production, I’d like to ‘bulk edit’ all the “exclude from position / BoM” so that everything is loaded.
This is one thing that I’ve never really got to grips with/understood . . . the relationship between Schematic “Do not populate” and PCB “Exclude from position files”
Why wouldn’t “Do not populate” automatically set “Exclude from position files” for the corresponding footprint ? “Do not populate” is carried across to the PCB from Schematic with F8.
After migrating from KiCad 7, do a one-time audit using the PCB List panel or Find Items to clear any unexpected “Exclude from position file” flags.
For new projects, KiCad 8 works more consistently. The DNP flag in schematic does not automatically imply position exclusion — which allows more granular control.
I’ve done enough pcb population and especially Automated Optical Inspection (and X-Ray) that this is necessary information.
The inspection process may well need to view component R13 at some (x,y) location on the assembly, and verify that no component is present.
Also, an experienced ‘old hand’ looking at a pcb assembly will occasionally notice a missing component. It’s much more efficient and complete to see R13 in an assembly document listed as ‘Do Not Place’ than looking everywhere for R13 until you’re sure it’s not in the document.
Whenever I produce a BOM I explicitly state every reference designator. Those which are not populated are listed as such. I’m sure I’m not alone…?
My BoM even goes so far as to list things that would be considered ridiculous to put on the schematic, but things that are necessary for assembly… mounting screws, enclosure, shims, glue/silicone, programming header parts (eg wire, pins and housing), and any required crimp tools. Basically, all the things you would need to make one (although I usually won’t specify things like brand of solder paste… unless it is a critical choice - like a silver content or a specific flux)
Things like screws get a quantity, but things like crimping tools don’t - but they are there so you can identify the correct tool (from the dozens in the drawer that all look like they’d “do the job” - but don’t really), and if you need to buy it, where to get the dang thing from!
Same. My CM want’s to see everything in the PnP file including mounting holes and fiducials. They want to see every possible ‘component’ called out on the BOM with DNPs separated out.
One reason is stuff option variants. My PCB designs are often a ‘superset’ and I manage the different configurations at the BOM level or PCBA level. If a given customer has a high enough volume, I depop circuity that they don’t need or want as it lowers our cost and increases our profit margin. Additionally, a part that isn’t there will never fail. 1st principle.
Coming from Orcad capture and PADS layout for like 20 yrs, this is another area where I really appreciate moving to Kicad. I don’t miss Orcad/PADS much at all anymore.