The components that need to be assembled on a PCB will have designated locations on the board according to the design. The footprint is the arrangement of plated pads where the component is supposed to be soldered.

It is also called the land/pad pattern and resembles the physical dimensions of the component. This footprint connects a component to the circuit board both physically and electrically. It gives an idea about the component placement and the trace locations.

The footprints on the board are interconnected using traces and vias. Irrespective of the type of component, there should be a footprint so that it can be soldered to the board at a later stage. Be it surface-mount, through-hole, or ball grid array (BGA), a land pattern is mandatory for PCB assembly.

In this article, we are going to have a detailed look at all the steps required to generate a footprint.

The footprint or land pattern is an arrangement of plated copper pads or through-hole plated pads on a PCB on which a component is soldered. Most of the time, the board footprints of standard packages are available in the PCB library of the design software. Only if it is not available, we will have to create one on our own referring to the datasheet of the component, while designing a circuit board.

The created circuit board footprint should always match the component physical dimensions or else it will not align properly with the pads. The land pattern gives information regarding the pad sizes, the distance between the pads (pitch), component boundary and keep-out, silkscreen outlines, part numbers, reference designators, and pin numbering.

Better DFM by Sierra Circuits

Standards for creating a board footprint

The IPC-7351 depicts the requirements for surface mount designs and land pattern standards. This standard ensures maximum solder joint quality after the component placement. It also provides guidelines to make space for inspection, testing, and rework of the components.

Whenever it is possible to use a common package type, use it. We have options to modify the existing package footprint to suit our requirements. A land pattern should only be created from scratch if the package type is not found in the library. This process is time-consuming and might lead to errors. Therefore, proper guidelines will have to be followed to produce error-free package footprints.

A component footprint has different parts. The common ones are:

  1. Pads/through-holes (pad stack)
  2. Pin numbers
  3. Silkscreen
  4. Assembly details
  5. Component centroid
  6. Pin 1 marking and component orientation marking
  7. Component boundary/component keep-out area (place-bound)
  8. Connectors and special components will have retaining holes/mounting holes
  9. Manufacturer part number
  10. 3D model step file

DOWNLOAD OUR DFA HANDBOOK:

DFA Handbook by Sierra Circuits

What is the importance of using datasheets when designing pads and footprints?

The details of a footprint are available in the component datasheet, mostly referred to as ‘land pattern’. These drawings are the basis for PCB footprint creation. All the specifications and dimensions mentioned are entered into the respective design tool to create the land pattern. These important dimensions include the height, pitch, length, and width of the components. Other details such as pad pitch, finished hole size, etc., also help in the creation and placement of pads for the footprint.

BOM Checker by Sierra Circuits

While designing footprints, the pads that accommodate the component on the board should also be designed. The precise geometrical description of the exposed copper pads that accommodate the component pin is called pad stack. The components of an SMD pad stack are pad size, length, width, solder mask opening, and solder paste opening. For a through-hole component, the pad stack will consist of drilled hole size, finished hole size, pad sizes in the inner and outer layers, plane clearances, and anti-pad size (for the inner layers). Creating the pad stack is the first step in footprint creation. Multiple pads are used in a footprint depending on the size of the component. For example, in an 8-pin SOIC footprint, there will be 8 pads of the same size. The pads are designed using the pad designers available within EDA tools.

Allegro is a flagship PCB editor from Cadence. This design software also offers simple and easy methods when it comes to PCB footprint creation. In this demonstration, we create land patterns for Murata GCM155R71H104KE02J capacitor.

  • First, we need to download the datasheet of the part and understand the dimensions such as length and thickness.
Land pattern of GCM155R71H104KE02J capacitor

Land pattern of GCM155R71H104KE02J capacitor. Image courtesy: Murata

  • The next step is to select the units. Go to Setup > Design parameters > Design tab > User units. Select the unit (here we choose millimeter) and the tolerance in the accuracy option.
User unit selection window in Allegro

User unit selection window in Allegro

  • As per the dimensions given in the datasheet, we will draw the assembly outline. Select the required shape from the list of shapes available in the top menu. Here we choose a rectangle.
  • In the options menu on the right, from package geometry, select Assembly_Top as the layer. Under Shape Creation > Place Rectangle, give the length and width as per the datasheet with the tolerances mentioned.
Assembly_Top specifications in Allegro

Assembly_Top specifications in Allegro

  • After giving all the dimensions, the required shape will move along with the cursor, which we can place at any location. Move it to the center after placement.
  • Now choose Shape > Decompose shape, and in the options, under copy to layer, check off both the delete after decomposition and delete existing lines options.
  • We use lines with 4 mil thickness to accurately draw the package outline in the assembly layer. Select line option in the shapes menu and change the line thickness to 0.1016mm (4 mils). Then draw the assembly outline of the package.
Assembly layer outline in Allegro for footprint creation

Assembly layer outline in Allegro

  • The next step is to add the pads. We will first browse through the datasheet to see if the pad dimensions are given.
Component pad dimensions given in the datasheet

Pad dimensions given in the component datasheet. Image courtesy: Murata

  • In this particular case, the dimensions are available in the datasheet. We have two options here. One is for modifying the existing pads in the library to the required dimensions. This can be done by Tools >  Padstack > Modify library padstack.
Modifying pad stack in Allegro for PCB footprint creation

Modifying pad stack in Allegro

  • Otherwise, we can open the padstack editor, go to File > New. In the new window, give the name as per convention and choose the pad stack usage as SMD or through-hole. In this case, we are choosing the SMD pin. Select the required pad shape under default pad geometry.
Padstack editor in Allegro

Padstack editor in Allegro

  • As the component is SMD, we don’t need to give any details in the drill, secondary drill, drill symbol, and drill offset tabs.
  • In the case of through-hole pads, the finished hole diameter with tolerances (depends on plated and non-plated holes) should be given under the drill tab. Under the design layer tab, give the dimensions of the hole pad in the top, internal, and bottom layers. The next tab is the mask layer in which the pad’s Soldermask_Top and Soldermask_Bottom dimensions need to be mentioned.
  • Now back to the SMD pad in hand, go to the design layer > regular pad > begin layers (top layer), choose the pad geometry as a rectangle, and enter the dimensions. The same has to be provided in the Mask layer > Soldermask_Top and Pastemask_Top rows. Check in the summary tab if all the provided data is correct and click save.
  • We will close the padstack editor now and go back to the footprint creation page and click Setup > User preferences and map the created pad stack file path.
  • Insert the pad using add pin icon on the top menu. In the options, choose the pad, give the pitch (as given in the datasheet), and other details such as the quantity, pin-number, rotation, etc. Then we can place the first pad on the board outline, copy, and paste with different pin-number and rotations for the other pads.
Pad placement in Allegro for footprint generation

Pad placement in Allegro

  • For the texts, follow the template if any, or adjust the text as per the requirements. To change it go to Setup >  Design parameters > Text.
  • The next step is to add the silkscreen layer. First, select the draw line icon. Go to the options menu on the right side of the screen and select Silkscreen_Top. Then add the required line width for drawing the silkscreen layer. Here we are adding 0.1524mm (6mils).
Silkscreen layer in Allegro

Silkscreen layer in Allegro

  • Now we will add the DFA_Bound_Top layer. In this layer, we are supposed to cover the pad and assembly outer layers. So we select rectangle as the shape and draw a rectangle that covers both the component outer layer and pads.
  • Next, we will add the Place_Bound_Top layer. We select the layer in the right-hand side menu and give the required offset. This is followed by the addition of the No_Probe_Top layer.
PCB footprint after addition of all layers in Allegro

Footprint after addition of all layers in Allegro

  • In the next step, we will add the reference designator. The layer to which we add this is the Assembly_Top. We have to choose text from the options menu. Since the footprint we are generating here is of a capacitor, the reference designator is C*. This is also added to the silkscreen layer (Silkscreen_Top) layer. The reference designator for the assembly layer is added inside the land pattern while the one for the silkscreen is placed outside.
PCB footprint creation with reference designator in Allegro

Addition of reference designator in Allegro

  • The 3D version of the package can be downloaded from the repository and mapped to the created footprint. Finally, we will save the footprint as per the IPC naming conventions. Once finished, go to Tools > Database check, to analyze the footprint and find out any errors associated with the creation. In this example, the package didn’t have any pin 1 markings. When packages require pin 1 marking, it will be added to both the silkscreen and assembly layer, using the required shape from the menu.

Let us have a look at the different steps involved in Altium Designer to generate a footprint. Here were are generating a land pattern for the part number: TPD4S014 from Texas Instruments.

The first step is to create the pads for the component. For that,

  • Go to File > New > Library > PCB library. This will create a new library in which all the new footprints for a particular project will be saved.
  • Before placing the pads, make sure to check the units in the upper left corner of the window. To change the dimensions, go to View > Toggle units.
  • We can place the pads by clicking on the pad icon in the toolbar (alternatively Place > Pad).
  • Place the pad at the middle of the window temporarily, then right-click > Properties, and give the required shape and dimensions (x/y). A plated through-hole pad will be created by default and the hole will be automatically removed when a single-layer pad template is selected.
  • The paste array option in the top menu will be used to multiply the newly created pad into an array. In the new window, give the number of pads and the X-Y spacings needed.
  • The pads are copied and pasted to form the array on the other side. After copying each pad, the properties should be changed as per the datasheet. After placing all the pads, the origin is set from Edit > Set reference.
Pad placement in Altium Designer for footprint creation

Pad placement in Altium Designer

  • After placing the pads, the assembly layer will be drawn. In Altium, this layer is termed Mechanical 13. To draw, choose the line symbol from the top menu and set the required line width. Here we are using 4 mils.
  • Silkscreen layer will be added next. Under the properties window on the right, choose Top Overlay as the layer and draw the outline to be printed on the silkscreen as shown below.
Silkscreen layer in Altium Designer

Silkscreen layer in Altium Designer

  • The place-bound layer is termed Mechanical 15 here. Draw the outline by choosing the required line width.
  • Click on the text symbol on the top menu to place the reference designator. It is placed on the Mechanical 13 layer. The properties of the text should be customized using the properties menu.
  • Pin1 indication is also done on the Mechanical 13 layer. This is copied and pasted onto the Top Overlay layer so that it gets printed on the board. 
  • The 3D package can be mapped by choosing, Tools > Manage 3D bodies for library.
  • Once the 3D package is mapped to the Mechanical 13 layer, the footprint creation is complete.
Complete footprint generated in Altium Designer

Complete footprint in Altium Designer

Also check out, PCB Via design using Altium Designer.

For our KiCad demo, we are creating a footprint for C0402C100K4GACTU capacitor from KEMET.

  • From the project manager in KiCad, click Tools > Run Footprint Editor.
Footprint editor in KiCad

Footprint editor in KiCad

  • In the window, go to File > New Footprint. Give an appropriate name to the footprint.
  • Now, we have to save this footprint in a new library for the project. Go to File > Save Footprint in the new library. A window appears where we can browse the location of this new library and name it. Make sure that the location is the current project directory. (Note that .pretty will be the extension of this footprint library file.)
  • Next, at the top of the page near the footprint editor title, we can see that no active library is written. We have to let KiCad choose the library we just created as the active library.
  • To do this, go to Preferences > Footprint Libraries Manager. Select Append with Wizard and choose Files on my computer in the consecutive window and click Next.
  • Now, browse and expand the project directory, and find the new library file we added a while ago with the extension .pretty and click Next.
  • In the consecutive window choose if the library should be a global one (to be used later for other projects) or just for the current project, and click Finish. We can see that the selected library is now listed under project-specific libraries.
  • Go to File > Active library and choose the library name. Now on the top instead of no active library, we can see the name of the new library.
  • Now we will go to the datasheet of the part and check the land pattern given for the dimensions.
  • We can change the units to inches or mm as we like from the options displayed on the left of the window.
  • Unlike Allegro and Altium, the name of the part and the reference designator will appear by default.
  • To place the pad, go to Place > Pad (alternatively click on the place pad option on the right). Place the pad on the screen and double click on the pad to open the pad properties window.
Pad properties window in KiCad

Pad properties window in KiCad

  • In the pad properties window, choose the type of pad (SMD in this case). Then all the relevant details associated with it are given. If we choose a through-hole pad, then drill details such as drill shape, drill hole size, etc., should also be given.
  • Similarly, we can copy and paste the same pad and alter the dimensions and pin number.
  • The next step is to draw an outline of the component body on the top fabrication layer (F.Fab) so that it will support drawing the silkscreen layer later.
  • Now we will go to View > Grid settings and give half the values of the length and width of the package under the user-defined grid.
Setting the grid properties in KiCad for footprint generation

Setting the grid properties in KiCad

  • Go to the grid drop-down menu on the top and select the user grid that was just defined.
  • To draw the outline, go to Place > Line (or go to the right-hand side menu and select Add graphic line option) and draw the lines, right-click > Edit to change its dimensions, and choose F.Fab as the layer.
Assembly layer outline in KiCad

Assembly layer outline in KiCad

  • To draw the pin 1 indication, go to Place > Arc. Make sure that the layer is F.Fab for this one also. Pin1 indication (mark) is also added in the F.SilkS layer so that it gets printed on the PCB. We will copy the pin1 mark of the F.Fab layer and paste it and change the layer to F.SilkS in the properties window.
  • Once this is done, the outline for the silkscreen layer needs to be drawn. We will check the datasheet for the dimensions and set the grid. Then, select the F.SilkS layer. Now using the Add graphic line or Polygon we will draw the required shape.
Silkscreen outline in KiCad

Silkscreen outline in KiCad

  • The next task is to set the grids again to draw the outline on the courtyard layer, F.CrtYd.
  • Now we can move the REF** that came by default initially and the name of the part towards the footprint. The default reference designator will be on the F.SilkS layer. We will copy that and then paste it on the F.Fab layer as well.
  • We will go to the footprint properties option on the top and edit the width, height, and thickness of these texts. So one REF** will be on the F.SilkS layer, and the other REF** and name will be on the F.Fab layer.
Footprint creation in KiCad

Finished footprint in KiCad

  • The REF** on F.SilkS will be kept next to the footprint and the F.Fab REF** will be placed inside the footprint as shown above. With this, the footprint generation in KiCad is complete.

To know more about component placing in KiCad, read how to place components in KiCad.

Creation of footprints is based on the ground rules set by IPC. Different PCB editor tool has slightly different methods for this. But in general, the basic idea is the same even though layers are named differently in each tool. Once we have an outline of how it is done, this process becomes simple enough.

If you have any queries regarding footprint generation then do let us know in the comment section. We will be happy to help. You can download our KiCad design guide to learn about creating component libraries, set up design rules, routing differential pairs, etc.

DOWNLOAD THE KICAD DESIGN GUIDE:

KiCad Design Guide

Read more about this on: Sierra Circuits