I want to use the LM324 quad-amp in my PCB design. KiCad already provides the symbol in the Amplifier_Operational package. However I don't know which footprint to assign.

I tried assigning the generic Package_SO:SOIC-14_3.9x8.7mm_P1.27mm footprint which has the correct mechanical dimensions. However, there does not seem to be a connection between the pads in the footprint and the symbol.

Therefore I have the following questions:

  • Does KiCad already provide a footprint for LM324?
  • If KiCad does not already provide a footprint, how to connect the generic footprint's pads to the correct nets?
  • 2
    \$\begingroup\$ Which version of KiCAD? \$\endgroup\$
    – rdtsc
    Nov 25, 2019 at 17:19
  • \$\begingroup\$ @rdtsc I'm Using KiCad 5.1.5-52549c5~84~ubuntu18.04.1 \$\endgroup\$
    – ooxi
    Nov 25, 2019 at 17:49

2 Answers 2


A main concept of KiCAD is the separation of symbols from footprints. There is no LM324-specific footprint; you have to pick the correct one. Some devices (usually ones which have exactly one footprint, or one category of footprint) have footprint filters added to them; all the others do not.

In the case of the LM324, this device is available in eight different packages from the manufacturer, spread across several categories, so it makes sense to let the designer pick the appropriate footprint.

In the schematic editor:

  • Make sure you are using all of the correct "gates" of this chip. That is unit A, B, C, D, and E (the power pins), all of one device such as U1. Make corrections if it tries to rename any of them, such as mistakenly naming the power pins as U2E.

  • Click the "Assign PCB footprints to schematic symbols" button. Assign the "Package_SO:SOIC-14_3.9x8.7mm_P1.27mm" footprint to U1.

  • Click the "Generate Netlist" button. This saves a file with a text representation of all the connections present in the schematic. Of course, there must be wires or connections made for this to do anything.

  • Close EEschema, open PCBnew, click the "Load Netlist" button. There should be no errors reported. Click "Update PCB" and place the parts.

  • "Rat's nest" wires should now be visible.

This should look like the following on version 5.1.5-1:

Example of KiCAD footprint selection.

  • \$\begingroup\$ Thank you very much for your in depth answer! What I still don't understand is how KiCad knows that PIN 5 in the generic footprint Package_SO:SOIC-14_3.9x8.7mm_P1.27mm is the VDD net of symbol LM324 in SO-14 (which it is I checked the data sheet) \$\endgroup\$
    – ooxi
    Nov 25, 2019 at 17:52
  • 2
    \$\begingroup\$ @ooxi: KiCAD (and many other CAD packages) link the pin number on the schematic symbol to the pin number on the PCB footprint. (and pin 4 is the positive power supply.) \$\endgroup\$ Nov 25, 2019 at 18:02
  • \$\begingroup\$ I'll add that KiCAD is pretty good about getting pin numbers and pad numbers correct. But there could still be errors in either the symbol or footprint libraries, so always check these manually before committing the board to manufacture. I like to print a 1:1 output of the top and bottom copper and compare the real chips to those. This has caught more than a few "wrong footprint" or "flipped footprint" scenarios. Biggest goof was with a QFN-16 footprint which I thought was right but ended up being too small... ended up making a slew of tiny adapter boards to adapt the chip to the PCB! ;) \$\endgroup\$
    – rdtsc
    Nov 25, 2019 at 18:31

Answering a few implicitly asked questions:

Difference between symbol and footprint in kicad (TlDr: one abstracts the function and one defines the physical interface on the board) https://forum.kicad.info/t/what-is-the-difference-between-footprints-and-symbols/8900/

How is the connection made between what you connect in the schematic and what will be connected on the pcb? (TlDr: symbol pins have a number as well as a name. The number is matched against the pad number in the footprint. The name only for the reader of the schematic.) https://forum.kicad.info/t/how-does-kicad-know-which-symbol-pin-represents-which-pad-of-the-footprint/11889/

How to assign footprints? (TlDr: multiple tools and workflows available. The assign footprint tool might be the best option for the described usecase.) https://forum.kicad.info/t/how-can-i-assign-a-footprint-to-a-symbol/8901/

The forum FAQ might be useful to answer followup questions https://forum.kicad.info/t/start-here-frequently-asked-questions/8890/


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.