//Translations of this page are also available in the following languages:// [[pcb-quick_reference.fr|Français]], [[pcb-quick_reference.ru|Русский]]. ====== 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 | | S-tab | flip left/right | view: horizontal flip | | C-S-tab | far side | view: exchange the roles of front side and far side | | del | delete | delete object under the mouse cursor | | C-S L-Mouse | delete | delete object under the mouse cursor (fast) | | S-del | del-sel | delete objects in selection | | backspace | del-sel | delete objects in selection | | S-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. | | A-a | select-all | select all objects on active layers. Deactivated layers are ignored. | | S-A-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 | | C-c | copy to buffer | copy selection to buffer and unselect | | d | display name | display pin or pad name | | S-d | pinout dialog | open pinout window for element under mouse cursor | | e | eliminate rats | delete all rats | | S-e | eliminate some rats| delete selected rats | | f | find | highlight connections to object under mouse cursor. This includes rats and objects on invisible layers | | C-f | add to found | add connections to object under mouse cursor to the set of found objects | | S-f | un-find | un-highlight found connections | | g | incr grid mil | increment grid by configured imperial increment | | S-g | decr grid mil | decrement grid by configured imperial increment | | C-g | incr grid mm | increment grid by configured metric increment | | C-S-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 | | S-h | hide sel | toggle the visibility of the refdes or value attached to selected components | | C-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 | | S-j | lineclear sel | toggle the polygon clear flag of selected lines | | k | klear | increment clearance (soldermask to copper edge) | | S-k | klear (-) | decrement clearance (soldermask to copper edge (NOTE: can go negative!)) | | C-k | klear sel | increment clearance of selected objects (soldermask to copper edge) | | S-C-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 | | S-l | decrease line | reduce the current linewidth | | m | move to layer | move the object under the cursor to the current layer | | S-m | move selection to layer | move selected objects to the current working layer (see [[geda:pcb_tips#how_do_i_move_one_set_of_layer_tracks_to_another_layer|pcb tip]]) | | C-m | move origin | set the origin to the current position of the mouse pointer | | n | name | show object refdes / pin number at mouse pointer | | S-n | next | Select the shortest unselected rat on the board | | o | optimize rats | optimize and redraw all rats | | S-o | optimize some rats | optimize and redraw selected nets only | | C-o | octagon | toggle the octagon flag of the object under the cursor | | S-p | polygon close | connect the first point of a polygon with the last | | q | square toggle | toggle square/round corners on pads | | S-r | redo | redo what was undone with undo | | C-r | report | show object report | | s | size | increment size of the object under the cursor | | S-s | size (-) | decrement size of the object under the cursor | | A-s | sizehole | increase the hole of the object under the cursor | | A-S-s | sizehole (-) | decrease the hole of the object under the cursor | | C-s | sizehole | increase the hole of the object under the cursor | | C-S-s | sizehole (-) | decrease the hole size | | t | text tool size | increase the size of new text by 10 mil | | S-t | text tool size (-) | decrease the size of new text by 10 mil | | v | view extents | global view of working area | | S-v | via tool dia | increase the diameter of new vias by 5 mil | | C-v | paste buffer | paste from buffer | | C-S-v | via tool dia (-) | decrease the diameter of new vias by 5 mil | | A-v | via tool drill | increase the drill diameter of new vias by 5 mil | | S-A-v | via tool drill (-) | decrease the drill diameter of new vias by 5 mil | | C-x | cut to buffer | cut selection to buffer | | z | zoom | view: zoom in | | S-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 | | S-z | un-zoom | zoom out | | | | thin-draw | toggles thin draw mode | | tab | flip up/down | vertical flip | | S-tab | flip left/right | horizontal flip | | C-S-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* | | A-1 to A-9 | - | select layers 11 to 19* | | A-0 | - | select layer 20* | | C-1 to C-9 | - | toggle visibility of layers 1 to 9* | | C-0 | - | toggle visibility of layer 10* | | C-A-1 to C-A-9 | - | toggle visibility of 11 to 19* | | C-A-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 [[http://pcb.geda-project.org/manual.html|PCB Manual]]. There is also Stuart Brorson’s [[http://www.brorson.com/gEDA/land_patterns_20050129.pdf|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,,)|| Clearance Size| |:ChangeSize(SelectedPins, SIZE)|| Pin Size | |:ChangeSize(SelectedLines,+N,mils)|| Line Size | |:MinClearGap(Selected,,)|| Clearance Gap | * units can be specified as mm or mil. * [[http://pcb.geda-project.org/pcb-20100929/pcb.html#Action-Reference|Action Reference from the PCB Manual]] ====== PCB Physical Layer Reference ====== * outline layer reference * physical layer how-to (outline, direct (x,y) footprint placement, part insertion)