DNP flags in BOM/POS files, or exclude from position file in schematic

I’m trying to exclude some components from the build, and from discussions, I see that do no populate doesn’t do this. You have to set “exclude from BOM” and “exclude from position file”, but “exclude from position file” is only settable in the PCB editor, not in the schematic, which is really strange.

I’ve also read that there is a DNP flag that is in some generated output if that is set, but I can’t find that. Is there a way to get that in the BOM or position file? I can post-process as necessary for what I need, but I need to be able to find it.

Thanks,

-corey

Did you find this discussion also? DNP symbols are written out to pos files - #4 by craftyjon

Yes, and unfortunately it doesn’t really help. I know I can mark them all, but I have to do it in both the schematic and the PCB editor, otherwise updating the PCB might overwrite the BOM setting.

What I really want is a way to find out from the fabrication output if a component has DNP set. That would be ideal. But I can’t figure out how.

It would also make a ton of sense to have the “exclude from position file” flag in the schematic, which would also work for me. But I think that has been discussed before.

Thanks for the reply.

You should also consider keeping DNP parts in the position file. The position file is just a list of the positions of all potential components according to their reference designators. It is not the same as the BOM (which controls which components actually exist).

2 Likes

You can choose to include or exclude DNPs. I choose to include them and sort them to the very bottom of the BOM then manually edit the BOM to include only the reference designators in a separate section called Do Not Stuff:

FWIW, my CM wants to see all the components in both the BOM and the PnP files and they reconcile on job setup. It’s flushed out an error on my part more than once with an email about a footprint with a refdes but not called out on the BOM as either a stuff or nostuff. They recon that’s an error and they’re usually right.

I also make use of the ‘show Exclude From BOM’ function as an error check now. I sort on that column and make sure it only has things like test points and mounting holes. One of the errors I made early on in Kicad that was the root of irreconcilable BOM entry is that I had mistakenly somehow checked Exclude from BOM on a critical Xilinx part and the tool dutifully . . . excluded it from the BOM. Doh!

Well, that would be fine with me, but JLCPCB doesn’t like it if there’s something that’s in the position file that’s not in the BOM. I guess I could post process to remove anything in the position file that’s not in the BOM. But that’s sub-optimal.

Plus, I want some obvious indicator that the thing’s not on the board. It’s too easy to screw up and set DNP and not set “don’t put this in the BOM”.

I have found a workable solution. There is a “Exclude all footprints with the Do Not Populate flag set” flag when generating the position file. If I check “Exclude from BOM” on all the DNP parts and check the other flag when generating the position file, it does what I want. That flag is not sticky like most other settings, though. But if I mess up something, JLCPCB will give me an error, so I have a double-check.

I’d still like to see a DNP flag put into the position file or some fabrication output.

1 Like

I don’t use JLC, (I see them as a sort of a race to the bottom. If I don’t support what little is left of domestic businesses, they’ll be gone entirely soon enough), but if you include everything in the PnP and DNPs sorted and separated in your BOM, then both would have everything and would satisfy that requirement?

I don’t know about you, but I do manual post-processing on my BOM anyway and I think it’s easier and safer doing BOM edits vs PnP edits. Fewer line items in the BOM vs the PnP.

KiCad can sort DNPs to the bottom (or top) of the BOM for you:

1 Like

Yeah, like I said, I would like it if the DNP flag could be put into the position file. I do post-processing, mostly automated and if I could have all the DNPs at the beginning or end, that would work. How do you do that? I don’t see an option.

It’s getting off topic, but I agree about JLCPCB. Is there any domestic shop that can do what they do? Their web setup is pretty complete; I can do pretty much a whole design without having to involve a person. I’m mostly using them to make sure everything I have is correct and clean for manufacturing.

-corey

For one-stop shopping at rock-bottom prices, there’s nothing domestic (USA) that even comes close as far as I know. In a race to the bottom, they’ve won.

For smaller 2-layer and 4-layer proto qntys, I order PCBs / stencils from Sunstone and components from DigiKey. I toaster-oven / hot plate / hot air reflow myself. Sunstone is about 25miles from me in Oregon. Just down the road from them is an assembly house (Screaming Circuits) that is closely affiliated with Sunstone. Screaming Circuits will get PCBs a mile down the road from Sunstone, and buy your components from DigiKey and stuff them.

DigiKey is also in the PCB business with DigiKey Red. They claim they’re made in the USA.

For larger designs at higher qntys, we use a turnkey CM in MN. Being turnkey, they purchase components and PCBs themselves. For components, they buy from DigiKey (down the road from them in MN) but sadly they usually purchase the PCBs from . . . China.

1 Like

Ah, if you generate the BOM from the schematic, it will put the DNP in there. If you generate it from “Fabrication Outputs” in the PCB editor, it will not. Ok, I’m happy with that.

As far as JLCPCB is concerned, it’s not so much the price. It’s their tools for dealing with the board, parts orderings, etc. I’m probably not going to use them, but what they have is pretty slick.

Thanks for all your help.

1 Like