Browse Learn topics

Learn/eCAD/Schematic capture

Wires, busses and junctions

WUpdated v2.4.4

At a glance

  • A wire run ends when it is CONNECTED, not on your second click — corners never commit the wire early
  • Double-click ends a run deliberately in open space, which is what dangling a wire under a net label should take
  • The tool re-arms completely fresh after every connection, so five wires in a row is five identical gestures
  • Snap targets are exactly what the netlist connects to: pins, wire ends, a wire's body, junctions, labels, power symbols
  • T-taps connect implicitly; a bare crossing never does, and dropping a junction on it is how you say it should
  • Junction dots are derived from the geometry — they appear where three or more directions actually meet
  • Busses draw the same way and carry ranges like D[0..7], expanding to their members on the labelled net

Press W for Wire, B for Bus. Both draw as an L: click a start, and the run follows the cursor with a corner in it. Space flips which leg goes first.

The finish rule

A wire run ends when it is connected, not when you have clicked twice.

Where the click landsWhat happens
An attach point — a pin, a wire or bus end, a wire's body, a junction, a net label, a power symbolThe run commits, and the tool re-arms for the next one
Anywhere elseThe click drops a corner and the run keeps going
The point you're already on, twice quicklyThe run commits dangling

Routing 5V across a sheet to R2 takes several corners, and none of them should end the wire. And routing out into open space to drop a net label there is a completely normal thing to do — it now takes the double-click that says you meant it. Escape discards a live run entirely; a second Escape leaves the tool. Enter commits like the double-click does.

Only the end is gated. A wire may start in open space — that is your declared origin, and gating it too would strand you mid-route with no legal way to finish.

Committing re-arms the tool completely fresh. After a connection the tool is back in exactly its activation state: no start point, nothing trailing the cursor. A new run begins where you click, never where the last one ended.

What the tools snap to

In priority order:

  1. Point targets — pin connection points, wire and bus ends, junctions, net labels, power symbols, source terminals. Nearest wins inside a generous radius.
  2. A wire's body — the nearest point along an existing run, considered only when no point target is in range. A rail passing a few pixels from a pin is common, and the pin is what you meant every time.
  3. The grid — a fixed 10-mil lattice, 100 mil with Alt held.

The snap set is exactly the set of things the netlist treats as a connection. That correspondence is the whole value: snapping to something the netlist ignores would let you land dead-on a symbol and still be unconnected, and a connection the netlist honours but the snap doesn't offer is one you have to hit by hand. Tapping the middle of a rail is offered because the netlist has always connected it.

The snap radius is deliberately generous. Near a pin, the pin is the only thing you can mean.

What connects, and what doesn't

Standard EDA semantics, and the third row is the interesting one:

Connects
Two wires sharing an endYes
A wire end landing on another wire's body — a TYes
Two wires crossing, neither end involved — an XNo
A pin at a wire end, or on a wire's bodyYes
A label or power symbol dropped anywhere on a wireYes
Two pins on the same point, no wireYes

Crossings not connecting is not an inconvenience — any schematic with real density has wires crossing constantly, and connecting them implicitly would short unrelated nets where nobody would ever see it.

Junction dots

Dots are derived from the geometry, not drawn by hand. At every wire end, the distinct directions wires leave in are counted, and a dot appears where there are three or more. That single rule gives you a dot on every T, no dot on a plain corner, no dot on an X, and no double dot where a run doubles back along the rail it just tapped.

Dots on component pins and pin leads are suppressed. A pin is already the terminal; a dot on one reads as clutter. Connectivity is untouched either way — the dots follow the connections, never the other way round.

Which is exactly why the Junction tool (J) still exists. Asserting that a crossing connects is the one thing geometry can never work out for you. A dot you place is an assertion and is never pruned; a derived dot vanishes when the geometry that caused it does.

Busses

A bus draws like a wire and carries a range: D[0..7], ADDR[3..0]. Label it and every member name lands on that net, reversed ranges expanding in reverse. Busses and wires are separate families for the purposes of junctions — a wire meeting a bus is a bus-entry question, not a dot.

One more thing worth knowing

Wires hold no connection references at all. A wire is its two endpoints and nothing else, and every net is re-derived from exact coordinate coincidence. That is why copy and paste reconnects a pasted block for free, and why dragging a part takes its wires with it without any of them being "attached" to anything.