Skip to content

Latest commit

 

History

History
259 lines (191 loc) · 10.9 KB

2.3_routing_tips_and_tricks.md

File metadata and controls

259 lines (191 loc) · 10.9 KB

Routing

How do I route a connection from solder to component side and back?

While using the line tool, use the number keys on top of the keyboard to switch layers. A via will be placed automatically at the endpoint of the last complete segment.

How do I change the routing style?

There is a set of predefined sizes for routing. The sets bear suggestive names (Signal, Power, Fat and Skinny). Hit the button “Route Style” to configure the sizes of the current set to your needs. You can set the names and the default values of these parameter sets in a config file ( ~/.pcb/settings for the GTK-HID, or ~/.Xdefaults for the Lesstif-HID).

Example for such a setting:

route-styles = Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600

Be sure, to remove any route-style line in ~/.pcb/preferences . Else, the line in settings will be ignored.

The line tool knows about different modes to deal with transversal connections. The status line on the bottom of the page tells, which mode is in effect:

  1. 45° plus vertical/horizontal (status line: “_”)
  2. vertical plus 45° (status line: “_/”)
  3. either vertical or 45° (status line: “45”)
  4. arbitrary angle (status line: “all”)

The way to access these modes differs among the GUI versions. The current GTK snapshot (v20060288) defaults to “_/” but can be temporarily turned to “_” with the Shift key. You can switch to 45° mode with the slash key /. For arbitrary angles, press the period key ., or choose 'All-direction' lines in the Setting menu.

I got stuck! How do I go back?

The universal undo key U works even while in the middle of track layout actions. It will remove the last segment but keep the line tool attached to the mouse. So you can immediately go on routing and find a better way.

How do I move one set of layer tracks to a different layer?

  1. Select the tracks. It’s easiest to do this if you shut off everything but that layer first (i.e. silk, pins, other layers, etc).
  2. Now set the current layer to be the new layer. Yes, the layer might get displayed; not a problem as you’ve already selected the tracks you want.
  3. Press Shift+M to move all the selected tracks to the current layer.

How do I achieve open vias clear of soldermask

In pcb vias are covered by soldermask by default. You can achieve open vias by setting their clearance value to a proper value. This can be done individually for every object, or collectively for selections of objects.

For individual vias:

  1. Turn on the soldermask layer. This will make the K key refer to the soldermask clearance instead of polygon clearance.
  2. Position the mouse above the via (mouse cursor will change in recent versions of pcb)
  3. Type K several times until soldermask clearance exceeds the diameter of the via pad. Every strike of the key will increase the clearance by 2 mil. The first strike will let the pad of the via pop through the soldermask color. Yet, the actual clearance is only 2 mil at this point. You can decrease the clearance by using the Shift+K key.

For groups of vias:

  1. Turn on the solder mask layer.
  2. select the all the vias you want to clear from soldermask. You may switch off all the other layers to conveniently collect exclusively the vias.
  3. Type Ctrl+K key several times. Shift+Ctrl+K will decrease the clearance of all selected objects.

The command interface provides more control over the actual size of the clearance. Type : to get the command line window, then type:

ChangeClearSize(SelectedVias, <delta>)

where <delta> is a size given in 1/100 of a mil.

Thus the number 3000 corresponds to 30 mil.

Simple integers for <delta> will set the clearance to this value.

If the value is preceded by a minus “-” or a plus “+” the clearance will be decreased or increased.

This also works with SelectedPins, SelectedPads, SelectedLines, SelectedArcs or even SelectedObjects.

How do I change the soldermask clearance around a hole/pad?

By default holes and pads will be cleared by an amount given in the corresponding footprint file.

Sometimes this clearance might not be what your design needs.

You can change the clearance on the fly for individual holes and pads just like vias.

See the paragraph above for the details.

If pad clearance is not compatible with the demands of your pcb-fab you may consider to make local copies of the footprint files and change the clearance accordingly.

How do I change the size of my tracks?

There are a number of ways to change the size of already laid down tracks:

  1. Use S and Shift+S to increase and decrease the size of the track currently under the mouse cursor.
  2. Choose Select → Change size of selected objects → Lines -10 mil from the Select menu. The actual amount of change can be set in File → Preferences… → Sizes. This only acts on the tracks. So the selection may contain components, text, vias and the like.
  3. Select the tracks to be changed and type :ChangeSize(SelectedLines,+4,mils). The : key gets you to the command line and ChangeSize() is the command version of the previously described action. Replace “+4” by the amount you want to increase the track size. Use the minus sign to decrease the track size. If you omit the sign the command sets the track size to the value given.

How do I drive a via to connect a track to a ground plane on a different layer?

  1. Set the GND plane layer as the active layer.
  2. Select the “via” tool.
  3. Place the via where you want it to live (left click to place).
  4. Now select the “thermal” tool.
  5. Left click on the via you just placed.
  6. Now change the active layer to your desired routing layer.
  7. Select the “line” tool.
  8. Route the track on the active layer to or from the via as usual.

What is the easiest way to create a "thermal via" ?

A “thermal via” is not a via with a thermal relief.

Rather, it's a via with no thermal relief punched into polygons on both sides of the board.

These vias get filled with solder to help create a large thermal mass to be used as a heat sink.

For more info, see Freescale App-Note AN4005.

Here are some suggestions:

  1. Draw a rectangle to comfortably surround the vias. Then, mouse over the rectangle and hit S. This will flood the thermal reliefs on the vias. If you want to ever de-solder the part from the back, make sure the pad on the opposite side has the solder resist cleared.
  2. Just put a normal thermal relief on the via and then shift click on it to cycle through to the one with no relief.

I want to draw a track between two segments on the same net, but PCB won't let me! Why?

You are likely drawing tracks with auto-DRC on.

To connect the two segments, here are some suggestions:

  1. DRC enforcement uses the ratsnest to determine where a track is allowed to go. Thus, you must have the ratsnest drawn in order to make connections in auto-DRC mode. Otherwise you will not be allowed to connect (or approach) any copper that is not already connected to your net. (If the rat visibility bothers you, you can hide the rats layer – but the rats must exist).
  2. You should also refresh the rats regularly when drawing. Hit O to redraw/re-optimize the rats. Make sure a rat is visibly connecting the two pieces of metal you want to connect.
  3. It is also possible that you will experience this situation when drawing tracks between pins in a connector. In this case, it is possible that your track width violates the clearance requirements of the pin field. Try decreasing the pin-to-metal clearance, or use a narrower track width.
  4. Sometimes this route-blocking behaviour can come about from an error in your netlist. Don't end refdes's with lower case letters - they're reserved for gates within devices. End with upper case or a digit; the lowercase letters are simply ignored.

PCB won't let me connect to copper that is not connected to anything!

This is a known weakness of the Auto-enforce-DRC mode.

In this mode, the line tool will only allow you to connect to copper with the same net as the place where the track started.

There are two ways to connect to unconnected copper, anyway:

Obviously, you can temporarily deactivate Auto enforce DRC clearance in the Settings menu.

A second way uses the fact that auto-DRC relies on the found flag:

  1. enter the “line” mode (F2).
  2. hover the mouse cursor over the unconnected copper.
  3. press F to mark it as “found”.
  4. start the line from somewhere else. Both should now be marked with the “found” color and should be connectable.

I want to draw two vias very close to each other, but PCB won't let me!

Unfortunately, older versions of PCB not only prevent you from placing overlapping vias but drop them on load.

In December 2010 this overly cautious behavior was fixed. If you really need overlapping vias, you have to install a version of pcb younger than that.

The 2011 version of PCB still won't allow you to place vias so close that their holes overlap. However, it won't complain if you managed to work-around this restriction. E.g. place tiny vias and increase their size afterwards.

PCB seems to munge my components names and complains that it can't find proper nets for the pins! How come?

Most likely you named them such that PCB believes they are one part. Lower case letters at the end of a refdes are ignored.

Thus, the components U2foo and U2bar both look like U2 to pcb. When building the rat nests pcb is will look for nets to U2 that, of course don't exist.

Lower case letters are meant to differentiate slots of a multi-component. E.g. the four opamp symbols of a quad operational amplifier.

Bottom line: Don't use lower case letters at the end of a refdes, unless you know what you are doing.

How can I set color and thickness of the rats nests?

You can set the color of the rats in File → Preferences… → Colors → Main colors

There is currently no GUI way to set the rat width, but you can edit your $HOME/.pcb/preferences file manually. Close all instances of pcb and look for the line that starts with rat-thickness.

Values 0..19 are fixed width in screen pixels. Anything larger means PCB units (i.e. 100 means “1 mil”). On zoom, PCB unit rats will scale accordingly.

Where is that last remaining rat?

Sometimes remaining rats are hard to see, because they have zero length. This will be the case if a via is missing for some reason. You can make them pop into your eye by setting the rat thickness to some big value e.g. 3000 mil.

Rat thickness is set in $HOME/.pcb/preferences.