User Tools

Site Tools


geda:pcb-quick_reference

Translations of this page are also available in the following languages: Français, Русский.

PCB: Quick Reference

Additional information

More information on PCB you can find in the PCB Command reference (refcard.pdf) containing description of all PCB shortcuts and in the PCB Manual (pcb.pdf or pcb.html) residing in the doc/ directory of your PCB installation (its path may vary on various systems).

Default Key Mapping

All Keystrokes

Key Mnemonic Description
Esc select enter select mode (same as Space, or F11)
Esc end of action terminate the current action, e.g. stop drawing tracks
Insert insert point enter insert point mode. Click and drag on track to insert a point
Return click same as a click on the left mouse button
Space select enter select mode (same as Esc, or F11)
Tab flip up/down view: vertical flip
Shift+Tab flip left/right view: horizontal flip
Ctrl+Shift+Tab far side view: exchange the roles of front side and far side
Del delete delete object under the mouse cursor
Ctrl+Shift L-Mouse delete delete object under the mouse cursor (fast)
Shift+Del del-sel delete objects in selection
Backspace del-sel delete objects in selection
Shift+Backspace del-copper deletes connected copper under the cursor. Rats are considered a connection.
| thin-draw toggles thin draw mode
A set same read the parameters to use for new objects from the object below the cursor.
Alt+A select-all select all objects on active layers. Deactivated layers are ignored.
Shift+Alt+A unselect clear selection
B to other side flip object to the other side of the board
C center view: center display at cursor position
Ctrl+C copy to buffer copy selection to buffer and unselect
D display name display pin or pad name
Shift+D pinout dialog open pinout window for element under mouse cursor
E eliminate rats delete all rats
Shift+E eliminate some rats delete selected rats
F find highlight connections to object under mouse cursor. This includes rats and objects on invisible layers
Ctrl+F add to found add connections to object under mouse cursor to the set of found objects
Shift+F un-find un-highlight found connections
G incr grid mil increment grid by configured imperial increment
Shift+G decr grid mil decrement grid by configured imperial increment
Ctrl+G incr grid mm increment grid by configured metric increment
Ctrl+Shift+G decr grid mm decrement grid by configured metric increment
H hide toggle the visibility of the refdes or value attached to the component under the cursor
Shift+H hide sel toggle the visibility of the refdes or value attached to selected components
Ctrl+H holeplate toggle plating of a via. Used to produce non metalized mounting holes
J lineclear toggle the polygon clear flag of the line under the cursor
Shift+J lineclear sel toggle the polygon clear flag of selected lines
K klear increment clearance (soldermask to copper edge)
Shift+K klear (-) decrement clearance (soldermask to copper edge (NOTE: can go negative!))
Ctrl+K klear sel increment clearance of selected objects (soldermask to copper edge)
Shift+Ctrl+K klear sel (-) decrement clearance of selected objects (soldermask to copper edge)
L increase line increment width of the line tool, adds to the settings of the current line style
Shift+L decrease line reduce the current linewidth
M move to layer move the object under the cursor to the current layer
Shift+M move selection to layer move selected objects to the current working layer (see pcb tip)
Ctrl+M move origin set the origin to the current position of the mouse pointer
N name show object refdes / pin number at mouse pointer
Shift+N next Select the shortest unselected rat on the board
O optimize rats optimize and redraw all rats
Shift+O optimize some rats optimize and redraw selected nets only
Ctrl+O octagon toggle the octagon flag of the object under the cursor
Shift+P polygon close connect the first point of a polygon with the last
Q square toggle toggle square/round corners on pads
Shift+R redo redo what was undone with undo
Ctrl+R report show object report
S size increment size of the object under the cursor
Shift+S size (-) decrement size of the object under the cursor
Alt+S sizehole increase the hole of the object under the cursor
Alt+Shift+S sizehole (-) decrease the hole of the object under the cursor
Ctrl+S sizehole increase the hole of the object under the cursor
Ctrl+Shift+S sizehole (-) decrease the hole size
T text tool size increase the size of new text by 10 mil
Shift+T text tool size (-) decrease the size of new text by 10 mil
V view extents global view of working area
Shift+V via tool dia increase the diameter of new vias by 5 mil
Ctrl+V paste buffer paste from buffer
Ctrl+Shift+V via tool dia (-) decrease the diameter of new vias by 5 mil
Alt+V via tool drill increase the drill diameter of new vias by 5 mil
Shift+Alt+V via tool drill (-) decrease the drill diameter of new vias by 5 mil
Ctrl+X cut to buffer cut selection to buffer
Z zoom view: zoom in
Shift+Z un-zoom view: zoom out
F1 via enter via tool
F2 line enter line tool
F3 arc enter arc tool
F4 text enter text tool
F5 rectangle enter rectangle tool
F6 polygon enter polygon tool
F7 buffer enter buffer mode
F8 delete enter remove mode
F9 rotate enter rotate mode
F10 file menu file menu
F11 select enter select mode (same as Space, or Esc)
F12 lock enter lock mode

Viewport Keystrokes

Key Mnemonic Description
V view extents global view of working area
C center centers view on cursor
Z zoom zoom in
Shift+Z un-zoom zoom out
| thin-draw toggles thin draw mode
Tab flip up/down vertical flip
Shift+Tab flip left/right horizontal flip
Ctrl+Shift+Tab far side exchange the roles of front and far side

Layers

Key Mnemonic Description
1 to 9 - select layers 1 to 9
0 - select layer 10*
Alt+1 to Alt+9 - select layers 11 to 19*
Alt+0 - select layer 20*
Ctrl+1 to Ctrl+9 - toggle visibility of layers 1 to 9*
Ctrl+0 - toggle visibility of layer 10*
Ctrl+Alt+1 to Ctrl+Alt+9 - toggle visibility of 11 to 19*
Ctrl+Alt+0 - toggle visibility of 20*

* These accels are available in PCB, GTK GUI in versions after August 2011

Footprint Quick Reference

The Master document for footprint creation is the PCB Manual. There is also Stuart Brorson’s Footprint Creation for the Open-Source Layout Program PCB.

General syntax

A pcb footprint file may contain any of the following commands:

  • Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]
  • Pad [x1 y1 x2 y2 thickness clearance mask name pad_number flags]
  • Pin [x y thickness clearance mask drillholedia name number flags]
  • ElementArc [x y r1 r2 startangle sweepangle thickness]
  • ElementLine [x1 y1 x2 y2 thickness] –> thickness != 1000 = 10 mils almost for all footprints
  • Comment lines start with the ‘#’-sign

PCB Units

PCB handles metric and imperial units in the following way:

  • The base Imperial unit is the “centimil”, or 1/100 of a thousandth, or 1/100,000 inch, or 0.00001 inch.
  • Allowable imperial value range: “0.04” (0.0000004 inches) to approx. “78740000” (about 78-3/4“)
  • The base Metric unit is 1nm (one nanometer). PCB parses in metric if the number has a “mm” behind it.
  • Allowable metric value range: “0.000001mm” to “2000mm”
  • NOTES:
    • use “mm” after number to specify metric
    • imperial and metric may be mixed within a footprint (!)

Elements

Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]

Allowed value (unit = 1e-5 inches) Allowed Value (mm) explanation comment
element_flags unsigned hex value
description string text description of footprint user-defined
pcb_name string generic refdes (R?, U? etc.) user-defined
value string component value (layout specific) user-defined (blank)
mark_x “1” to ~ “78740000” “0.000001mm” to “2000mm” (x,y) loc. of center mark
mark_y “1” to ~ “78740000” “0.000001mm” to “2000mm”
text_x “1” to ~ “78740000” “0.000001mm” to “2000mm” (x,y) loc. of REFDES
text_y “1” to ~ “78740000” “0.000001mm” to “2000mm”
text_direction decimal integer 0=horiz; 1=ccw90; 2=180; 3=cw90
text_scale decimal integer usu. set to 100
text_flags unsigned hex

Pads

Pad[x1 y1 x2 y2 thickness clearance mask name pad_number flags]

Item Allowed Value Explanation Comment
x1 1/100th mil x (1st point)
y1 1/100th mil y (1st point)
x2 1/100th mil x (2nd point)
y2 1/100th mils y (2nd point)
thickness 1/100 mils width of metal surrounding line segment see Brorson .pdf
clearance 1/100 mils distance to any other copper on any layer actually 1/2 of this number is used!
mask 1/100th mils width of mask relief actual width of the mask centered on pad copper
name string name of pad (arb. string) e.g. "pad_1" or "positive" or any other string
pad_number string pad # used for nets. it MUST be consistent with the definitions on the netlist.
flags hex or string examples:

Pins

Pin[x y thickness clearance mask drillholedia name number flags]

Item Allowed Value Explanation Comment
x 1/100th mils pin x coord.
y 1/100th mils pin y coord.
thickness 1/100th mils copper diameter
clearance 1/100th mils 2*(cu to cu clearance) if you want a 10 mil clearance, put 2000 (20 mils) here
mask 1/100th mils diameter of mask aperture actual dia. of hole in mask
drillholedia 1/100th mils dia. of hole
name string arb. pin name
number decimal integer pin number used by nets/rats
flags hex xxx

Examples

  • Pad[-24606 14760 -19538 14760 1181 2000 3181 "" "16" "square"]
  • Pad[-14760 19538 -14760 24606 1181 2000 3181 "" "17" "square,edge2"]
  • Pad[-240.00mil 0.0000 -80.00mil 0.0000 40.00mil 20.00mil 46.00mil "2" "2" "onsolder,square"]
  • Pad[80.00mil 0.0000 240.00mil 0.0000 40.00mil 20.00mil 46.00mil "1" "1" "onsolder,square,edge2"]
  • Pin[0 0 12000 2000 12500 6400 "" "1" 0×00000001]
  • Pin[0 0 11500 11800 35000 12500 "" "1" 0x08] ←- unplated / nonplated hole
  • ElementArc [0 0 6800 6800 0 360 1000]
  • ElementLine [-26696 -26696 26696 -26696 1000]
  • # notes within PCB Footprints go after the pound sign

PCB Command Line Action Reference (abridged)

:FreeRotateBuffer(degrees)Rotate buffer arbitrarily
:MoveObject(x,y,unit) Move Absolute (x,y,mil) or Relative(+x,-y,mil)
:ChangeClearSize(Selected,<amount>,<unit>) Clearance Size
:ChangeSize(SelectedPins, SIZE) Pin Size
:ChangeSize(SelectedLines,+N,mils) Line Size
:MinClearGap(Selected,<amount>,<unit>) Clearance Gap

PCB Physical Layer Reference

  • outline layer reference
  • physical layer how-to (outline, direct (x,y) footprint placement, part insertion)
geda/pcb-quick_reference.txt · Last modified: 2016/02/18 13:04 by ptay