Single-part, multi-item symbols?

I know KiCAD supports “multi unit symbols”, but that is for one BoM item correponding to multiple schematic elements.
But can I make a single symbol encompassing 2 BOM items ?

I’m trying to make create symbol and footprint for a socketed module (

The module has 2x 2x13 2.54mm pitch pins, so the BoM should contain 2x PinSocket_2x13_P2.54mm_Vertical.

I’d like to define a library symbol encompassing all the module pins accross both sockets, with a footprint
symbol that defines the spacing between the two sockets.

I have created a single symbol and footprint with pads for non-socketed use, but this yields just the module in the BoM, not the sockets.

Kicad can not connect two symbols to one footprint.

The correct way of doing this is making a template project that contains your 2 connectors as separate symbols and footprints. Plus the outline of the module it self. (This would even allow the pos file to include the footprints as separate entries for pick and place assembly) Sadly there is no way of grouping footprints in kicad. For this reason i would suggest to lock the footprint positions in the template to make it harder to accidentally move them.

Another option is to add a user field on the symbol side that basically tells you: This symbol stands for two pin headers plus a module. (or just remember that the symbol of your module stands for exactly that.)

1 Like

As far as reference designations go this situation is similar to ANSI/ASME Y14.44, a combination of Fig. 2(d) and Fig. 2(e). The connectors on your module should be reference designated as follows: Connector CN1 should be J1 or possibly X1, Connector CN2 should be P1, and Connector CN3 should be P2. The mating sockets to mount A# would be ref des XA#P1 and XA#P2.


Ugly hack: create a pinless symbol with a graphical box, reference and value. Add that symbol to the schematic. If there’s no footprint it will cause ugly errors, so you can attach an empty footprint to it. Footprint, too, needs some graphics in it so that it can be selected and moved. This part will be added to the BOM. Whether this is worth it is up to you.

Your question goes beyond the topic of PCB design, into the realms of Document Control or ERP/MRP processes.

I agree with @9V1MI about using the “X” designator for the sockets of socketed parts.

A venerable hack for the BOM in situations like this is to define the sockets as a PAIR of pin strips, rather than two individual strips. The “Quantity” column of the BOM will read something like " 1 Pair " rather than " 2 Each ". Although this is a long-standing practice, I think it actually satisfies only the folks in Purchasing. The Manufacturing guys need to do some manual interventions in the pick-and-place file, and Material Control will grumble about the need to maintain two different stock bins - one for single pin strips, and one for pairs of pin strips - that hold essentially the same items.

Getting the module itself (not just its sockets) onto the BOM is also tricky. The systems I’m familiar with (at least, the ones that seemed to work fairly efficiently) would list the module as a line item in the next-higher assembly (different drawings, different part number (P/N), different parts list (P/L), etc). This is philosophically satisfying because the module is almost certainly NOT installed by the same pick-and-place process that populates the board with the other parts. The P/L for the higher assembly may have only two line items: the soldered PCB assembly; plus the plug-in module.

(A variation of this approach is to create variants of the item within its documentation. Then, for example, P/N 123456-0 might be the basic board, populated and soldered but without the plug-in module; P/N 123456-1 might be the board fitted with the plug-in module; P/N 123456-2 might be the same board fitted with a slightly different plug-in module that permits higher speed or lower voltages or more hostile environments, etc. This approach keeps all the documentation in one place.)


Actually, I’ve used this hack. Though, the way I’ve implemented it I don’t see it as ugly, more informative. On my power page (or section, depending on how large the schematic is) next to the area where I have the power pin units of my ICs next to their bypass capacitors, I also have the socket symbols. (No pins, just a graphical representation of a socket.) The ref’d of the sockets are XU# where the number matches the corresponding IC’s U#.

As you can see in this schematic: Schematic 2.0.4.pdf (98.1 KB)

It is obvious looking at the “IC Power, Bypass Capacitors, & Sockets” section that not only do I use the Oxford Comma, but also which bypass caps go with which ICs, and which ICs get which sized sockets. I just see it as extra documentation.

Now the convoluted bit is I have the IC’s pointing towards socket footprints (my reasoning is the socket is actually soldered to the board and the IC symbol is actually wired to the nets). This socket footprint has the socket 3D shape. The socket symbols point to custom “socketed IC” symbols that have their anchor where pad 1 would be if there were pads. The 3D symbol for those is the appropriately sized IC object raised just the right amount above the board to look like it is inserted into the IC socket.

I admit that last bit is mental gymnastics kluge. But it seems to work for me.

A schematic diagram is for showing electrical connectivity, while the assembly drawing is for showing the mechanical/physical side of things. I wouldn’t show the IC sockets on the schematic diagram, again these are for the realm of the assembly drawing. Using the ref des of XA#P1 and XA#P2 as in my previous posting gives you the proper accounting in the parts list (PL), no need to have them in a separate bin as a pair.

A like scenario is if you use a pair of fuse clips for a fuse. In this case I would draw the symbol for a fuse, with proper ref des of F#, on the schematic diagram. There would be no land pattern (footprint) as the fuse does not touch the PCB. Normally the fuse clips would be ref des XF#A and XF#B but KiCad can not handle suffix letters for individual parts. My recommendation is to use ref des XF#E1 and XF#E2. In this case the E class letter means a terminal or miscellaneous electrical part. These fuse clips would be shown electrically on the schematic diagram and each would have a land pattern. How you place the land patterns to be in line and proper spacing to accept the fuse would be up to you. All three parts are accounted for in the PL.

What engineering puts out in their design is complete assemblies, everything is shown. It is up to production–with heavy consultation with engineering–as to how to put it together and what processes to use. And engineering must be in concert with production capabilities. In the case of a battery or fuse that is installed by the end customer, from a plastic baggie with these items in it, the schematic diagram, assembly drawing, and parts list are complete for the end product. Production would have whatever documentation they need to not install the battery or fuse on the production floor, but put these items in a plastic baggie to be shipped with the product. Purchasing/procurement is satisfied as all parts needed are properly accounted for.

Oh, the gnd symbol you are using on the schematic should be what I call the pitch fork. (See IEEE 315, Clause 3.9.2 “Chassis or frame connection; equivalent chassis connection (of printed-wiring boards)”. What you are using is Clause “Potential level not specified by a numerical value”. Do a search on the internet for IEEE 315 and IEEE 315A. Recently I found IEEE 315 posted by the Indian Institute of Technology Bombay and IEEE 315A I found on a Russian website. If need be I can send you copies of what I have, just let me know.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.