Personally, I really like being able to see the non populated parts (aka: NP, DNI, DNP, etc.) from the schematic. A co-worker and I have been thinking about how to best depict non populate in the schematics for home projects when using KiCAD.
Having worked in design services, I’ve seen many companies handle this different ways. I’ll give a couple of examples of how I’ve seen this done.
Many companies have integrated databases where they generate their own unique part number. I’ve seen where they add and ‘np’ to that part number. Example: np1234567
Other tools have part management or variant management. For instance, OrCAD has the CIS Part Manager and Altium has the Variant Manager. Those will can change the color or look of a symbol in the schematic capture too.
I’d be curious to hear how other folk handle non populate indicators in their home projects? Or am I missing a great feature that KiCAD already offers?
till now i only had one project where i needed some variants on the pcb…
so i had drawn the complete schematics with all variants -
and also designed the pcb so that i can switch what variant to assemble.
that was easy because i had only two or three parts that exchanges…
in the schematic i marked this with boxes and some text…
on the pcb i have no silkscreen print (its to pricey for the things i do )
so i have to rely on the schematics documentation
i have seen other arduino-clone schematics that just exchange the value of the component with NP or something similar.
additional you can eventually use the ‘visibility option’ for the silkscreen labels - if you set theme to invisible they are grayed out…
I use a strategically-placed very large font “X” attribute in the symbol, that is invisible by default. When I want to indicate DoNotInstall, I just toggle the “X” to be visible for that particular component. The BOM script can then key off the visibility flag for “X” to know whether or not to include the component (or it can just be included and tagged). The schematic shows the part with a nice big “X” over it.
Since I will sometimes have several different assembly options for one design, I use a custom field I call POPTAG, which can be DNP or POP_ASSY1, etc… It makes creating the BOMs easier.