Using components without footprint for reference purposes?

Hello,

my current project will have D-Sub front panel connectors with crimp terminals, the wires will be soldered to the PCB. For reference purposes (and a complete BOM), I’ve included the D-Sub components in the schematic.

The screenshot shows a section of the schematic. J13 is the front panel connector, P1 and P2 will be solder points on the PCB:

Currently, pcbnew complains about missing footprints for the D-Sub connectors because I haven’t defined them in the component properties.

Actually I’d like to write something like “front panel crimp connector” to the footprint field, but that throws an error where pcbnew complains that the specified footprint is not found.

Is there a “safe” way to accomplish what I want without creating a footprint library with empty footprint definitions?

For a complete BOM, you also need to add wire, crimp terminals, nut and bolts, maybe sleeving as well… Kicad is designed for PCBs, not assemblies. I would expect an assembly to have a separate drawing.

But apart from just ignoring the warning, I don’t think there is a way to tell KiCad to ignore certain components.

I am well aware of this, my component definitions also include fields like manufacturer, part number, comments, etc. which all hold the necessary information.

It is just the warning of pcbnew about missing footprint definitions that makes me “nervous”. Warnings upon netlist import should be just that and not something to ignore.

The screenshot only shows a small section of the schematic, it actually contains 18 D-Sub connectors and a few other front panel mounted/“off-PCB” components, so the list of warnings is rather long and I’d like to cut it down to the absolute minimum.

Edit:
Adding regular footprints and placing them outside the PCB layout is another idea, but that leads to too many unrouted connections. In addition the exported Gerber data would have to be modified to delete the unnecessary footprints and having Gerber data that is not consistent with the layout is a bad thing, too …

KiCad has the opposite logic to what you want, with virtual footprints that don’t feature in BOMs and pick and place

Well, as soon as you have a green wire in EEschema connecting two pins with each other there is a net created and taken care of for that - don’t think there is a way around this.
KiCAD/your pcb ends with the solderpoints P1/P2… that you got front plate DB15 connectors with cables in the schematic should be treated as wrong utilizing (for as long as KiCAD isn’t capable of doing that).

For those one should create a cable assembly drawing or similar:

If you are bent on doing this with KiCAD (people do this, I know :slight_smile: ) you should create a separate project and put those cable assemblies in there to not have them interfere with the pcb BOM/etc.

Never came across those virtual footprints. Where do I find these?

In the meantime I tried to create my own footprint which contains only an outline drawing and text on the Fab layer. Of course there now is a bunch of errors about pads not being found in the specified footprint …

As I said, pull the cable assemblies out of the pcb project and put them into a separate project.

As for virtual footprints - see the Attributes field roughly in the upper center for the footprint properties either in PCBnew or the footprint editor - and then have a read here:

[quote=“Joan_Sparky, post:5, topic:3127”]you should create a separate project and put those cable assemblies in there to not have them interfere with the pcb BOM/etc.
[/quote]

For now, I’ve decided to go with text on the schematic describing the necessary wiring to the front panel jacks along with part numbers, wire length, etc.

Thanks for the replies.

Edit: Removed a bit of rant.

Footprint - parameters
Virtual is for things like symbols and fixing holes, “do not fit” optional components etc

For panel-mounted components (connectors, switches, potentiometers, etc) I have created parts with the appropriate schematic symbol, but named something like “Switch, SPDT Panel Mnt Interface”. The associated footprint is simply an array of pads on the PWB - where the connecting wires will be soldered. (Or, where a pin header will be installed.) When I place the component (switch, connector, etc) on the schematic I may mark it with a text field pointing to a drawing note (e.g., “See Note 5”) and the field of drawing notes gives information such as “5. Off-board component mounted on front panel.”

Dale

That would have to be specially coloured in the schematic or we are going to see lots of complaints about components missing from pcbs after tagging accidents

Add an bitmap image of the off-board things.
I do this with snapshots from IC datasheets, so that the physical pin out is clear for checking while laying out and also it helps with debugging the circuit board.

1 Like

+1 on the wishlist from me.

The original post has normal connectors and wires.
This requires both no-footprint parts and ghost nets.
These would be dangerous if not clearly displayed as special

1 Like

That’s why it would be better to put this kind of information into another project and having the pcb in that one as a symbol that can be interfaced to…

Then you have a project:

  • for the pcb
  • for the whole assembly

If the developers wanted to implement this as a single project, a special class of hierarchical page whose content was net-less and footprint-less would be a possible method. Having virtual components on the same page as the schematic is never going to be safe

2 Likes

Looks like I am late to the party. Here are my recommendations and feedback.

First off you need two separate schematic diagrams. One for your printed board ASSY (PBA) and one for your Front Panel ASSY. Then you need to put them together in a system or interconnect schematic diagram like that of ANSI/ASME Y14.44 Figure 3.

Considering the Front Panel ASSY to be the final or top ASSY, the reference designators used would be basic designators. The PBA would be on the parts list (PL) of this Final ASSY with a ref des of A1 (A is the class letter for a separable ASSY–see IEEE 315 clause 22.4). For assignment of ref des prefixes see ANSI/ASME Y14.44 Figure 7 “Typical System Subdivision”.

Your J13 would be on the Front Panel ASSY schematic diagram, along with the crimp terminals and wire. Wire is a component just like a resistor, a capacitor, or any other part and uses the class designation letter of “W”. The schematic symbol of J13 should not show the outline of a D-sub connector, That is the job of the ASSY DWG. The J13 symbol should be that of 15 female terminals connected together with a dashed line indicating mechanical linkage. See IEEE 315A clause 5.3.4.1, which is from IEC 60617 and where you need to go these days for the proper schematic symbols. The PL for your Front Panel (Final ASSY) would be:

H1, QTY, PN, Screw (Class letter H is for hardware or use an item or find number)
H2, QTY, PN, Flat washer
H3, QTY, PN, Lockwasher
H4, QTY, PN, Machine nut
J13, 1, PN, D-sub connector body
J13-1, 1, PN, Crimp terminal
J13-3, 1, PN, Crimp terminal
J13-5, 1, PN, Crimp terminal
J13-6, 1, PN, Crimp terminal
J13-7, 1, PN, Crimp terminal
J13-8, 1, PN, Crimp terminal
J13-9, 1, PN, Crimp terminal
J13-10, 1, PN, Crimp terminal
J13-11, 1, PN, Crimp terminal
J13-12, 1, PN, Crimp terminal
J13-13, 1, PN, Crimp terminal
J13-14, 1, PN, Crimp terminal
J13-15, 1, PN, Crimp terminal
If you are going to stuff J13-2, and J13-4 you would list those also.
MP1, Total length used, PN, Heat shrink tubing (MP is the class letter(s) for a mechanical part or use an item or find number)
W1, Length, PN, Wire–size, color, etc
W2, Length, PN, Wire–size, color, etc
W3, Length, PN, Wire–size, color, etc
W4, Length, PN, Wire–size, color, etc
W5, Length, PN, Wire–size, color, etc
W6, Length, PN, Wire–size, color, etc
W7, Length, PN, Wire–size, color, etc
W8, Length, PN, Wire–size, color, etc
W9, Length, PN, Wire–size, color, etc
W10, Length, PN, Wire–size, color, etc
W11, Length, PN, Wire–size, color, etc
W12, Length, PN, Wire–size, color, etc
W13, Length, PN, Wire–size, color, etc

Do not use class letter “P” as connection points. The class designation letter P is for a connector that is the most movable of a connecting pair, with class letter J for the most fixed of a connecting pair (see ANSI/ASME Y14.44 and IEEE 315 clause 22.4). Your J16 should probably use the class letter P. For the connection points on the PCB schematic for the wires, I would use the terminal symbol whether the connection point is a plated through hole or a surface mount pad (see IEEE 315 clause A4.7 and clause 5.1.1–this is an IEC 60617 symbol. The symbol is “o”). The class letter(s) I would use is WP, which stands for wiring tiepoint and would not appear in a parts list because it is part of the PCB and not a part mounted to the board (see IEEE 315 clause 22.4). Your interconnect schematic diagram would show which wire number goes to which wiring tiepoint.

The reference designator prefix of A1 would apply to all parts on the PCB ASSY, including the PCB itself, which I use a reference designator of U0 (see IEEE 315 clause 22.2.5). For a complete parts list of the project/product you would have basic reference designators listed for the final assembly and then parts with the reference designator prefix of A1 for the PCB ASSY. Thus you would have J13, A1C12, and A1U0.

The ground or common return symbol that you should use on the PCB ASSY schematic diagram should be that of what I call the pitch fork (see IEEE 315 clause 3.9.2, which is an IEC 60617 symbol).

The schematic diagrams that you see are for a complete assembly. If there is a PCB then the schematic diagram for the PCB is a cutset of the ASSY schematic diagram. Here are a couple of cases in point. Let’s say you have ferrite beads on the leads of a transistor or ferrite beads on the leads of a connector or you use a pair of fuse clips for mounting a fuse. In each of these cases there are parts that would appear on the schematic diagram for the ASSY but there would not be an associated land pattern. For the case of the ferrite beads you would use the symbol of IEEE 315A clause 6.2.11, an IEC 60617 symbol, and the ref des to use would be E (see IEEE 315 clause 22.4). There would be no land pattern or footprint for the ferrite beads. The fuse would be reference designated F# and the fuse clips would be reference designated XF#A and XF#B. However, KiCad does not understand the use of suffix letters with individual parts so use XF#E1 and XF#E2 for the fuse clips. The fuse, of course, will not have a land pattern (footprint) as it is placed in the fuse clips. The fuse clips will have an associated land pattern (footprint) and may or may not have a schematic symbol–your choice.

3 Likes

Since I have a knack for doing proper documentation, your input it is highly welcome, although the EN standards are more appropriate for the part of the world that I live in than the ANSI ones :wink:

Thank you for taking the time to write your post. This one’s on me: :beer:

2 Likes

I was able to create a NULL footprint with invisible reference and values and assign it to symbols. This removes the netlist import warnings.

The workaround is that the null parts are still imported, and have to be moved somewhere. It’s a simple way of avoiding a separate assembly project if that’s your goal.