Skip to content

2. User Manual for pcb gfpw

Bert Timmerman edited this page Apr 26, 2015 · 6 revisions

User Manual for pcb-gfpw

What is "pcb-fpw" ?

"pcb-fpw" is a FootPrintWizard for "pcb".
"fpw" (FootPrintWizard) is a Command Line Interface program for the (automated) creation of footprint files used by the pcb layout editor for the placement of parts in a pcb layout.
"pcb-gfpw" is a GTK GUI version for the interactive creation of footprint files used by the pcb layout application for the placement of parts in a pcb layout.


What is "pcb" ?

"pcb" is an interactive Printed Circuit Board editor for the X11 window system (see http://pcb.gpleda.org).
PCB includes a rats nest feature, design rule checking, and can provide industry standard RS-274-X (Gerber), NC drill, and centroid data (X-Y data) output for use in the board fabrication and assembly process.
PCB offers high end features such as an autorouter, topological router and trace optimizer which can tremendously reduce layout time.


Intended usage.

The "pcb-fpw" FootPrintWizard is what the name says it will be: a footprint wizard (a.k.a. footprint generator).
pcb-fpw is not a footprint editor, therefor one can NOT load an existing footprint file into pcb-gfpw, make some changes and save it back to file, and subsequent load the edited footprint file into pcb.
In a nutshell, the usage of pcb-gfpw comes down to the following:

  • Startup the application,
  • Fill the apropriate entries in:
    • The "Footprint" tab,
    • The "Pins/pads" tab,
    • The "Thermal pad" tab,
    • The "Silkscreen" tab,
    • The "Heel & Toe goals" tab,
  • Check the footprint in the preview widget (when and if this is implemented) by pressing the "Preview" button,
  • Save the footprint file by pressing the "Footprint" button.
  • Save the footprintwizard file (for future reuse or debugging) by pressing the "Save" button.

Starting up the application.

During the startup of the application an "About pcb-gfpw" dialog appears, shortly followed by the "main window".

The "About pcb-gfpw" dialog contains the following buttons:

  • The "Credits" button: clicking this button raises a credits popup dialog in which a message about the names of the authors or translators are given (select the tab of your choice).

  • The "License" button: clicking this button raises a license popup dialog in which a message about the license is given under which pcb-gfpw is distributed.

  • The "Close" button: clicking this button closes the "About pcb-gfpw" dialog.

The "main window".

The main window of the program consists of five tabs with entry fields and a preview drawing area (when and if implemented), and a button bar with five buttons on the lower part of the window.
The titlebar shows the name of a saved footprintwizard file or the text "Unsaved fpw file" if no file has been saved.
An asterisk between brackets "[*]" is shown when the contents of any entry or the state of any checkbutton are changed and no saving has occurred.


The "Footprint" tab.

The first tab with entries is named "Footprint" and can be used for the input of general information about the footprint.

  • At the entry named "Type" the footprint type is entered by selecting a footprint type from a predefined list.
    The program will use this as a prefix for the footprint name if no footprint name is entered yet, or an existing prefix is altered.
    The pcb-fpw program will try to guess which entries are needed for this footprint type and "grey out" the entries and checkbuttons which it thinks are not needed.
    Notes:
    • The footprint types follow a "well known and standard" footprint naming convention.
    • Entering no footprint type, that is a blank entry, will leave pcb-gfpw clueless on how to generate a footprint.
      Disclaimers:
      • Only the prefix part of the "well known and standard" naming convention is used.
      • The actual data for creating footprints relies on vendor specific datasheets (both method and content).
  • The entry named "Name" will contain the name that the actual footprint file will get when the footprint is saved to disk.
    Add characters here to complete the footprint name.
    Notes:
    • If the footprint name contains additional characters , changing the footprint type will not update the prefix from the "Type" entry.
    • If the footpint name has a question mark as prefix, the program will try to lookup values for the indicated footprint.
    • The footprint name should be entered without the ".fp" suffix.
    • This is a mandatory entry, leaving this entry empty or filled with a non valid footprint name will NOT result in a footprint file when the "Save" button is clicked.

  • In the entry named "Units" the units for the footprint dimensions can be selected.

    Currently only "mil/100", "mil" and "mm" are supported.
    pcb-fpw will apply the chosen unit type for all dimensions entered in the following entries.
    Changing the units type will not change the following entries automagickly, that is: if you switch the units type halfway the entries, you will have to do the math yourself.
    Note: this is a mandatory field, leaving this entry empty or filled with a non valid unit type will NOT result in a footprint file when the "Save" button is clicked.

  • The "Refdes prefix" entry can be used to add an optional reference designator prefix to the footprint.

    Note: the prefix must be entered without the question mark "?".
    Example: "R" for a resistor.

  • The "Value" entry can be used to add an optional value to the footprint.
    Example: "100k" for the resistor mentioned above.

  • The "Body length (X)" entry is used for entering the length of the package in the X-direction.

    Note: this dimension is used for the silkscreen artwork when this is checked on the fourth tab "Silkscreen".

  • The "Body width (Y)" entry is used for entering the width of the package in the Y-direction.
    Note: this dimension is used for the silkscreen artwork when this is checked on the fourth tab "Silkscreen".

  • The "Body heigth (Z)" entry is used for entering the heigth of the package in the Z-direction.
    Note: this dimension is NOT used for the silkscreen artwork when this is checked on the fourth tab "Silkscreen".

    This dimension entry is here for future use of the height attribute of a package.

  • The "Radial package" checkbutton can be used to indicate whether the package has a circular outline as opposed to a rectangular outline.
    Note: the default value for a package outline is a rectagular package for any undefined package types entered in the "Type" entry and this checkbutton not to be checked.
    In all cases defined package types entered in the "Type" entry, pcb-fpw follows the design rules for this package type.

  • The "Add license to footprint" checkbutton can be used to include a license text in the header of the footprint file.
    For now this is a hard coded text resembling the exception for symbols as with gschem or fonts in general.

  • The "Add attributes to footprint" checkbutton can be used to include all values in the entries, and the state of all check and toggle buttons as attributes in the footprint file.

    This is to allow for future reference, Design Rule Checking and whatever other future purpose you can think of.


Now follow some entries about the "Author" and licensing of the footprint file.
  • The "Author" entry can optionally contain your name and/or e-mail address.

  • The "Distribution license" entry can be used to refer to the license under which the footprint is released.

    As pcb-fpw comes under the GPL this is a default value which can be changed as required.

  • The "Use license" entry can be used to specify the usage under which the footprint may be used.
    The default value is "unlimited" which can be changed, as required, to whatever restrictions you want to impose on the usage.
    Examples: "unlimited", "commercial", "non-commercial", "personal", ...

  • The "Status" entry can be used to specify the status of the footprint.

    Predefined choices are: "Experimental", "Private (not published)", "Public (released)", "Stable (confirmed by peers)", ... and whatever other status you can think of.


The "Pins/Pads" tab.

The second tab is named "Pins/Pads" and should be used for the input of information about the number and pattern of pins and/or pads, the shape and clearances.

The first group of entries is for defining a "Pattern" of pins and/or pads.

  • The "Total Pins and Pads" entry is used for displaying the total amount of pins and pads entered in other entries.
    It is "greyed out" most of the time, and could have been a label widget as well.

  • The "Columns" entry is used for entering the number of columns of pins/pads in a footprint.

    Example: the number of columns in a "PLCC" package is 2.

  • The "Rows" entry is used for entering the number of rows of pins/pads in a footprint.
    Example: the number of rows in a "PLCC" package is 2.

  • The "Pitch X-direction" entry is used for entering the pitch of the pins/pads in the X-direction.
    Example: the pitch in the X-direction (as in a row) for a "PLCC" package is 1.27 mm or 50 mil.

  • The "Pitch Y-direction" entry is used for entering the pitch of the pins/pads in the Y-direction.
    Example: the pitch in the Y-direction (as in a column) for a "PGA" package is 2.54 mm or 100 mil.

  • The "Count X-direction" entry is used for entering the number of pins/pads on a row (the X-direction).

  • The "Count Y-direction" entry is used for entering the number of pins/pads on a column (the Y-direction).

  • The "Pin/pads #1 position" entry is used for entering the location of the #1 pin and/or pad of the package.
    It contains pre-defined positions.

  • The "Pin/pads exceptions" entry is used for entering the pins or pads that are not present at the package.
    All exceptions are to be specified individually by a row indicator where the indicator is one or more letters of the alphabet ([A .. Y, AA .. YY] etc. excluding "I", "O", "Q", "S" and "Z"), and a column indicator where the indicator is a member of the positive Natural numbers (N), each exception is separated by a comma (",").
    No wildcards ["?","*"] or collections [A1-A5","B2-B6"] allowed, this is left for a future enhancement, and kudos if you send in a patch with a (fully tested) solution ;-)

    Currently the limit is set to a maximum of 10.000 leads, and 80 rows (this limit is hard coded for now).

    For entering large amounts of exceptions on BGA or PGA footprints, there is a select exception dialog available.
    This select exception dialog is invoked by clicking the button left of the text entry.



    The above example shows that only the outer two rows/columns of leads of a 100 pad (10 rows by 10 columns) BGA package (or all pins for a PGA package) are present.
    The 36 exceptions are withdrawn from the total number of pins/pads, and this is reflected in the "total pins and pads" entry after the "refresh" button is clicked.

    • The "Close" button will ignore all changes and close the dialog.

    • The "Clear" button will clear all ticks from check boxes in the dialog (this means: no leads present on this package).

    • The "OK" button will accept all changes and close the dialog.

The second group of entries "Pins" is used for the dimensions of pins (only).

  • The "Pin pad diameter (D)" entry is used for entering the outer diameter of the annulus of the pin.

  • The "Pin drill diameter (d)" entry is used for entering the inner diameter of the annulus of the pin.
    This is also known as the drill diameter.

  • The "Pin #1 square" check button is used for selecting a round or a square #1 pin.

The last group of entries "Pads" is used for the dimensions of pads (only).

  • The "Pad shape" entry is used for selecting the shape of the pad.
    It contains pre-defined pad shapes.

  • The "Pad length (X)" entry is used for entering the length of the pad (in the X-direction).

  • The "Pad width (Y)" entry is used for entering the width of the pad (in the Y-direction).

  • The "Pad clearance" entry is used for entering the clearance between the pad and other (conductive) copper traces or (polygon) surfaces.

  • The "Pad solder mask clearance" entry is used for entering the distance between the pad (copper) and the solder mask (solder resist).


The "Thermal pad" tab.

The third tab is named "Thermal pad" and can be used for an optional thermal pad and fiducials, if the footprint type allows for such an option.
The first group of entries "Thermal Pad" is used for the dimensions of thermal pad(s) (only).

  • The "Thermal pad" check button is used for selecting or deselecting a thermal pad on the footprint.

  • The "No paste on pad" check button is used for selecting paste or no paste on the thermal pad of the footprint.

  • The "Pad length (X)" entry is used for entering the length of the thermal pad (in the X-direction).

  • The "Pad width (Y)" entry is used for entering the width of the thermal pad (in the Y-direction).

  • The "Pad clearance" entry is used for entering the clearance between the thermal pad (copper) and other (conductive) copper traces or (polygon) surfaces.

  • The "Pad solder mask clearance" entry is used for entering the distance between the thermal pad (copper) and the solder mask (solder resist).

The second group of entries "Fiducials" is used for the dimensions of fiducials (only).

  • The "Fiducials" check box is used for selecting or deselecting fiducials on the footprint.

  • The "Fiducial pad diameter (D)" entry is used for entering the diameter of the fiducials.

  • The "Fiducial pad clearance" entry is used for entering the clearance between the fiducial pad (copper) and other (conductive) copper traces or (polygon) surfaces.

  • The "Fiducial solder mask clearance" entry is used for entering the distance between the fiducial pad (copper) and the solder mask (solder resist).

The "Silkscreen" tab.

The fourth tab is named "Silkscreen" and can be used for the input of an optional silkscreen to be drawn, such as package outline, pin/pad #1 marker and/or courtyard.
The first group of entries "Package" is used for the drawing of the artwork on the silkscreen.

  • The "Print package outline" check button is used for selecting or deselecting whether the footprint contains a package outline.

  • The "Pad #1 indicator" check button is used for selecting or deselecting whether the footprint contains a pin #1 indicator.

  • The "Line width" entry is used for entering the line width of the package outline.

The second group of entries "Courtyard" is used for the dimensions of the courtyard.

  • The "Print Courtyard" check box is used for selecting or deselecting printing of a courtyard on the footprint.

  • The "Length or diameter (X)" entry is used for entering the length or diameter of the courtyard.

  • The "Width (Y)" entry is used for entering the width of the courtyard.
  • The "Line width" entry is used for entering the line width of the courtyard.
  • The "Clearance with package" entry is used for entering the clearance between the package outline and the package itself.

The "Heel & Toe goals" tab.

The fifth and last tab is named "Heel & Toe goals".

This tab is for the input of heel and toe parameters to allow for the creation of PLCC, SO, QFN or QFP packages.

The first group of entries "Top to Bottom" is used for entering the distance between the top and bottom rows of pads.

  • The "Inner-Inner (G1)" check button is used for activating the "inner-inner" distance entry.
    This is also known as the "Heel to Heel" distance.

  • The "Center-Center (C1)" check button is used for activating the "center-center" distance entry.

  • The "Outer-Outer (Z1)" check button is used for activating the "outer-outer" distance entry.
    This is also known as the "Toe to Toe" distance.

The second group of entries "Left to Right" is used for entering the distance between the left and right columns of pads.

  • The "Inner-Inner (G2)" check button is used for activating the "inner-inner" distance entry.
    This is also known as the "Heel to Heel" distance.

  • The "Center-Center (C2)" check button is used for activating the "center-center" distance entry.

  • The "Outer-Outer (Z2)" check button is used for activating the "outer-outer" distance entry.
    This is also known as the "Toe to Toe" distance.


The buttons.

The eight buttons in the lower part will have the following functions:

  • "Refresh": to refresh all entries,

  • "Dimensions": to view a dimensions legenda in a popup dialog,

  • "Preview": to view the footprint in a popup preview dialog (when and if implemented).

  • "Clear": to empty all entry fields and reset all check boxes to the default setting,

  • "Close": to exit the application,

  • "Open": to choose and read an existing footprintwizard file,

  • "Footprint": to write the current values in the entries to a footprint file,

  • "Save": to write the current values in the entries to a footprintwizard file.


Last update: April 26th, 2015.