Most modern PCB manufacturing will start life in Electronics Design Automation software, there are many available but I’ve learned using KiCad. KiCad is free and open source and certainly capable of meeting my hobbyist needs. In order to move from a schematic to PCB design the layout software needs to know how to map the various electrical connections in the schematic into the physical space that connection will occupy on the PCB. That physical space is called a footprint and the The process of mapping from an abstract component like an inverter or adder, to a specific chip like a 74LS283 is called assigning footprints.
If the first part of the design process is about working out theoretical requirements of your design assigning footprints is the gateway into the practical. In order to assign footprints you have to have the specific part you need, it will have a size, a cost, it may not even exist.
Even something as seemingly simple as a resistor immediately dumps an astonishing amount of information. Here are just a few of the dimensions beyond resistance that I look at:
- Type: Metal foil, Ceramic, etc.
- Termination Style: Axial, Radial, etc.
- Through hole or surface mount
Some of these variables will be defined by requirements of your design, Wattage in particular is something you have to be thinking of while designing your circuit. Other variables will be related, if you have precision requirements that will likely rule out various types of resistor like carbon composite resistors. Variables like through hole or length will be defined by things like your enclosure size. Lastly, you’ll be limited by availability or cost, you might have the perfect component but be unable to find it, or unable to find it at the right price.
Once you have the specific component the next step is to get that component into the EDA. For a lot of components on the market this just means you’ll need to design the footprint yourself. All of these components will have datasheets for their use with all the specs needed to design the footprints. This could be lead spacing, lengths, widths, etc. Other components will have footprints provided for you. Mouser works with a company Samacsys who provides footprints and 3D models of components.
For no reason at all I’ve historically used mouser.com as my goto distributor, this implies working with samacsys to get predesigned footprints. Unfortunately the provided tools don’t work on linux. You can work around this limitation by going straight to component search engine but it’s slow and unwieldy. Someone kindly built an open source replacement library-loader.