Footprint Generator for PCB
- Obtain the source code to the footprint generator. Change the current directory to a project folder, and use the following command to obtain source from GitHub.
$ git clone https://github.com/ehennes775/gfootgen.git
$ cd gfootgen
- Install the required packages. Packages can either be installed manually or automatically. Follow either step a or step b, below.
a. Install the required packages manually. These packages should be avaialble from your distro package manager.
* ruby
* ruby-atk
* ruby-cairo
* ruby-gdk3
* ruby-gdk-pixbuf2
* ruby-gio2
* ruby-glib2
* ruby-gtk3
* ruby-json
* ruby-pango
b. Let gem install packages automatically. During the installation step, gem can locate, download, build, and install the dependencies automatically. Gem needs the following packages that contain headers for building the native extensions:
* ruby-1.9.1-dev
* ruby-2.0-dev
Additionally, uncomment the following lines inside gfootgen.gemspec.
#spec.add_runtime_dependency 'gtk3'
#spec.add_runtime_dependency 'json'
- Build the gem.
$ gem build gfootgen.gemspec
- Install the gem. Superuser access may be needed for installation.
$ sudo gem install gfootgen-0.0.1.gem
- Run the program. The following command line can be used to run the footprint generator.
$ gfootgen
-
Select the desired footprint. To change the type of footprint, press the Change button. Select the type of footprint from the dialog box and then press OK.
-
Edit the parameters in the left panel. Measurements accept both mil and mm. Errors encountered while parsing a measurement prevent updating the footprint. Common parameters for footprints include the following:
- Package Length. The dimension of the package on the x axis. The footprint generator uses this value to calculate the silkscreen border.
- Package Width. The dimension of the package on the y axis. The footprint generator uses this value to calculate the silkscreen border.
- Pad Length. The dimension of the copper pad on the x axis.
- Pad Width. The dimension of the copper pad on the y axis.
- Copper Diameter. The diameter of the copper pad for through hole pins.
- Drill Diameter. The the diameter of the hole for through hole pins.
- Pad Clearance. The minimum distance from the copper pad to adjacent copper.
- Pad Soldermask Relief. The minimum distance from the copper pad to the soldermask opening.
- Pad Spacing (BSC). The dimension between rows of pads on opposite sides of the device, from center to center. Negative values exchange positions of the rows.
- Pad Pitch (BSC). The dimension between pads in the same row, from center to center. Negative values reverse the order of pads in the row.
- Pin Count. The total number of pins/pads on the device.
- Silkscreen Package Offset. The additional distance from the edge of the package to the inner edge of the silkscreen. To place the silkscreen centerline at the edge of the package, use the silkscreen line thickness divided by -2.0.
- Silkscreen Pad Offset. The additional distance from the edge of the copper pad to the inner edge of the silkscreen.
- Silkscreen Thickness. The silkscreen line thickness.
- Silkscreen Outline. Selects the type of outline for the footprint (e.g. polarized, non-polarized).
- Label Offset. The dimension between the centerline of the silkscreen border to the insertion point of the label text.
-
Check the footprint. The footprint generator provides both a text and graphic preview in the right panel. These previews allow the user a preliminary check for correctness.
-
Export the footprint to a file. Press the Export button and save the footprint to a file.
-
Verify the footprint. With the PCB design completed, print the layout at 1:1 on paper. Place the components on their footprints and ensure correct fit.