There are generally 3 options available to connect a wire or cable to your PCB. You can solder it directly to the PCB, use a terminal block or 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. But be aware that solder will wick into the wire making it less flexible until some point. This transition point will be the point of failure if the wire is not protected against bending.
You can feed the wire (including isolation) through the PCB or glue it onto the PCB to avoid this problem. Both of these options require some additional space.
The KiCad library comes with solder wire footprints both in THT and SMD. (Found in the Connector_Wire library). Make sure you select the footprint to fit your wires diameter. Since version 5.1.6 of the library there are even versions including NPTHs for strain-relief.
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 to connect a wire to it. The cheapest option are screw terminal blocks which require a crimped end terminal (or wire ferrule). There are terminal blocks available that can be used without end termination. These are typically spring-loaded. Make sure you follow the manufacturers suggestions as the connection will not behave as specified otherwise.
When buying a terminal block select one that is rated for the current you expect on this connection. Be aware that cheap knockoffs are not 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 another one is connected to your wire or cable. It is out of the scope of this article to give detailed guide about connector selection. A few simple questions still come to mind hopefully helping you get started:
- 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 of them are listed in https://en.wikipedia.org/wiki/Crimp_(electrical) (section Single-wire crimp terminals)
The most known 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 what most people consider when thinking about a connector. The same mechanical unit connects multiple wires. There are a huge number of manufacturers producing such connectors. And there are even some internationally standardized types available.
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 that there are different numbering schemes used. Check the datasheet and the footprint of your connector which scheme they use and select the symbol accordingly.
Well and what do i need to do in KiCad?
On the schematic (symbol) side select any connector symbol to your liking (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 the 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 that make it more clear to the reader of your schematic which connector is used.
A few examples are shown in this screenshot
All of these generic connectors do not come with footprints pre assigned as every one of them represents a huge number of possible connectors. Use one of the assign footprint tools to do this (tools -> assign footprint, the properties dialog of the symbol, …) KiCad comes with quite 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 (
Be aware that even thought there is a huge number of footprints shipped with KiCad it still might not have one exactly fitting your part so be prepared that you might need to make your own footprint.
- 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 (From scratch)?
- Tutorial: How to check footprint correctness?
- Tutorial: How to make a symbol (KiCad v5.1.x)
- How to get a downloaded symbol, footprint or full library into KiCad version 5?