Tutorial - A Complete Design Walkthrough with Altium Designer

Applies to Altium Designer versions: 17.0 and 17.1
 

Welcome to the world of electronic product development in Altium's world-class electronic design software. This tutorial will help you get started by taking you through the entire process of designing a simple PCB - from idea to outputs files. If you are new to Altium software then it is worth reading the Exploring Altium Designer page to learn more about the interface, information on how to use panels, and an overview of managing design documents.

To learn more about a command, dialog, object or panel, press F1 when the cursor is over that item.

The Design

The design you will be capturing and then designing a printed circuit board (PCB) for is a simple astable multivibrator. The circuit is shown below, it uses two general purpose NPN transistors configured as a self-running astable multivibrator.

Circuit for the multivibrator.
Circuit for the multivibrator.

You're ready to begin capturing (drawing) the schematic. The first step is to create a PCB project.

Creating a New PCB Project

Main article: New Project

In Altium's software, a PCB project is the set of design documents (files) required to specify and manufacture a printed circuit board. The project file, for example Multivibrator.PrjPCB, is an ASCII file that lists which documents are in the project, as well as other project-level settings, such as the required electrical rule checks, project preferences, and project outputs, such as print and CAM settings.

A new project is created in the New Project dialog, as shown below.

Create the new PCB project in the required location.
Create the new PCB project in the required location.

Adding a Schematic to the Project

The next step is to add a new schematic sheet to the project.

Add a schematic sheet to the project, name and save the schematic, and save the project.
Add a schematic sheet to the project, name and save the schematic, and save the project.

When the blank schematic sheet opens you will notice that the workspace changes. The main toolbar includes a range of new buttons, new toolbars are visible, the menu bar includes new items, and the Sheet panel is displayed - you are now in the Schematic Editor.

The floating panel(s) can be closed using the icon at the top right of the panel, when needed they can be reopened via the buttons down the bottom right of the application.

Setting the Document Options

Main article: Document Options

Before you start drawing your circuit, is is worth setting up the appropriate document options, including the Sheet Size, and the Snap and Visible grids.

Document options are configured for each schematic sheet, set the sheet size as required.
Document options are configured for each schematic sheet, set the sheet size as required.

As well as the technique described in the collapsible section below, the Document Options dialog can be opened by double-clicking in the sheet border.

Environment options, such as the cursor type, selection color and auto pan behavior are configured in the Preferences dialog (File » System Preferences).

Components and Libraries in Altium Designer

Related article: More about Components and Libraries

This section of the tutorial will explain the two different approaches to working with components (from libraries, or from the Vault). In the following section, you will locate and place the components you need, from the Vault.

The real-world component that gets mounted on the board is represented as a schematic symbol during design capture, and as a PCB footprint for board design. Altium Designer components can be:

  • created in and placed from local libraries, or
  • placed directly from the Altium Content Vault, a globally accessible component storage system that contains thousands of components, each with a symbol, footprint, component parameters and links to suppliers.

The following component storage options can be used in Altium Designer:

Library Type Function
Schematic Library Schematic component symbols are created in schematic libraries (*.SchLib), which are stored locally. Each symbol can become a component by adding links to a PCB footprint, then adding component parameters to detail the component's specifications.
PCB Library PCB footprints (models) are stored in PCB libraries (*.PcbLib), which are stored locally. The footprint includes the electrical elements, such as the pads, as well as the mechanical elements, such as the component overlay, dimensions, glue dots, and so on. It can also include a 3D definition, created by placing 3D Body objects, or by importing a STEP model.
Library Package / Integrated Library As well as working directly from the schematic and PCB libraries, you can also compile the component elements into an integrated library (*.IntLib, stored locally). Doing this results in a single, portable library which holds all the models and symbols. An integrated library is compiled from a Library package (*.LibPkg), which is essentially a special-purpose project file, with the source schematic (*.SchLib) and PCB libraries (*.PcbLib) added to it as source documents. As part of the compilation process, you can also check for potential problems, such as missing models and mismatches between schematic pins and PCB pads.
Altium Content Vault The Content Vault is much more than a library. Components are stored in the cloud, accessible from anywhere that has internet access. Content Vault components include: symbol, footprint(s), component parameters, and links to suppliers. They are organized into folders - by manufacturer, or by package type for generics.

Accessing Components

Components are accessed through the:

  • Libraries panel for local library components; or through the
  • Vaults panel for Content Vault components.

Both of these panels can be accessed via the System menu, click the  button down the bottom right of the application to display the menu.

The menus provides quick access to the panels.
The menus provides quick access to the panels.

The two panels that are used to access components are shown below.

Access components through either: the Libraries panel, or the Vaults panel.  
Access components through either: the Libraries panel, or the Vaults panel.

Making Libraries Available to Access the Components

Main article: Available Libraries

In Altium Designer, library-based components can be placed from Available Libraries. The libraries that are available include:

  • Libraries in the current project - if a library is part of the project, then the components in it are automatically available for placement within that project.
  • Installed libraries - these are libraries that have been installed in Altium Designer, their components are available for use in any open project.

Libraries are installed in the Installed tab of the Available Libraries dialog. To open the dialog, click the Libraries button at the top of the Libraries panel. If the panel is not currently visible, click System » Libraries to display it.

Install the required libraries to make their components available for designs.
Install the required libraries to make their components available for designs.

Finding a Component in Libraries

To help you find the component you need, Altium Designer includes powerful library searching capabilities. Although there are components that are suitable for the multivibrator design available in the pre-installed libraries, it is useful to know how to use the search feature to find components.

The Libraries Search dialog is accessed by clicking the Search button on the Libraries panel. The upper half of the dialog is used to define what you are searching for, the lower half is used to define where to search.

The Scope of the search can be in the libraries that are:

  • already installed (Available libraries), or
  • in libraries located in on the hard drive (Libraries on Path).

Search for the component using the Libraries Search dialog. You can search across installed libraries (Available libraries), or libraries on the hard drive (Libraries on path).
Search for the component using the Libraries Search dialog. You can search across installed libraries (Available libraries), or libraries on the hard drive (Libraries on path).

If you are working from libraries, the first step is to search for a suitable general-purpose NPN transistor, such as a 2N3904. The tutorial components are going to be placed from the Vault, which is discussed shortly.

Locating a Component in an Available Library

Libraries that are already installed are listed in the drop down at the top of the panel, click to select a library and display the components stored in it. Select the Miscellaneous Devices library from the list, then use the component Filter in the panel to locate the required 2N3904 component within the library (as shown in the image below). Since the Miscellaneous Devices library is already installed, this component is ready to place. Do not place it though, instead you will use a transistor from the Altium Content Vault.

Filtering the library for components with the string 3904 somewhere in their name.
Filtering the library for components with the string 3904 somewhere in their name.

Making the Content Vault Available to Access Components

Main article: Data Management - Vaults

The Altium Content Vault is completely separate from the installed Altium Designer software. To access the components in the Content Vault, you must first connect to it. This is done by clicking the Add Altium Content Vault button in the Data Management - Vaults page of the Preferences dialog.

Once you have connected to the Altium Content Vault, you can place components from the Vault into your design.
Once you have connected to the Altium Content Vault, you can place components from the Vault into your design.

Finding a Component in the Content Vault

Related article: Vaults panel

Once you have connected to the Altium Content Vault, you can explore or search for a component. This is done in the Vaults panel, select DXP » Vault Explorer to display the panel. The panel includes a powerful search feature, enter the search string into the search field at the top-right of the panel, as shown in the image below.

Searching for the general-purpose transistor BC547 in the Altium Content Vault. Click to examine a component of interest.Searching for the general-purpose transistor BC547 in the Altium Content Vault. Click to examine a component of interest.

Working in the Vaults Panel

The Vaults panel includes a number of sections, which can be resized as required. Take some time to explore the features and behavior of the panel, right-click for context-specific commands.

Use the Preview mode to examine the models and parameters included with the selected component.
Use the Preview mode to examine the models and parameters included with the selected component.

  • Components are organized in folders, use the Vaults Folders section on the left of the panel to browse through the folders - click the Folders tab down the bottom to display them.
  • There is a large number of components stored in the Altium Content Vault, it can be more efficient to search, as just described.
  • The lower region of the panel has a number of display modes, including: Summary, Supply Chain, Where-used, and Preview. Use the down-arrow icon to select the required mode, as shown in the image above.
  • To see which folder a found component is stored in, right-click on the component and select the Navigate To command.
  • Use the  button at the top-right of the panel to return to the search results.

Placing Components on the Schematic

Components are placed from the Libraries or Vaults panel onto the current schematic sheet. This can be done by:

From the Libraries Panel

Main article: Libraries Panel

  • Clicking the Place button - the component appears floating on the cursor, position it and click to place.
  • Double-clicking - double-click the component in the list of components in the panel, the component appears floating on the cursor, position it and click to place.
  • Click and drag - click and drag the component onto this sheet, this mode requires that the cursor is held down, the component is placed when the cursor is released.

From the Vaults Panel

Main article: Vaults Panel

  • Right-click on the component and select Place, the component appears floating on the cursor, position it and click to place. Note that if the Vaults panel is floating over the workspace, it will fade to allow you to see the schematic and place the component.
  • Click and drag - click and drag the component from the Vaults panel and drop it onto the schematic. This mode requires that the cursor is held down, the component is placed when the cursor is released. Depending on the speed of your internet connection, there may be a brief delay before the component is placed.

Placement Tips

While the component is floating on the cursor, you can:

  • Press Spacebar to rotate it anti-clockwise, in 90 degree increments.
  • Press X to flip it along the X-axis, press Y to flip it along the Y-axis.
  • Press Tab to edit the properties of an object prior to placement, the values entered become the defaults, and the designator is auto-incremented.
  • During component placement the software will automatically pan if you touch the window edge. If you accidentally pan beyond where you want, while the component is floating on the cursor you can:
    • Ctrl+Wheel Roll too zoom out and in again, or
    • right-click and drag to slide the schematic around, or
    • Ctrl+PgDn to display the entire sheet again.

Multivibrator Parts

The next step is to search the Content Vault for the following componentsto use in the Multivibrator circuit.

Designator Description Vault Item-Revision
or Library Component Name
Comments
Q1, Q2 General purpose NPN transistor, eg BC547 or 2N3904 CMP-1048-01437-1 searched Vault for BC547, chose the first one
R1, R2 100K resistor, 5%, 0805 CMP-1013-00122-1 searched Vault for 100K 5% 0805
R3, R4 1K resistor, 5%, 0805 CMP-1013-00074-1 searched Vault for 1K 5% 0805, note that search also returns 1K3, 1K8, etc
C1, C2 22nF capacitor, 10%, 16V, 0805 CMP-1036-04042-1 searched Vault for 22nF 16V 0805
P1 2-pin header, thruhole CMP-1024-00327-1 searched Vault for header, 2-pin, vertical

Once you have placed the components, the schematic should look like the image below.

You can proceed to find and place the components. Note that the collapsible sections below include tips on editing during placement, which is more efficient. If you choose to leave the editing until after the components are placed, double-click on a component to edit it.

All the components have been placed, ready for wiring.
All the components have been placed, ready for wiring.

You have now placed all the components. Note that the components shown in the image above are spaced so that there is plenty of room to wire to each component pin. This is important because you can not place a wire across the bottom of a pin to get to a pin beyond it. If you do, both pins will connect to the wire. If you need to move a component, click-and-hold on the body of the component, then drag the mouse to reposition it.

Component Positioning Tips

  • To reposition any object, place the cursor directly over the object, click-and-hold the left mouse button, drag the object to a new position and then release the mouse button. Movement is constrained to the current snap grid, which is displayed on the Status bar, press the G shortcut at any time to cycle through the current snap grid settings. Remember that it is important to position components on a coarse grid, such as 5 or 10.
  • You can also re-position a group of selected schematic objects using the arrow keys on the keyboard. Select the objects, then press an arrow key while holding down the Ctrl key. Hold Shift as well to move objects by 10 times the current snap grid.
  • The grid can also be temporarily set to 1 while moving an object with the mouse, hold Ctrl to do this. Use this feature when positioning text.
  • The grids you cycle through when you press the G shortcut are defined in the Schematic - Grids page of the Preferences dialog (File » System Preferences). On the Schematic - General page of the Preferences dialog there are settings to select the type of units that will be used, select between Imperial or Metric. Note that Altium components are designed using the DXP Defaults imperial grid, if you change to a metric grid the component pins will no longer fall onto a grid of 10 - because of this, it is recommended to use the DXP Defaults grid unless you plan on only using your own components.

Wiring up the Circuit

Wiring is the process of creating connectivity between the various components of your circuit. To wire up your schematic, refer to the sketch of the circuit and the animation shown below.

Use the Wiring tool to wire up your circuit, towards the end of the animation you can see how wires can be dragged.

Use the Wiring tool to wire up your circuit, towards the end of the animation you can see how wires can be dragged.

Wiring Tips

  • Left-click or press Enter to anchor the wire at the cursor position.
  • Press Backspace to remove the last anchor point.
  • Press Spacebar to toggle the direction of the corner. You can observe this in the animation shown above, when the connector is being wired.
  • Press Shift+Spacebar to cycle through the wiring corner modes. Available modes include: 90, 45, Any Angle and Autowire (place orthogonal wire segments between the click points).
  • Right-click or press Esc to exit wire placement mode.
  • Click and hold to move a placed component, or Ctrl + click and hold to drag the component together with any connected wires.
  • Ctrl+click and hold on a wire to drag the wire, as shown in the animation above.
  • Whenever a wire crosses the connection point of a component, or is terminated on another wire, a junction will automatically be created.
  • A wire that crosses the end of a pin will connect to that pin, even if you delete the junction. Check that your wired circuit looks like the figure shown, before proceeding.
  • Wiring cross-overs can be displayed as a small arch if preferred, enable the option in the Schematic - General page of the Preferences dialog.

Nets and Net Labels

Each set of component pins that you have connected to each other now form what is referred to as a net. For example, one net includes the base of Q1, one pin of R1 and one pin of C1. Each net is automatically assigned a system-generated name, which is based on one of the component pins in that net.

To make it easy to identify important nets in the design, you can add Net Labels to assign names. For the multivibrator circuit, you will label the 12V and GND nets in the circuit, as shown below.

Net Labels have been added to the 12V and GND nets, completing the schematic.
Net Labels have been added to the 12V and GND nets, completing the schematic.

Net Labels, Port and Power Ports

  • As well as giving a net a name, Net Labels are also used to create connectivity between 2 separate points on the same schematic sheet.
  • Ports are used to create connectivity between 2 separate points on different sheets. Offsheet connectors can also be used to do this.
  • Power Ports are used to create connectivity between points on all sheets, for this design Net Labels or Power Ports could have been used.

Congratulations! You have just completed your first schematic capture. Before you turn the schematic into a circuit board you need to configure the project options, and check the design for errors.

Setting Up Project Options

Project-specific settings are configured in the Options for PCB Project dialog, shown below (Project » Project Options). The project options include the error checking parameters, a connectivity matrix, Class Generator, the Comparator setup, ECO generation, output paths and connectivity options, Multi-Channel naming formats, Default Print setups, Search Paths, and project-level Parameters. These settings are used when you compile the project.

Project outputs, such as assembly, fabrication outputs and reports can be set up from the File and Reports menus. These settings are also stored in the Project file so they are always available for this project. An alternate approach is to use an OutputJob file to configure the outputs, with the advantage that an OutputJob can be copied from one project to the next. See More About Outputs to learn more configuring the outputs.

Compiling the Project

After you complete the schematic in Altium Designer, you compile it. This generates an internal connectivity map of the design, detailing all of the components and nets. When the project is compiled, comprehensive design and electrical rules are also applied to verify the design. The design and rule checks are configured in the Options for PCB Project dialog.

When all errors are resolved, the compiled schematic design is ready to be transferred to the target PCB document by generating a series of Engineering Change Orders (ECOs). Underlying this process is a comparator engine that identifies every difference between the schematic design and the PCB, and generates an ECO to resolve each difference. This approach of using a comparator engine to identify differences means you not only work directly between the schematic and PCB (there is no intermediate netlist file used), it also means the same approach can be used to synchronize the schematic and PCB at any stage during the design process. The comparator engine also allows you to find differences between source and target files and update (synchronize) in both directions. The ECO generation and comparator are also configured in the Options for PCB Project dialog.

Checking the Electrical Properties of Your Schematic

Schematic diagrams are more than just simple drawings - they contain electrical connectivity information about the circuit. You can use this connectivity awareness to verify your design. When you compile a project, the software checks for errors according to the rules set up in the Error Reporting and Connection Matrix tabs of the Options for Project dialog. When you compile the project any violations that are detected will display in the Messages panel.

Setting up the Error Reporting

Main article: Error Reporting

The Error Reporting tab in the Options for Project dialog is used to set up a large range of drafting and component configuration checks. The Report Mode settings show the level of severity of a violation. If you wish to change a setting, click on a Report Mode next to the violation you wish to change and choose the level of severity from the drop-down list.

For this tutorial there is one check that must be changed. The components in the tutorial have been placed from an Altium Vault, and Vault components support the concept of revisions - where a component can be updated and a new revision released. However, the components in the Altium Content Vault are not revisioned, so will fail the Inapplicable Revision State check. For the tutorial, this check must be set to No Report, as shown in the image below.

Configure the Error Reporting tab to detect for design errors when the project is compiled.
Configure the Error Reporting tab to detect for design errors when the project is compiled.

Setting Up the Connection Matrix

Main article: Connection Martix

When the design is compiled a list of the pins in each net is built in memory. The type of each pin is detected (eg: input, output, passive, etc), and then each net is checked to see if there are pin types that should not be connected to each other, for example an output pin connected to another output pin. The Connection Matrix tab of the Options for Project dialog is where you configure what pin types are allowed to connect to each other. For example, look down the entries on the right side of the matrix diagram and find Output Pin. Read across this row of the matrix till you get to the Open Collector Pin column. The square where they intersect is orange, indicating that an Output Pin connected to an Open Collector Pin on your schematic will generate an error condition when the project is compiled.

You can set each error type with a separate error level, eg. from no report, through to a fatal error. Click on a colored square to change the setting, continue to click to move to the next check-level. Set the matrix so that Unconnected Passive Pin generates Error, as shown in the image below.

The Connection Matrix defines what electrical conditions are checked for on the schematic, note that the Unconnected - Passive Pin setting is being changed.
The Connection Matrix defines what electrical conditions are checked for on the schematic, note that the Unconnected - Passive Pin setting is being changed.

Configuring the Class Generation

Main article: Class Generation

The Class Generation tab in the Options for Project dialog is used to configure what type of classes are generated from the design (the Comparator and ECO Generation tabs are then used to control if classes are transferred to the PCB). By default, the software will generate Component classes and Rooms for each schematic sheet, and Net Classes for each bus in the design. For a simple, single-sheet design such as this there is no need to generate a component class or a room - ensure that the Component Classes checkbox is cleared, doing this will also disable the creation of a room for that component class.

Note that this tab of the dialog also includes options for User-Defined Classes.

The Class Generation tab is used to configure what classes and rooms are automatically created for the design.The Class Generation tab is used to configure what classes and rooms are automatically created for the design.

Setting Up the Comparator

Main article: Comparator

The Comparator tab in the Options for Project dialog sets which differences between files will be reported or ignored when a project is compiled. Generally the only time you will need to change settings in this tab is when you add extra detail to the PCB, such as design rules, and do not want those settings removed during design synchronization. If you need more detailed control, then you can selectively control the comparator using the individual comparison settings.

For this tutorial it is sufficient to confirm that the Ignore Rules Defined in PCB Only option is enabled, as shown in the image below.

The Comparator tab is used to configure exactly what differences the comparison engine will check for.The Comparator tab is used to configure exactly what differences the comparison engine will check for.

You are now ready to compile the project and check for any errors.

Compiling the Project to Check for Errors

Main article: Compiling and Verifying the Design

Compiling a project checks for drafting and electrical rules errors in the design documents, and details all warnings and errors in the Messages panel. You have set up the rules in the Error Checking and Connection Matrix tabs of the Options for Project dialog, so are now ready to check the design.

To compile the project and check for errors, select Project » Compile PCB Project Multivibrator.PrjPcb.

Use the Messages panel to locate and resolve design errors - double-click on an error to pan and zoom to that object.
Use the Messages panel to locate and resolve design errors - double-click on an error to pan and zoom to that object.

When you double click on an error in the Messages panel:

  • The entire schematic fades, except for the object in error. The amount that the schematic fades is controlled by the Dim level, set by clicking the  button down the bottom right. Click the  button (Shift+C) to clear all masking / dimming.
  • The schematic zooms to present the object in error. The Zoom Precision is set in the System - Navigation page of the Preferences dialog.

To clear all messages from the Messages panel, right-click in the panel and select Clear All.

Schematic capture is now complete, time to create the PCB!

Creating a New PCB

Before you transfer the design from the Schematic Editor to the PCB Editor, you need to create the blank PCB, then name and save it as part of the project.

The blank PCB has been added to the project.
The blank PCB has been added to the project.

Configuring the Board Shape and Location

Main article: The Board

There are a number of attributes of this blank board that need to be changed before transferring the design from the schematic editor, including:

Task Process
Setting the origin The PCB editor has two origins, the Absolute Origin, which is the lower left of the workspace, and the user-definable Relative Origin, which is used to determine the current workspace location - the coordinates shown on the Status bar are relative to this origin. A common approach is to set the Relative Origin to the lower-left corner of the board shape. Select the Edit » Origin » Set command to set the Relative Origin, use the Reset command to reset it back to the Absolute Origin.
Change from Imperial to Metric units The current workspace X / Y location and Grid are displayed on the Status bar, which is displayed along the bottom of the software. For this tutorial metric units will be used - to change the units, either press Q on the keyboard to toggle back and forth between Imperial and Metric units, or select the View » Toggle Units command from the menus. You can also force a change of units if you enter the units with a grid value in the Snap Grid dialog.
Selecting a suitable snap grid You will have noticed that the current snap grid is 0.127mm, which is the old 5mil imperial snap grid, converted to metric. To change the snap grid at any time, right-click in the workspace and select the Snap Grid submenu, where you can select an imperial or metric value. Note the shortcuts shown in the menu, use Ctrl+Shift+G to open the Snap Grid dialog, which is handy when you want to type in a specific value. Other useful shortcuts include G to display the Snap Grid submenu, and Ctrl+G to open the Cartesian Grid editor. Grids are discussed in more detail later in the tutorial.
Redefining the board shape to the required size The board shape is shown by the black region with a grid in it. The default size for a new board is 6x4 inches, the tutorial board is 30mm x 30mm. Details for the process of defining a new shape for the board are available below.
Configuring the layers used in the design As well as the copper, or electrical layers you route on, there are also general-purpose mechanical layers, and special-purpose layers such as the component overlays (silkscreens), solder mask, paste mask, and so on. The electrical and other layers will be configured shortly.

Press Ctrl+PgDn at any time to zoom to show the entire board.

The board size has been defined, and the units, origin and grid have been set. The required layers will be configured shortly.
The board size has been defined, and the units, origin and grid have been set. The required layers will be configured shortly.

A good approach to defining the shape of a non-rectangular board is to place a series of tracks (and arcs for curved boards) on the keepout layer. As well as being useful as a placement and routing keep-away barrier, these tracks and arcs can be selected (Edit » Select » All on Layer) and used to create the board shape using the Design » Board Shape » Define from Selected Objects command.

Transferring the Design

Main article: Working Between the Schematic and the Board

The design is transferred directly between the schematic editor and the PCB editor, there is no intermediate netlist file created. From the schematic editor you select Design » Update PCB Document Multivibrator.PcbDoc, or from the PCB editor you select Design » Import Changes from Multivibrator.PrjPcb.

When you run either of these commands the design is compiled and a set of Engineering Change Orders is created, which:

  • List all components used in the design, and the footprint required for each. When the ECOs are executed the software will attempt to locate each footprint in the currently available libraries or available Content Vault, and place each into the PCB workspace. If the footprint is not available, an error will occur.
  • A list of all nets (connected component pins) in the design is created. When the ECOs are executed the software will add each net to the PCB, and then attempt to add the pins that belong to each net. If a pin cannot be added an error will occur - this most often happens when the footprint was not found, or the pads on the footprint do not map to the pins on the symbol.
  • Additional design data is then transferred, such as net and component classes.

Once the ECOs have been executed, the components are placed outside the board shape and the nets are created.
Once the ECOs have been executed, the components are placed outside the board shape and the nets are created.

Before transferring the schematic information to the new blank PCB, make sure all the related libraries for both schematic and PCB are available. Since only the Altium Content Vault is used in this tutorial, the required Vault is already available. As the Vault includes the symbol and the footprint, then the footprints required for the tutorial are also available.

The default settings for all of the PCB objects can be defined in the PCB Editor - Defaults page of the Preferences dialog. For example, if you want the component designators for all of your PCB designs to be 1.5mm high Arial Truetype, edit the Component defaults.

Setting Up the PCB Workspace

Once all of the ECOs have been executed the components and nets will appear in the PCB workspace, just to the right of the board outline, as shown in the image above.

Before you start positioning the components on the board you need to configure certain PCB workspace and board settings, such as the layers, grids and design rules.

Configuring the Display of Layers

Main article: View Configurations

As well as the the layers used to fabricate the board, including: signal, power plane, mask and silkscreen layers, the PCB Editor also supports numerous other non-electrical layers. The layers are often grouped in the following way:

  • Electrical layers - includes the 32 signal layers and 16 internal power plane layers.
  • Mechanical layers - there are 32 general purpose mechanical layers, used for design tasks such as dimensions, fabrication details, assembly instructions, or special purpose tasks such as glue dot layers. These layers can be selectively included in print and Gerber output generation. They can also be paired, meaning that objects placed on one of the paired layers in the library editor, will flip to the other layer in the pair when the component is flipped to the bottom side of the board.
  • Special layers - these include the top and bottom silkscreen layers, the solder and paste mask layers, drill layers, the Keep-Out layer (used to define the electrical boundaries), the multilayer (used for objects present on all signal layers, such as pads and vias), the connection layer, DRC error layer, grid layers, hole layers, and other display-type layers.

The display attributes of all layers are configured in the View Configurations dialog. To open the dialog:

  • Select the Design » Board Layers and Colors menu entry, or
  • Press the L shortcut, or
  • Click the current layer color icon down the bottom-left of the workspace.

Press the L shortcut to open the View Configurations dialog.
Press the L shortcut to open the View Configurations dialog.

As well as the layer display state and color settings, the View Configurations dialog also gives access to other display settings, including:

  • How each type of object is displayed (solid, draft or hidden), in the Show/Hide tab of the dialog.
  • Various view options, such as if Pad Net names and Pad Numbers are to be displayed, the Origin Marker, if Special Strings should be converted, and so on. These are configured in the View Options tab of the dialog.

Configure other view options, such as the display of net names on pads and tracks.
Configure other view options, such as the display of net names on pads and tracks.

Layer Tips

  • The currently enabled layers are shown as a series of Tabs across the bottom of the PCB workspace. Right-click on a Tab to access frequently-used layer display commands.
  • In a busy design, it can help to only display the layer currently being worked on - to toggle the display in/out of single layer mode press the Shift+S shortcut. The Available Single Layer Modes are configured in the PCB Editor - Board Insight Display page of the Preferences dialog.
  • To switch the active layer:
    • click the layer Tab, or
    • press the + or - numeric keys to cycle through all layers, or
    • press the * numeric key to cycle through signal layers, or
    • use the Ctrl+Shift+WheelRoll shortcuts.

Physical Layers and the Layer Stack Manager

Main article: Layer Stack Manager

As well as the signal and power plane (solid copper) layers, the PCB Editor also includes soldermask and silkscreen physical layers - these are all fabricated to make the physical board.  The arrangement of these layers is referred to as the Layer Stack. The layer stack is configured in the Layer Stack Manager, click Design » Layer Stack to open the dialog.

The Layer Stack Manager dialog is used to:

  • Add / remove signal and power plane layers.
  • Add / remove dielectric layers.
  • Change the order of the layers.
  • Configure the Material type for the physical layers.
  • Set the layer Thickness, Dielectric Material and Dielectric Constant.
  • Define the Pullback amount (clearance from plane edge to board edge) for plane layers.
  • Define the Coverlay Expansion for cover layers.
  • Define the component orientation for that layer (advanced feature available in certain Altium products).

The tutorial PCB is a simple design and can be routed as a single-sided or double-sided board. The layer thicknesses shown below have been edited to use sensible metric values.

The properties of the physical layers are defined in the Layer Stack Manager.
The properties of the physical layers are defined in the Layer Stack Manager.

To edit a cell either: double-click in the cell; or select the cell and press F2 to show the dropdown or edit the value.

Imperial or Metric Grid?

The next step is to select a grid that is suitable for placing and routing the components. All the objects placed in the PCB workspace are placed on the current snap grid.

Traditionally, the grid was selected to suit the component pin pitch and the routing technology that you planned to use for the board - that is, how wide do the tracks need to be, and what clearance is needed between tracks. The basic idea is to have both the tracks and clearances as wide as possible, to lower the fabriction costs and improve the reliability. Of course the selection of track/clearance is ultimately driven by what can be achieved on each design, which comes down to how tightly the components and routing must be packed to get the board placed and routed.

Over time, components and their pins have dramatically shrunk in size, as has the spacing of their pins. The component dimensions and the spacing of their pins has moved from being predominantly imperial with thru-hole pins, to being more-often metric dimensions with surface mount pins. If you are starting out a new board design, unless there is a strong reason, such as designing a replacement board to fit into an existing (imperial) product, you are better off working in metric.

Why?

Because the older, imperial components have big pins with lots of room between them. On the other hand, the small, surface mount devices are built using metric measurements - they are the ones that need a high level of accuracy to ensure that the fabricated/assembled/functional product works, and is reliable. Also, the PCB editor can easily handle routing to off-grid pins, so working with imperial components on a metric board is not onerous.

Suitable Grid Settings

For a design such as this simple tutorial circuit, practical grid and design rule settings would be:

Setting Value Where
Routing width 0.25 mm Routing Width design rule
Clearance 0.25 mm Electrical Clearance design rule
Board definition grid 5 mm Cartesian Grid Editor
Component placement grid 1 mm Cartesian Grid Editor
Routing grid 0.25 mm Cartesian Grid Editor
Via size 1 mm Routing Via Style design rule
Via hole 0.6 mm Routing Via Style design rule

While it might be tempting to select a very fine routing grid so that routing can effectively be placed anywhere, this is not a good approach. Why? because the point of setting the grid to be equal to, or a fraction of, the track+clearance is to ensure that the tracks are placed so that they do not waste potential routing space, which can easily happen if a very fine grid is used.

Select View » Toggle Units (or press the Q shortcut key) to toggle the workspace units between metric and imperial.

Regardless of the current setting for the units, you can include the units when entering a value in a dialog to force that value to be used, or press the Ctrl+Q shortcuts to toggle the units in an open dialog.

Support for Multiple Grids

Altium Designer allows multiple snap grids to be defined. There are 2 types of grids supported, Cartesian (traditional vertical/horizontal grid) and Polar (circular grid).

As well as defining the type of grid, you can also define the area where that grid applies. Note that the Default grid always applies to the entire workspace, even though it is only displayed over the board shape.

Since only one grid can be used at a time, grids also have a priority which is used to determine which grid should be applied when they overlap. There are also controls for defining if a grid is for all objects, components only, or non-components only.

Grids are created and managed in the Grid Manager.

Multiple grids can be configured in the Grid Manager, an image of these 3 grids is shown on the right (click to enlarge).
Multiple grids can be configured in the Grid Manager, an image of these 3 grids is shown on the right (click to enlarge).

The Grid Manager is accessed from the Tools » Grid Manager command (shortcut: G, M). Right-click to add, remove and manage grids, double-click to edit an existing grid.

Only the default grid is used in this tutorial.

Setting the Snap Grid

Main articles: Grid Manager, Cartesian Grid Editor, Polar Grid Editor

The value of the snap grid you need for the tutorial can be configured via the:

  • right-click » Snap Grid menu, or the
  • Snap Grid dialog (Ctrl+Shift+G), or the
  • Cartesian Grid Editor dialog (Ctrl+G).

To open the dialog, select Tools » Grid Manager to display the Grid Manager, then double-click on the Global Board Snap Grid to open the Cartesian Grid Editor, as shown below.

Set the Snap Grid to 1 mm, ready to position the components.
Set the Snap Grid to 1 mm, ready to position the components.

Setting Up the Design Rules

Main article: PCB Design Rules Reference

The PCB Editor is a rules-driven environment, meaning that as you perform actions that change the design, such as placing tracks, moving components, or autorouting the board, the software monitors each action and checks to see if the design still complies with the design rules. If it does not, then the error is immediately highlighted as a violation. Setting up the design rules before you start working on the board allows you to remain focused on the task of designing, confident in the knowledge that any design errors will immediately be flagged for your attention.

Design rules are configured in the PCB Rules and Constraints Editor dialog, as shown below (Design » Rules). The rules are divided into 10 categories, which can then be further divided into design rule types.

All PCB design requirements are configured as rules/constraints, in the PCB Rules and Constraints Editor.
All PCB design requirements are configured as rules/constraints, in the PCB Rules and Constraints Editor.

Routing Width Design Rules

Main article: Width

The width of the routing is controlled by the applicable routing width design rule, which the software automatically selects when you run the Interactive Routing command and click on a net. When you are configuring the rules, the basic approach is to set the lowest priority rule to target the largest number of nets, and then add higher-priority rules to target nets with special width requirements, such as power nets. There is no issue if a net is targetted by multiple rules, the software always looks for and only applies the highest priority rule.

For example, the tutorial design includes a number of signal nets, and two power nets. The default routing width rule can be configured at 0.25mm for the signal nets. This rule will target all nets in the design by setting the rule scope to All. Even though a scope of All also targets the Power nets, these can be specifically targetted by adding a second, higher-priority rule, with a scope of InNet('12V') or InNet('GND'). The image below shows the summary of these two rules, the detail is shown in the images in the following two collapsible sections.

Two Routing Width design rules have been defined, the lowest priority rule targets All nets, the higher priority rule targets objects in the 12V net or the GND net.
Two Routing Width design rules have been defined, the lowest priority rule targets All nets, the higher priority rule targets objects in the 12V net or the GND net.

Routing Width and Routing Via Style design rules include Min, Max and Preferred settings. Use these if you prefer to have some flexibility during routing, for example when you need to neck a route down, or use a smaller via in a tight area of the board. This can be done on-the-fly as you route, by pressing the Tab key to open a dialog and access width/via properties, or by pressing Shift+W to select an alternate routing width and Shift+V to select an alternate via size. Note that you always remain constrained by the design rules, if you enter a value larger or smaller than permitted by the applicable design rule it will be clipped to the nearest rule value.

Avoid using the Min and Max settings to define a single rule to suit all sizes required in the entire design, doing this means you forgo the ability to get the software to monitor that each design object is appropriately sized for its task.

When there are multiple rules of the same type, the PCB editor uses the rule Priority to ensure the highest prioity applicable rule is applied. When a new rule is added it is given the highest priority, and when a rule is duplicated the copy is given the priority below the source rule. Click the Priorities button down the bottom of the dialog to change priorities.

Defining the Electrical Clearance Constraint

Main article: Clearance Constraint

The next step is to define how close electrical objects that belong to different nets, can be to each other.

This requirement is handled by the Electrical Clearance Constraint, for the tutorial a clearance of 0.25mm between all objects is suitable.

Note that entering a value into the Minimum Clearance field will automatically apply that value to all of the fields in the grid region at the bottom of the dialog. You only need to edit in the grid region when you need to define a clearance based on the object-type.

The electrical clearance constraint is defined between objects. Switch the Constraints to Advanced to display all object kinds.The electrical clearance constraint is defined between objects. Switch the Constraints to Advanced to display all object kinds.

Note that the Electrical Clearance Constraint has two object selection fields, Where the First Object Matches and Where the Second Object Matches. That is because this is a binary rule - it is a rule that applies between 2 objects.

Defining the Routing Via Style

Main article: Routing Via Style

As you route and change layers a via is automatically added, in this situation the via properties are defined by the applicable Routing Via Style design rule. If you place a via from the Place menu, its values are defined by the in-built default primitive settings. For the tutorial, you will configure the Routing Via Style design rule.

A single routing via is suitable for all nets in this design.A single routing via is suitable for all nets in this design.

Existing Design Rule Violation

You might have noticed that the transistor pads are showing that there is a violation. Right-click over a violation and select the Violations in the right-click menu, as shown below. The details show that there is a:

  • Clearance Constraint violation
  • Between a Pad on the MultiLayer, and a Pad on the MultiLayer
  • Where the clearance is 0.22mm, which is less than the specified 0.25mm

Right-click on a violation to examine what rule is being violated, and the violation conditions. In this image the display is in single layer mode, with the multi-layer as the active layer.
Right-click on a violation to examine what rule is being violated, and the violation conditions. In this image the display is in single layer mode, with the multi-layer as the active layer.

This violation will be discussed and resolved shortly. If you find the violation markers distracting, you can clear them by running the Tools » Reset Error Markers command. This command only clears the marker, it does not hide or remove the actual error. The error will be flagged again the next time you perform an edit action that runs the online DRC (such as moving the component), or when you run the batch DRC.

Altium Designer's internal defaults for a new board are Imperial. That means when you switch to Metric, settings such as the Soldermask expansion will change from rounded values like 4mil, to 0.102mm, or the Minimum Solder Mask Sliver default will change from 10mil to 0.254mm. While that least significant digit, such as 0.002mm, is insignificant when it comes to output generation, you can edit these settings in the design rules if it bothers you. Select Design Rules at the top of the tree on the left of the PCB Rules and Constraints Editor, then you can scan down the Attributes column for all of the rules and quickly locate any that need their values adjusted.

Design rules can also be exported and stored in a .RUL file, and then imported into future PCB designs. To do this, right-click in the tree on the left of the PCB Rules and Constraint Editor to open the Choose Design Rules dialog. Select the rules you wish to export using the standard Windows selection techniques, then click OK to export the selected rules.

Positioning the Components on the PCB

There is a saying that PCB design is 90% placement and 10% routing. While you could argue about the percentage of each, it is generally accepted that good component placement is critical for good board design. Keep in mind that you may need to tune the placement as you route too.

Component Positioning and Placement options

When you click and hold on a component to move it, if the Snap to Center option is on, then the component will move to be held by its reference point. The reference point is the 0,0 coordinate of the component, when it was built in the library editor.

The Smart Component Snap option allows you to override this snap to center behavior and snap to the nearest component pad instead, handy when you need to position a specific pad in a specific location.

Enable Snap to Center to always hold the component by its reference point. Smart Component Snap is helpful when you need to align by a specific pad.
Enable Snap to Center to always hold the component by its reference point. Smart Component Snap is helpful when you need to align by a specific pad.

Positioning Components

You can now position the components in suitable locations on the board.

To move a component, either:

  • Click-and-Hold the left mouse button on the component, move it to the required location, rotate it with the Spacebar, then release the mouse button to place it; or
  • Run the Edit » Move » Component command, then single click to pick up a component, move it to the required location, rotate if required, then click once to place it. When you are finished, right-click to drop out of the Move Component command.
The connection lines are automatically re-optimized as you move a component - use them to help orient and position the components so that there is the least amount of connection line cross-overs.

Components positioned on the board.
Components positioned on the board.

Selected objects can also be moved using the keyboard rather than the mouse. To do this, hold Ctrl, then each time you press an Arrow key the selection will move 1 grid step in the direction of that arrow. Include the Shift key to move selected objects in 10x Snap Grid steps.

When you are moving a component with the mouse, you can constrain it to an axis by holding the Alt key. The component will attempt to hold the same horizontal axis (if moving horizontally) or vertical axis (if moving vertically) - move it further from the axis to override this behavior, or release the Alt key.

With everything positioned, it's time to do some routing!

Interactively Routing the Board

Main article: Interactive Routing

Routing is the process of laying tracks and vias on the board to connect the component pins. The PCB editor makes this job easy by providing sophisticated interactive routing tools, as well as the topological autorouter, which optimally routes the whole or part of a board at the click of a button. While autorouting provides an easy and powerful way to route a board, there will be situations where you will need exact control over the placement of tracks. In these situations you can manually route part or all of your board.

In this section of the tutorial, you will manually route the entire board single-sided, with all tracks on the top layer. The Interactive Routing tools help maximize routing efficiency and flexibility in an intuitive way, including cursor guidance for track placement, single-click routing of the connection, pushing obstacles, automatically following existing connections, all in accordance with applicable design rules.

Preparing for Interactive Routing

Main article: PCB Editor - Interactive Routing

Before starting to route, it is important to configure the Interactive Routing options found in the PCB Editor - Interactive Routing page of the Preferences dialog.

Configure the interactive routing options.Configure the interactive routing options.

Time to set the Snap Grid to a value that is suitable for routing. Press Ctrl+Shift+G to open the Snap Grid dialog and set the Snap Grid to 0.25mm.

Time to Route

  • Interactive routing is launched by clicking the Route button A simple animation showing the board being routed. Note that many of the connections are finished using the Ctrl+Click to autocomplete feature., or selecting the routing command, Route » Interactive Routing (shortcut: U, T or P, T)).
  • Since the components are mostly surface mount and the design is simple, the board can be routed on the top layer. As you place tracks on the top layer of the board, you use the ratsnest (connection lines) to guide you.
  • Tracks on a PCB are made from a series of straight segments. Each time there is a change of direction, a new track segment begins. Also, by default the PCB editor constrains tracks to a vertical, horizontal or 45° orientation, allowing you to easily produce professional results. This behavior can be customized to suit your needs, but for this tutorial you can use the defaults.
  • After reaching the target pad, right-click or press Esc to release that connection - you will remain in Interactive Routing mode, ready to click on the next connection line.

A simple animation showing the board being routed. Note that many of the connections are finished using the Ctrl+Click to autocomplete feature.

Routing Tips

Keep in mind the following points as you are routing:

Keystroke Behavior
~ (tilda)  or  Shift+F1 Pop up a menu  of interactive shortcuts - most settings can be changed on the fly by pressing the appropriate shortcut, or selecting from the menu.
*  or  Ctrl+Shift+WheelRoll Switch to the next available signal layer. A via is automatically added, in accordance with the applicable Routing Via Style design rule.
Shift+R Cycle through the enabled conflict resolution modes. Enable the required modes in the Interactive Routing preferences page.
Shift+S Toggle single layer mode on and off - ideal when there are many objects on multiple layers.
Spacebar Toggle the current corner direction.
Shift+Spacebar Cycle through the various track corner modes. The styles are: any angle, 45°, 45° with arc, 90° and 90° with arc. There is an option to limit this to 45° and 90° in the Interactive Routing preferences page.
Ctrl+Left-Click Auto-complete the connection being routed. Auto-complete will not succeed if there are unresolvable conflicts with obstacles.
Ctrl Temporarily suspend the Hotspot Snap, or press Shift + E to cycle through the 3 available modes (off / on for current layer / on for all layers).
End Redraw the screen.
PgUp / PgDn Zoom in / out, centered around the current cursor position. Alternatively, use the standard Windows mouse wheel zoom and pan shortcuts.
Backspace Remove the last-committed track segment.
Right-click  or  ESC Drop the current connection, remaining in Interactive Routing mode.

Keep an eye on the Status bar, it displays important information during interactive routing, including:

  • Current workspace location and Snap Grid setting
  • Hotspot Snap: off / on for current layer / on for all layers
  • Current track corner mode
  • Current Interactive Routing Mode
  • Source of routing Width 
  • Source of routing Via Style
  • Current Gloss strength
  • Name of Net
  • Overall route length
  • Dimensions of routing segment being placed

Interactive Routing Modes

The PCB editor's Interactive Routing engine supports a number of different modes, with each mode helping the designer deal with particular situations. Press the Shift+R shortcut to cycle through these modes as you interactively route, note that the current mode is displayed on the Status bar.

The available interactive routing modes include:

  • Ignore Obstacles - This mode lets you place tracks anywhere, including over existing objects, displaying but allowing potential violations.
  • Push Obstacles - This mode will attempt to move objects (tracks and vias), which are capable of being repositioned without violation, to accommodate the new routing.
  • Walkaround Obstacles - This mode will attempt to find a routing path around existing obstacles without attempting to move them.
  • Stop at first Obstacle - In this mode the routing is essentially manual, as soon as an obstacle is encountered the track segment will be clipped to avoid a violation.
  • Hug & Push Obstacles - This mode is a combination of Walkaround and Push. It will hug as it performs a Walkaround of obstacles, however, will also attempt to Push against fixed obstacles when there is insufficient clearance to continue using Walkaround.
  • Autoroute on Current Layer - this mode brings basic autorouting functionality to interactive routing, it can automatically select between walkaround and push, based on heuristics that consider push distance, versus walk distance and route length. Like an autorouter, this mode can deliver better results on a complex, busy board, than on a simple, unrouted board.
  • Autoroute on Multiple Layers - this mode also brings basic autorouting functionality to interactive routing, it can also automatically select between walkaround and push, based on heuristics that consider push distance, versus walk distance and route length. This mode can also place a via and consider using other routing layers. Like an autorouter, this mode can deliver better results on a complex, busy board, than on a simple, unrouted board.

Modifying and Rerouting

To modify an existing route, there are two approaches, either: reroute, or re-arrange.

Reroute an existing Route

  • There is no need to un-route a connection to redefine its path, simply click the Route button and start routing the new path.
  • The Loop Removal feature will automatically remove any redundant track segments (and vias) as soon as you close the loop and right-click to indicate you are complete (the Loop Removal feature was enabled earlier in the tutorial).
  • You can start and end the new route path at any point, swapping layers as required.
  • You can also create temporary violations by switching to Ignore Obstacle mode (as shown in the animation below), which you later resolve.

 A simple animation showing the Loop Removal feature being used to modify existing routing. A simple animation showing the Loop Removal feature being used to modify existing routing.

Loop Removal is enabled in the PCB Editor - Interactive Routing page of the Preferences dialog. Note that there are situations where you may want to create loops, for example power net routing. If necessary, Loop Removal can be disabled for an individual net by editing that net in the PCB panel. To access the option set the panel to Nets mode, then double click on the net name in the panel to open the Edit Net dialog.

Re-arrange Existing Routes

  • To interactively slide or drag track segments across the board, simply click, hold and drag, as shown in the animation below. The default dragging behavior is configured in the PCB - Interactive Routing page of the Preferences dialog, as shown in the animation below.
  • The PCB editor will automatically maintain the 45/90 degree angles with connected segments, shortening and lengthening them as required.

 An animation showing track dragging being used to tidy up existing routing. An animation showing track dragging being used to tidy up existing routing.

Track Dragging Tips

  • Change the default select-then-drag mode using the Unselected via/track and Selected via/track options in the PCB Editor - Interactive Routing page of the Preferences dialog.
  • During dragging the routing conflict resolution modes also apply (Ignore, Push, HugNPush), press Shift+R to cycle through the modes as you drag a track segment.
  • Existing pads and vias will be jumped, or vias will be pushed if necessary and possible, if Push mode is enabled.   
  • To convert a 90 degree corner to a 45 degree route, start dragging on the corner vertex.
  • While dragging you can move the cursor and hotspot snap it to an existing, non-moving object such as a pad (shown above) - use this to help align the new segment location with an existing object and avoid very small segments being added.
  • To break a single segment, select the segment first, then position the cursor over the center vertex to add in new segments.

An example of dragging multiple tracks, by setting the routing conflict mode to Push.
An example of dragging multiple tracks, by setting the routing conflict mode to Push.

Automatically Routing the Board

Before you begin exploring the autorouter, save your board so you can return to the interactively routed version if you want.

Configuring the Autorouter

Main articles: Situs Routing Strategies, Situs Strategy Editor

Altium Designer also includes a topological autorouter. A topological autorouter uses a different method of mapping the routing space - one that is not geometrically constrained. Rather than using workspace coordinate information as a frame of reference (dividing it into a grid), a topological autorouter builds a map using only the relative positions of the obstacles in the space, without reference to their coordinates.

Topological mapping is a spatial-analysis technique that triangulates the space between adjacent obstacles. This triangulated map is then used by the routing algorithms to "weave" between the obstacle pairs, from the start route point to the end route point. The greatest strengths of this approach are that the map is shape independent (the obstacles and routing paths can be any shape) and the space can be traversed at any angle - the routing algorithms are not restricted to purely vertical or horizontal paths, as with a rectilinear expansion routers.

Translating this into a user interface, the router has a number of different routing passes available; such as Fan Out to Plane, Main, Memory, Spread, Recorner, and so on. These are bundled together to create a Routing Strategy, which the designer can then run on their board. There are a number of pre-defined strategies already available in the Routing Strategies dialog, and new ones are easily created using the Strategy Editor.

Select an existing routing strategy, or create a new one in the Strategy Editor. Note that the default strategies cannot be edited, duplicate one to explore the strategies.
Select an existing routing strategy, or create a new one in the Strategy Editor. Note that the default strategies cannot be edited, duplicate one to explore the strategies.

Running the Autorouter

  • The autorouter is configured and run from the Route » Auto Route submenu. Selecting All from the menu opens the Routing Strategies dialog, which is used to configure the strategies, select the required strategy, and run the autorouter.
  • The autorouter will route on the layers allowed by the Routing Layers design rule, in the directions specified in the autorouter Layer Directions dialog (where possible).

The images below show the autorouting results using: the Default 2 Layer Board Strategy on the left; a user-defined strategy in the middle (the chosen routing passes are shown in the dialog image above); and that same strategy restricted to top layer only (by clicking the Edit Layer Directions button in the Situs Routing Strategies dialog, to disable the use of the bottom layer), on the right.

Autorouting results for the default 2 layer strategy (left image), a user-defined strategy (center image), and the same user-defined strategy limited to the top layer only.
Autorouting results for the default 2 layer strategy (left image), a user-defined strategy (center image), and the same user-defined strategy limited to the top layer only.

Don't worry if the routing in your design is not exactly the same as shown in the figure above - because the component placement is not exactly the same, the routing will not be either.

Verifying Your Board Design

Main article: PCB Design Rules Reference

The PCB editor is a rules-driven board design environment, in which you can define many types of design rules that can be checked to ensure the integrity of your board. Typically you set up the design rules at the start of the design process. The on-line DRC feature will monitor the enabled rules as you work and immediately highlight any detected design violations. Alternatively, you can also run a batch DRC to test that the design complies with the rules, generating a report that details the enabled rules and any detected violations.

Earlier in the tutorial you examined the routing design rules, adding a new width constraint rule targeting the power nets, as well as an electrical clearance constraint and a routing via style rule. As well as these, there are a number of other design rules that are automatically defined when a new board is created.

Configuring the Display of Rule Violations

Main article: PCB Editor - DRC Violations Display

Before checking for rule violations, it is important to understand how violations are displayed.

Altium Designer has two techniques for displaying design rule violations, each with their own advantages. These are configured in the PCB Editor - DRC Violations Display page of the Preferences dialog:

  • Violation Overlay - Violations are identifed by the primitive-in-error being highlighted in the color chosen for the DRC Error Markers (configured in the View Configurations dialog, press L to open). The default behavior is to show the primitives in a solid color when zoomed out, changing to the selected Violation Overlay Style as you zoom it. The default is Style B, a circle with a cross in it.
  • Violation Details - As you zoom further in Violation Detail is added (if enabled), detailing the nature of the error. Use the Show Violation Detail slider to define at what zoom level the Violation Details start to display. Enable the required Display options in the Preferences dialog.

Violations can be displayed as a colored overlay and also as a detailed message, with different symbols being used to show different detail of the error type.
Violations can be displayed as a colored overlay and also as a detailed message, with different symbols being used to show different detail of the error type.

Violations are shown in solid green (left image), as you zoom in this changes to the selected Violation Overlay Style (center image), as you zoom in further Violation Details are added.
Violations are shown in solid green (left image), as you zoom in this changes to the selected Violation Overlay Style (center image), as you zoom in further Violation Details are added.

When you create a new board, it will include default design rules that might not be needed for your design. For example, Assembly and Fabrication Testpoint type design rules are included when you create a new board, which are not needed in this design. Before proceeding to check the board for violations, open the PCB Rules and Constraints Editor, drill down to the Testpoint category and disable the 4 Testpoint type rules.

The rules that are needed will depend on the nature of your design, there is no specific set of rules that suits every design. Keep this in mind as you are checking rule violations, ask yourself do I need this rule to be enabled? If you're attempting to work out the function of a rule in the PCB Rules and Constraints Editor and are unsure, click anywhere in the constraints area of the rule and press F1 for more information about that specific rule.

Configuring the Rule Checker

Main article: Design Rule Checker

The design is checked for violations by running the Design Rule Checker. Run the Tools » Design Rule Check command to open the dialog. Both online and batch DRC are configured in this dialog.

DRC Report Options

  • By default, the dialog opens showing the Report Options page selected in the tree on the left of the dialog (shown below).
  • The right side of the dialog displays a list of general reporting options, for more information about the options press F1 when the cursor is over the dialog. These options can be left at their defaults.

Rule checking, both online and batch, is configured in the Design Rule Checker dialog.Rule checking, both online and batch, is configured in the Design Rule Checker dialog.

DRC Rules to Check

  • The testing of specific rules is configured in the Rules to Check section of the dialog, select this page in the tree on the left of the dialog to list all of the rule types (shown below). You can also examine them by type, for example Electrical, by selecting that page on the left of the dialog.
  • For most rule types there are checkboxes for Online (check as you work) and Batch (check this rule when the Run Design Rule Check button is clicked).
  • Click to enable/disable the rules as required. Alternatively, right-click to display the context menu. This menu allows you to quickly toggle the Online and Batch settings, select the Batch DRC - Used On entry, as shown in the image below.

Checking is configured for each rule type, use the right-click menu to enable the Used design rules.Checking is configured for each rule type, use the right-click menu to enable the Used design rules.

Running a Design Rule Check (DRC)

Click the Run Design Rule Check button at the bottom of the dialog to perform a design rule check. When the button is clicked the DRC will run, then:

  • The Messages panel will appear, listing all detected errors.
  • If the Create Report File option was enabled in the Report Options page of the dialog, a Design Rule Verification Report will open in a separate document tab, the report for the tutorial is shown below.
    • The upper upper section of the report details the rules that are enabled for checking and the number of detected violations, click on a rule to jump down the report and examine those errors.
    • Below the summary of violating rules are specific details about each violation.
    • The links in the report are live, click on a specific error to jump back to the board and examine that error on the board. Note that the zoom level for this click action is configured in the System - Navigation page of the Preferences dialog, experiment to find a zoom level that suits you.

The upper section in the report details the rules that are enabled for checking and the number of detected violations, click on a rule to jump down the report and examine those errors.The upper section in the report details the rules that are enabled for checking and the number of detected violations, click on a rule to jump down the report and examine those errors.

The lower section of the report shows each rule that is being violated, followed by a list of the objects in error. Click on an error to jump to that object on the PCB.
The lower section of the report shows each rule that is being violated, followed by a list of the objects in error. Click on an error to jump to that object on the PCB.

Locating the Error Condition

When you are new to the software, a long list of violations can initially seem overwhelming. A good approach to managing this is to disable and enable rules in the Design Rule Check dialog, at different stages of the design process. It is not advisable to disable the design rules themselves if there are violations, just the checking of them. For example, you would always disable the Un-Routed Net check until the board is fully routed.

  • When a batch DRC is run on the tutorial board, there are:
    • 2 Silk to Silk clearance errors - the distance between two adjacent sections of silkscreen is less than allowed by this rule.
    • 8 Silk to Solder Mask clearance errors - the distance from the opening in the solder mask to the edge of a silkscreen object is less than allowed by this rule.
    • 4 Minimum Solder Mask Sliver errors  - the minimum width of a strip of solder mask is less than allowed by this rule. This typically occurs between component pads.
    • 4 clearance constraint violations - the measured electrical clearance value between objects on signal layers is less than the minimum amount specified by this rule.
  • To locate a violation:
    • click the link in the report file, or
    • double click in the Messages panel,
    • click on a violation in the PCB Rules and Violations panel.
  • Using the Violation Details, you can establish the error condition.
  • The image below shows the Violation Details for one of the clearance constraint errors, indicated by the white arrows and the 0.25mm text, indicating that this gap is less than the minimum 0.25mm allowed by the rule. The next step is to work out what the actual value is so you know how much it has failed by, and can then decide how to resolve this error.

The Violation Details show that the clearance between these 2 pads is less that 0.25mm, it does not detail the actual clearance though.
The Violation Details show that the clearance between these 2 pads is less that 0.25mm, it does not detail the actual clearance though.

Understanding the Error Condition

So you've found an error, how do you know how much it has failed by? As the designer you need this essential information, to be able to decide how best to resolve the error.

For example, if the rule says the allowable minimum solder mask sliver is 0.25 mm and the actual sliver is 0.24, then the situation is not that bad and you may be able to adjust the rule setting to accept this value. But if the actual sliver value is 0.02, then that is probably not a situation that can be resolved by adjusting the rule setting.

The PC editor includes three handy measurement tools, Measure Distance, Selected Primitives and Between Primitives, available in the Reports menu.

  • Measure Distance - measure the distance between the 2 locations you click after running the command, keep an eye on the Status bar for instructions. The location that you can click is constrained by the current snap grid.
  • Selected Primitives - measure the length of selected tracks and arcs. Use this to work out route lengths, select the required objects manually, or use the Select » Physical Connection or Select » Connected Copper commands.
  • Between Primitives - measure the edge-to-edge distance between the 2 primitives you click on after running the command, keep an eye on the Status bar for instructions.

Measuring the distance between the edges of adjacent pads, using the Measure Primitives command.Measuring the distance between the edges of adjacent pads, using the Measure Primitives command.

Apart from actually measuring the distance, there are a number of approaches to finding out how much a rule has failed by. You can use:

  • the right-click Violations submenu, or
  • the PCB Rules and Violations panel, or
  • the detail included in the Messages panel - the actual value is detailed along with the specified value (for example, 0.175 < 0.254).

The Violations Submenu

The right-click Violations submenu was described earlier in the Existing Design Rule Violation section.

  • The image below shows how the Violations submenu details the measured condition against the value specified by the rule.

Right-click on a violation to examine what rule is being violated, and the violation conditions.
Right-click on a violation to examine what rule is being violated, and the violation conditions.

The PCB Rules and Violations Panel

Main article: PCB Rules and Violations Panel

The PCB Rules and Violations panel is an excellent feature for locating and understanding error conditions.

  • Click the  button and select Rules and Violations from the menu to display the panel. It will default to show [All Rules] in the Rule Classes list. Once you have identified a rule type of interest, select that specific rule class so that only those violations are shown at the bottom of the panel.
  • Click once on a violation in the list to jump to that violation on the board, double-click on a violation to open the Violation Details dialog.

The panel details the violation type, the measured value, the rule setting and the objects that are in violation.The panel details the violation type, the measured value, the rule setting and the objects that are in violation.

Note that at the top of the PCB Rules and Violations panel there is a drop-down, which can be used to select Normal, Dim or Mask. Dim and Mask are display filter modes, where everything other than the object(s) of interest are faded, leaving only the chosen object(s) at normal display strength. The Dim mode applies the filter but still allows all workspace objects to be edited, the Mask mode filters out all other workspace objects, only allowing the unfiltered object(s) to be edited.

The amount that the display is faded is controlled by the Dim and Mask slider controls, click the Mask Level button down the bottom right to display the sliders. Experiment with these when you have the Mask mode or Dim mode applied. 

To clear the filter you can either click the Clear button (next to the Mask Level button), or press the Shift+C shortcut. This filtering feature is very effective in a busy workspace, and can also be used in the PCB panel and the PCB Filter panel.

Resolving the Violations

As the designer you have to work out the most appropriate way of resolving each design rule violation. Let's start with the solder mask errors as they are related, and both error conditions may be affected by the changes you make to solder mask settings.

Solder Mask Errors

Main articles: Minimum Solder Mask Sliver, Silk to Solder Mask Clearance

The solder mask is a thin, lacquer-like layer applied to the outer surface of the board, providing a protective and insulating covering for the copper. Opening are created in the mask for components and wires to be soldered to the copper, it is these openings that are displayed as objects on the solder mask layer in the PCB editor (note that the solder mask layer is defined in the negative - the objects you see become holes in the actual solder mask).

During fabrication, solder mask is applied using different techniques, the lowest cost approach is to silkscreen it onto the board surface through a mask. To allow for layer alignment issues, the mask openings are typically larger than the pads, reflected by the 4mil (0.1mm) expansion value used in the default design rule.

There are other techniques for applying solder mask which offer higher-quality layer registration and more accurate shape definition, if these techniques are used the solder mask expansion can be smaller or even zero. Reducing the mask opening reduces the chance of having solder mask slivers or silk to solder mask clearance errors.

 A solder mask sliver error shown on the left and a silk to solder mask clearance error on the right, the purple represents the solder mask expansion around each pad.  
A solder mask sliver error shown on the left and a silk to solder mask clearance error on the right, the purple represents the solder mask expansion around each pad.

Errors such as these solder mask issues cannot be resolved without consideration of the fabrication technique that will be used to make the finished board.

For example, if this was a complex, multi-layer board for a high-value product, then it is likely that a high quality solder mask technology would be employed, which would allow a small or zero solder mask expansion. However, for a simple double-sided board like the tutorial it is more likely it will be targetting a low-cost product, requiring a low-cost solder mask technology to be used. That means resolving the solder mask sliver errors by reducing the solder mask expansion for the entire board is not a realistic solution.

Like many aspects of PCB design, the solution lies in making thoughtful trade-offs in a focused way, to minimize their impact.

Clearance Violations

Main article: Clearance Constraint

There are two ways of resolving this clearance constraint:

  • Decrease the size of the transistor footprint pads to increase the clearance between the pads, or
  • Configure the rules to allow a smaller clearance between the transistor footprint pads.

Since the 0.25mm clearance is quite generous and the actual clearance is quite close to this value (0.22mm), a good choice in this situation would be to configure the rules to allow a smaller clearance. This can be done in the existing Clearance Constraint design rule, as shown below.

  • The TH Pad - to - TH Pad value is changed to 0.22mm in the grid region of the rule constraint. To edit a cell first select it, then press F2.
  • This solution is acceptable in this situation because the only other component with thruhole pads is the connector, which has pads spaced over 1mm apart. If this was not the case, the best solution would be to add a second clearance constaint targetting just the transistor pads, as was done for the solder mask expansion rules.

Edit the Clearance Constraint to allow a TH Pad to TH Pad clearance of 0.22mm.Edit the Clearance Constraint to allow a TH Pad to TH Pad clearance of 0.22mm.

Silk to Silk Clearance Violation

Main article: Silk to Silk Clearance

The last error to resolve is the silk to silk clearance violations. These are usually caused by a designator being too close to the outline of an adjacent component. You design may not have any of these violations - it depends on how close you placed the components, or if you have already repositioned the designators. Click and hold on a designator to move it - all objects will dim apart from the objects in the component whose designator is being moved - move that designator to a new location.

Designator movement will be constrained by the current snap grid, if it is currently too coarse press Ctrl+G and enter a new grid value.

Reposition any designator that is causing a silk to silk violation.
Reposition any designator that is causing a silk to silk violation.

Always confirm that you have a clean Design Rule Verification Report before generating outputs.

Well done! You have completed the PCB layout and are ready to produce output documentation. Before doing that, let's explore the PCB editor's 3D capabilities.

Viewing Your Board in 3D

The PCB editor requires a graphics card that supports DirectX 9.0c and Shader Model 3 (or better).

A powerful feature of Altium Designer is the ability to view your board as a 3 dimensional object. To switch to 3D, run the View » 3D Layout Mode command , or press the 3 shortcut. The board will display as a 3 dimensional object - the tutorial board is shown below.

You can fluidly zoom the view, rotate it and even travel inside the board using the following controls:

  • Zooming - Ctrl + Right-drag mouse, or Ctrl + Roll mouse-wheel, or the PgUp / PgDn keys.
  • Panning - Right-drag mouse, or the standard Windows mouse-wheel controls.
  • Rotation - Shift + Right-drag mouse. Note how when you press Shift a directional sphere appears at the current cursor position, as shown in the image below. Rotational movement of the model is made about the center of the sphere (position the cursor before pressing Shift to position the sphere) using the following controls. Move the mouse around to highlight and select each one:
    • Right-drag sphere when the Center Dot is highlighted - rotate in any direction.
    • Right-drag sphere when the Horizontal Arrow is highlighted - rotate the view about the Y-axis.
    • Right-drag sphere when the Vertical Arrow is highlighted - rotate the view about the X-axis.
    • Right-drag sphere when the Circle Segment is highlighted - rotate the view about the Z-plane.

Hold Shift to display the 3D view directional sphere, then click and drag the right-mouse button to rotate.
Hold Shift to display the 3D view directional sphere, then click and drag the right-mouse button to rotate.

Tips for Working in 3D

  • Press L to open the View Configurations dialog when the board is in 3D Layout Mode, where you can configure the 3D workspace display options. There are options to choose various surface and workspace colors, as well as vertical scaling, which is handy for examining the PCB internally. Some surfaces have an opacity setting - the greater the opacity, the less 'light' passes through the surface, which makes objects behind less visible. You can also choose to show 3D bodies or render 3D objects in their (2D) layer color.
  • To display the components in 3D, each component needs to have a suitable 3D model.
  • You can import a 3D STEP-format model into the component footprint in the Library editor - place a 3D Body Object then select the Generic STEP Model type to embed a STEP model inside that 3D Body Object.
  • Check out 3D Content Central for STEP-format component models. 
  • If there is no suitable STEP model available, create your own component shape by placing multiple 3D Body Objects in the footprint in the Library editor.

If you plan on using the 3D mode regularly then you might like to check out a 3D mouse, such as the Space Navigator from 3Dconnexion, which greatly simplifies the process of moving and rotating the board in 3D layout mode.

Output Documentation

Now that you've completed the design and layout of the PCB, you're ready to produce the output documentation needed to get the board reviewed, fabricated and assembled.

The ultimate objective is to fabricate and assemble the board. The ultimate objective is to fabricate and assemble the board.

Output types include PDF 3D, with full zoom, pan and rotate, and the ability to control the display of nets, components and the silkscreen, in Adobe Acrobat Reader®.
Output types include PDF 3D, with full zoom, pan and rotate, and the ability to control the display of nets, components and the silkscreen, in Adobe Acrobat Reader®.

Available Output Types

Because a variety of technologies and methods exist in PCB manufacture, the software has the ability to produce numerous output types for different purposes:

Assembly Outputs

  • Assembly Drawings - component positions and orientations for each side of the board.
  • Pick and Place Files - used by robotic component placement machinery to place components onto the board. Note that the Report Output can also be used to generate Pick and Place files, and is highly configurable.

Documentation Outputs

  • PCB Prints - configure any number or printouts (pages), with any arrangement of layers and display of primitives, use this to create printed outputs such as assembly drawings.
  • PCB 3D Prints - views of the board from a three-dimensional view perspective.
  • PCB 3D Video - output a simple video of the board, based on a sequence  of 3D key-frames defined in the PCB editor's PCB 3D Movie Editor panel.
  • PDF 3D - generate a 3D PDF view of the board, with full support to zoom, pan and rotate in Adobe Acrobat®. The PDF includes a model tree, giving control over the display of nets, components and the silkscreen. 
  • Schematic Prints - schematic drawings used in the design.

Fabrication Outputs

  • Composite Drill Drawings - drill positions and sizes (using symbols) for the board in one drawing.
  • Drill Drawing/Guides - drill positions and sizes (using symbols) for the board in separate drawings.
  • Final Artwork Prints - combines various fabrication outputs together as a single printable output.
  • Gerber Files - creates manufacturing information in Gerber format.
  • Gerber X2 Files - a new standard that encapsulates a high-level of design information, with backward compatibility to the original Gerber format.
  • IPC-2581 File - a new standard that encapsulates a high-level of design information within a single file.
  • NC Drill Files - creates manufacturing information for use by numerically controlled drilling machines.
  • ODB++ - creates manufacturing information in ODB++ database format.
  • Power-Plane Prints - creates internal and split plane drawings.
  • Solder/Paste Mask Prints - creates solder mask and paste mask drawings.
  • Test Point Report - creates test point output for the design in a variety of formats.

Netlist Outputs

  • Netlists describe the logical connectivity between components in the design and is useful for transporting to other electronics design applications. A large variety of netlist formats are supported.

Report Outputs

  • Bill of Materials - creates a list of parts and quantities (BOM), in various formats, required to manufacture the board.
  • Component Cross Reference Report - creates a list of components, based on the schematic drawing in the design.
  • Report Project Hierarchy - creates a list of source documents used in the project.
  • Report Single Pin Nets- creates a report listing any nets that only have one connection.
  • Simple BOM - creates text and CSV (comma separated variables) files of the BOM.
  • Electrical Rules Check - formatted report of the results of running an Electrical Rules Check.

Individual Outputs or an Output Job File

Main article: Preparing Multiple Outputs in an OutputJob

Altium Designer has 2 separate mechanisms for configuring and generating output:

  1. Individually - the settings for each output type are stored in the Project file. You selectively generate that output when required, via the commands in the Fabrication Outputs, Assembly Outputs and Export submenus (accessed from the File menu), and the Reports menu.
  2. Via an Output Job file - the settings for each output type are stored in an Output Job file, a dedicated output settings document, which supports all possible output types. These outputs can then be generated manually, or as a managed release.

An Output Job file allows you to configure each output type, configure their output naming, format and output location. Output Job files can also be copied from one project to another.
An Output Job file allows you to configure each output type, configure their output naming, format and output location. Output Job files can also be copied from one project to another.

Although the setup dialogs for individual outputs are the same as those used in an Output Job, the settings are independent and must be configured again if you switch from one approach to the other.

Configuring the Gerber Files

Main article: Gerber Setup

  • Gerber continues to be the most common form of data transfer between board design and board fabrication, with ODB++ becoming more and more popular.
  • Each Gerber file corresponds to one layer of the physical board - the component overlay, top signal layer, bottom signal layer, top solder mask layer, and so on. It is advisable to consult with your board fabricator to confirm their requirements before supplying the output files required to fabricate your design.
  • If the board has any holes then an NC Drill file must also be generated, using the same units, resolution, and position on film settings.
  • Gerber files are configured in the Gerber Setup dialog, accessed via the PCB Editor's File » Fabrication Outputs » Gerber Files, or by adding a Gerber output into the Fabrication Outputs section of an Output Job, and then double-clicking on it.

Configure the Gerber outputs in the Gerber Setup dialog.Configure the Gerber outputs in the Gerber Setup dialog.

Configuring the Bill of Materials

Main article: Report Manager

Altium Designer includes a highly configurable BoM generation feature which can generate output in a variety of formats, including: text, CSV, PDF, HTML and Excel. Excel-format BoM's can also have a template applied using one of the pre-defined templates, or one of your own.

  • BoM output is configured in the Bill of Materials For Project dialog, accessed via the PCB editor's Reports » Bill of Materials, or by adding a Bill of Materials into the Report Outputs section of an Output Job.
  • Down the left of the dialog there is a list of every component attribute, for all components in the design. Enable the checkbox for each attribute you would like to include in the BoM, clear the checkbox for an attribute you wish to remove.
  • The default settings for the BoM is to cluster by like components. Clustering is achieved by adding component attributes to the Grouped Columns region of the dialog. Click and drag these attributes out of the Grouped Columns and drop them back in the All Columns region if you prefer every component to be on its own row in the BoM.
  • The main grid region of the dialog is the content that is written into the BoM. In this region you can: click and drag to reorder the columns; click on a column heading to sort by that column; ctrl+click to sub-sort by that column; define value-based filters for a column using the small dropdown in each column header; right-click to Force the columns to fit the current dialog width.
  • The BoM generator sources its information from the schematic, enable the Include Parameters from PCB option to access PCB information, such as location and side of board (note that this feature can also be used to configure and generate a configurable pick and place file, if required).

The default configuration for a new BoM is to group like components together.The default configuration for a new BoM is to group like components together.

This BoM has been reconfigured to present each component as a unique entry.This BoM has been reconfigured to present each component as a unique entry.

Mapping Design Data into the BoM

Design data can be passed from Altium Designer into an Excel Bill Of Materials, by including special statements in the Excel template used to create the BOM.

When creating the Bill of Materials template in Excel, a combination of Fields and Columns can be used to specify the desired layout. Several example templates are provided with Altium Designer, in the \Templates folder of the installation user-files. A list of available fields is detailed below:

 

Explore the sample Excel templates in the \Altium Designer\Templates folder. Note that Fields need to be defined above or below the Column region of the template.

 

Content
Content