There are generally 3 options available to connect a wire or cable to a PCB.
Solder the wire directly to the PCB, use a terminal block, or use a connector.
This article assumes you use stranded wire.
Soldering directly to the PCB
This is the cheapest option. All that is required is a contact point on the PCB. Both SMD and through hole pads are possible. Be aware: solder will wick into the wire making it less flexible at some point. This transition point will be the point of failure if the wire is not protected from continual bending.
The wire (including isolation) can be fed through, or glued to, the PCB to avoid this problem. Both options require some additional space.
The KiCad library comes with solder wire footprints both in THT and SMD. (Found in the Connector_Wire library). Be sure to select the footprint to fit the wire diameter. Since the library in version 5.1.6 NPTHs for strain-relief have been included.
There is no special symbol for these in the library. The standard connector symbols might be a good option. (Most likely the Conn_01x01 symbol)
A terminal block is a component that is soldered to your PCB and has some mechanism for wire connection. The cheapest option is screw terminal blocks which require a crimped end terminal (or wire ferrule). Other terminal blocks, typically spring loaded, for use without wire end termination are also available. Be sure to follow manufacturers’ suggestions, otherwise the connection may not behave as specified.
When buying a terminal block select one that is rated for the current you expect on this connection. Be aware that cheap knockoffs may not be well specified and should be handled with extra care. (Cheap terminals can be a fire hazard!)
The KiCad library comes with a number of TerminalBlock_[Manufacturer] libraries that hold footprints for terminal blocks. At the time of writing these are mostly screw terminal blocks.
It is suggested to use the Screw_Terminal symbols found in the Connector library.
A connector is a two part system where one component is soldered to the PCB and the other is connected to a wire or cable.
It is out of the scope of this article to give detailed guide about connector selection, however, the below list of a few simple questions may help with selections:
- The current capacity
- Availability of both the connector components and tools (most connectors require crimp tools on the cable side)
- keying (to ensure correct polarity or protect against mating with the wrong cable)
- Strength of the locking mechanism (Sub question: should connecting be possible without tools?)
- Available space (Do not forget about the cable itself.)
- Surface mount or through hole.
Single wire crimp connectors
There are a number of solutions for connecting single wires. Some are listed in https://en.wikipedia.org/wiki/Crimp_(electrical) (section Single-wire crimp terminals)
The most common type are blade style (faston) connectors. The KiCad library does not yet have footprints for such connectors. The Conn_01x01 symbol should fit well with this application.
Multi wire connectors
This is a very popular consideration for connectors. The same mechanical unit connects multiple wires. A huge variety of such connectors exists, some types being internationally standardized.
KiCad comes with a number of footprints and symbols, for this type, in a number of Connector libraries. (Organized by manufacturer on the footprint side and by feature set on the symbol side.)
One pitfall for multi row connectors is the different numbering schemes used. Check datasheets and footprints of connectors for schemes used then select symbols accordingly.
What is required for KiCad?
On the schematic (symbol) side select any suitable connector symbol (for more details see Off-Board Components in KiCad 5).
KiCad is shipped with a number of generic symbols for connectors for this reason. All of them are found in the
Connector_* libraries. Select one with the correct number of pins and the correct pin numbering scheme fitting your selected part. (for example Conn_01x01 for a single pin connector like a faston connector) For terminal blocks and some other specialized connectors (usb, dsub,… ) there are more specialized symbols to make it clearer for the reader of your schematic which connector is used.
A few examples are shown in this screenshot
These generic connectors do not come with footprints preassigned, as each one represents a huge number of possible connectors. For assigning a footprint, use one of the “assign footprint tools” (tools -> assign footprint, the properties dialog of the symbol, …)
KiCad comes with a number of footprints for a wide variety of connectors. They are organized by connector standard if there is one (
Connector_Pin_Header_*, …) or, if there is no standard, then by manufacturer (
Finally, be aware, that although there are a huge number of footprints shipped with KiCad, one exactly fitting requirements may not be present, so be prepared to make your own.
- What is the difference between footprints and symbols?
- How can i assign a footprint to a symbol?
- Tutorial: How to make a footprint in KiCad 5.1.x?
- Tutorial: How to check footprint correctness? (Workaround for missing features in KiCad V5 and earlier)
- Tutorial: How to make a symbol (KiCad v5.1.x)
- How to get a downloaded symbol, footprint or full library into KiCad version 5?