| << [[Components]]  |  **[[geda:gschem_ug|gEDA gschem User Guide]]**  |  [[Graphics]] >> |

===== Pins, nets and buses =====

Connectivity in gEDA schematics and symbols is shown using pins, nets and buses.

  * Pins are used in symbols, and represent either a physical pin on an electronic component, or a logical connection to a subcircuit schematic.
  * Nets are used in schematics.  They represent individual wires, and are used to connect together the pins of [[components]].
  * Buses are also used in schematics, and represent "bundles" of multiple nets.

Nets, pins and buses can have [[attributes]] attached to them to control how they are interpreted by [[geda:gnetlist_ug|gnetlist]].
==== Adding and editing pins ====

Pins have a //connectible end//, which is highlighted with a colored swatch, and a static end.  Nets can only be connected at the highlighted end.

<note tip>If you are designing a symbol, see also the [[geda:gschem_symbol_creation|Symbol Creation Guide]].</note>

To begin adding pins, use **Add→Pin**.  Left-click once to position the connectible end of the new pin, and left-click again for the other end.  To finish placing pins, right-click.

If you [[selecting|select]] a pin, handles will appear for each of its endpoints.  You can left-click and drag these with the mouse to change the position of the pin's endpoints.

==== Adding and editing nets ====

Nets are made up of straight //net segments//, and net connections are formed either where two net segment ends meet, or where a net segment end meets a net segment midpoint.  If two net segments cross, they do not form a connection.  A net connection is marked by a circular cue, and a disconnected (or "floating") net end with a square cue.

To add a net segment, use **Add→Net**.  There are two modes for adding nets: normal mode, and magnetic mode (the default).  To switch between them, use **Options→Toggle Magnetic Net**.

  * In //magnetic mode//, new nets snap onto nearby connectible points on pins and nets.  The target location that the next net point will snap to is highlighted with a circle.
  * In //normal mode//, new nets snap to the grid like other newly-created objects.

Nets will be added using only combinations of horizontal and vertical segments, unless you hold down the <key>Ctrl</key> key, in which case segments at any angle will be used.

Selected nets can be modified by dragging the handles on their endpoints in the same way as pins.

==== Adding and editing buses ====

<note important>Since buses are not currently fully supported by [[geda:gnetlist_ug|gnetlist]], buses are commonly used only for documentation purposes.</note>

Like nets, buses are made up of //bus segments//, follow similar connectivity rules, and can be edited in the same way.

To add buses, use **Add→Bus**.  When adding buses, each new bus segment is constrained to be either horizontal or vertical, unless you hold down the <key>Ctrl</key> key.  Buses do not support magnetic mode.

When you connect a net to a bus, a "bus ripper" symbol is automatically inserted. This allows two nets to be attached to the same point on a bus from opposite sides without shorting together.
