PCB(1) PCB(1)
NAME
Pcb - X11 interactive printed circuit board layout system
VERSION
The current release is: 1.7.3.ALPHA
SYNOPSIS
pcb [-option ...] [-toolkit_option ...] [description file]
or
pcb -specialoption
DESCRIPTION
Pcb is a handy tool for the X Window System build to design printed
circuit boards. All coordinate units are 1/1000 inch. It implements
the most needed features like:
* A layout consists of lines, arcs, polygons, elements (lines,
pins and arcs), vias and text information seperated into several
layers. Each of them is identified by a unique name and color (if
supported by your display). SMD circuits are also supported.
* 8 layers are supported in addition to a silkscreen layer.
Visibility of pins and SMD pads and vias is controllable.
* All files are 7 bit ASCII and can be preprocessed with any UNIX
command that writes it's results to stdout (GNU m4 is required).
* The layout grid is anywhere in the range from 1/1000 inch up to
250/1000 inch. The maximum is defined at compilation time.
* Zooming is supported.
* A copy of the current data is saved temporarily in /tmp to
ensure that nothing is lost during critical sections of the
program.
* An unlimited (depending on memory) undo operations is
supported. Also redo is available in case you change your made.
Pcb is intended to be a simple tool without memory and time consuming
features like autorouter and autoplacement. It worked well for several
people on an Atari platform till it was ported to X11 in 1994. Most of
the settings can be specified by resources, passed in the command-line
or changed at runtime. Layout related settings are saved together with
- 1 - Formatted: December 21, 2025
PCB(1) PCB(1)
the data.
OPTIONS
Beside the toolkit options, Pcb recognizes some command-line options
with following syntax: -option switches it on, +option switches it off
-alldirections,+alldirections
Enables or disables lines in any direction. Overrides the
resource allDirectionLines.
-backup <value>
Time in seconds between two backups. Overrides the resource
backupInterval.
-c <value>
Number of characters per output-line. Overrides the resource
charactersPerLine.
-fontfile <filename>
The default font is read from this file. The file is, together
with a path, passed to an external program. The path is defined
by the resource fontPath wheras the command uses fontCommand.
Overwrittes the resource fontFile.
-lelement <UNIX command>
Sets the command to be executed when an element is loaded. The
command may contain %f which is replaced by the filename and %p
which is replaced by the element search-path. The command must
write it's results to stdout. The resource elementCommand is
overwritten.
-lfile <UNIX command>
Sets the command to be executed when an layout file is loaded.
The command may contain %f which is replaced by the filename and
%p which is replaced by the search-path. The command must write
it's results to stdout. The resource fileCommand is overwritten.
-lfont <UNIX command>
Sets the command to be executed when an fontfile is loaded. The
command may contain %f which is replaced by the filename and %p
which is replaced by the font search-path. The command must write
it's results to stdout. The resource fontCommand is overwritten.
-lg <layergroups>
This option overwrites the resource layerGroups. See its
description for more information.
-libname <filename>
The default filename for the library. Overwrites the resource
- 2 - Formatted: December 21, 2025
PCB(1) PCB(1)
libraryFilename.
-libpath <path>
The default search path for the the library. Overwrites the
resource libraryPath.
-llib <UNIX command>
Sets the command to be executed when an element is loaded from
the library. The command may contain %f and %p to pass the
requested filename and the searchpath to the command. %a is
replaces by the three arguments template, value and package. The
command must write the data to its standard output. The related
resource is libraryCommand.
-llibcont <UNIX command>
The command lists the contents of the library. The command may
contain %f and %p to pass the library filename and the searchpath
to the command. The related resource is libraryContentsCommand.
-loggeometry <geometry>
Determines the geometry of the logging window.
-pnl <positiv integer value>
Defines the maximum length of a pin name to be displayed in a
pinout window. Overwrittes the resource pinoutNameLength.
-pz <positiv integer value>
Sets the zoom factor for pinout window according to the formula:
scale = 1:(2^value). The resource pinoutZoom is overwritten.
-reset/+reset
If enabled, all found connections are reset after an element has
been scanned. This setting is only used while scanning
connections to all elements. Overrides the resource
resetAfterElement.
-ring/+ring
Overrides the resource ringBellWhenFinished. If enabled, the bell
on the keyboard is rang when connection searching has finished.
-s/+s
Enables/Disables the saving of the previous commandline.
Overrides the saveLastCommand resource.
-save/+save
Overrides the resource saveInTMP. If enabled all data is saved in
a temporary file in the directory /tmp instead of being lost.
-sfile <UNIX command>
Sets the command to be executed when an layout file is saved.
The command may contain %f which is replaced by the filename. The
- 3 - Formatted: December 21, 2025
PCB(1) PCB(1)
command must read it's data from stdin. The resource saveCommand
is overwritten.
-size <width>x<height>
Overrides the resource size which determines the maximum size of
a layout.
Sets the volume of the X-speaker. Overrides the resource volume.
In addition to these 'normal-work-options' you will find additional
special options, -copyright, -help and -version, which print out the
GNU COPYLEFT notice, a usage message and the current version.
X11 Interface
There are several resources, actions and menus available. For a
detailed description see the GNU info file or the printed manual.
SEE ALSO
X(1), Xlib Resource Manager documentation, Xt resource documentation,
Athena Widget Set
PCB manual.
COPYRIGHT
PCB, interactive printed circuit board design, Copyright (C) 1994,
1995, 1996 Thomas Nau
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
AUTHOR
Thomas Nau, Thomas.Nau@rz.uni-ulm.de
Schlehenweg 15, 88471 Baustetten, Germany
- 4 - Formatted: December 21, 2025
PCB(1) PCB(1)
ACKNOWLEDGEMENT
harry eaton (haceaton@aplcomm.jhuapl.edu) for many new features and
bug fixes.
Bernhard (Bernhard.Daeubler@physik.uni-ulm.de) and Harald Daeubler
(Harald.Daeubler@physik.uni-ulm.de) for helpful hints, testing and a
neverending stream of new options and ideas.
Roland Merk (merk@faw.uni-ulm.de) for his help during the hard days of
learning X11 programming.
Erland Unruh (Erland.Unruh@malmo.trab.se) for alpha and beta testing
of the early releases.
Many, many others who donated some of their time for developing new
circuit-files, did testing and came up with several bug-fixes and
improvements. Thanks to all of them.
- 5 - Formatted: December 21, 2025