Tutorial - Getting Started with PCB Design
- Creating a New PCB Project
- Creating a New Schematic Sheet
- Setting the Schematic Document Options
- Drawing the Schematic
- Locating the Component and Loading the Libraries
- Placing the Components on Your Schematic
- Wiring up the Circuit
- Wiring Tips
- Nets and Net Labels
- Setting Up Project Options
- Checking the Electrical Properties of Your Schematic
- Setting up the Error Reporting
- Setting Up the Connection Matrix
- Setting up Class Generation
- Setting Up the Comparator
- Compiling the Project to Check for Errors
- Creating a New PCB
- Transferring the Design
- Ready to Start the PCB Design Process
- Setting Up the PCB Workspace
- PCB Workspace Grids
- Component Positioning and Placement options
- Defining the Layer Stack and Other Non-electrical Layers
- Physical Layers and the Layer Stack Manager
- Configuring the Display of Layers
- Setting Up the Design Rules
- Detecting and Resolving Initial Rule Violations
- Defining a Suitable Clearance Rule for the Transistor
- Positioning the Components on the PCB
- Changing a Footprint
- Interactively Routing the Board
- Routing Tips
- Interactive Routing Modes
- Modifying and Rerouting
- Reroute an existing Route
- Re-arrange Existing Routes
- Track Sliding Tips
- Automatically Routing the Board
- Verifying Your Board Design
- Viewing Your Board in 3D
- Tips for Working in 3D
- Output Documentation
- Generating Gerber Files
- Creating a Bill of Materials
Welcome to the world of Altium Designer - a complete electronic product development environment. This tutorial will get you started by creating a simple PCB project based on an astable multivibrator design. If you are new to Altium Designer then it is worth reading the article The Altium Designer Environment, for an explanation of the interface, information on how to use panels, and managing design documents.
Creating a New PCB Project
A project in Altium Designer stores links to all documents and setups related to a design. The project file, for example MyProject.PrjPCB, is an ASCII text file that lists which documents are in the project and their related output setups, for example print settings and CAM configurations. Source schematic sheets and the target output, for example the PCB, FPGA, embedded (VHDL) or library package, are added to a project in Altium Designer, with each one being referenced by a link inside the project file. Once the source design is complete it can be compiled, design verification performed, and design synchronization and comparison can take place. In Altium Designer, documents that are not associated with a project are called free documents.
The process of creating a new project is the same for all project types. We will use the PCB project as an example. We will create the project file first and then create the blank schematic sheet to add the new empty project. Later in this tutorial we will create a blank PCB and add it to the project as well.
To start the tutorial, create a new PCB project:
- Select File » New » Project » PCB Project from the menus, or click on Blank Project (PCB) in the New section of the Files panel. If this panel is not displayed, select Files from the System button at the bottom right of the main design window.
- The Projects panel will open, displaying the new project file, PCB_Project1.PrjPCB, which will have no documents added.
- To rename and save the new project file, select File » Save Project As. Navigate to a location where you would like to store the project on your hard disk, type the name Multivibrator.PrjPCB in the File Name field and click Save.
Creating a New Schematic Sheet
Next we will add a new schematic sheet to the project. It is on this schematic we will capture the astable multivibrator circuit.
Create a new schematic sheet by completing the following steps:
- Right-click on the project file in the Projects panel and select Add New to Project » Schematic. A blank schematic sheet named
Sheet1.SchDocwill open in the design window and an icon for this schematic will appear linked to the project in the Projects panel, under the Source Documents folder icon.
- Save the new schematic (with a .SchDoc extension) by selecting File » Save As. Navigate to a location where you would like to store the schematic on your hard disk - a good place is in the same folder as the project file - type the name Multivibrator.SchDoc in the File Name field and click on Save. Note that files stored in the same folder as the project file itself (or in a child/grandchild folder) are linked to the project using relative referencing, whereas files stored in a different location are linked using absolute referencing.
- Since you have added a schematic to the project, the project file has changed too. Right-click on the project filename in the Projects panel, and select Save to 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. You can customize many aspects of the workspace. For example, you can reposition the panels and toolbars or customize the menu and toolbar commands.
Setting the Schematic Document Options
The first thing to do before you start drawing your circuit is to set up the appropriate document options. Complete the following steps.
- From the menus, choose Design » Document Options to open the Document Options dialog.
- For this tutorial, the only change we need to make here is to set the sheet size to A4, this is done in the Standard Styles field of the Sheet Options tab of the dialog.
- Click OK to close the dialog and update the sheet size.
- To make the document fill the viewing area, select View » Fit Document.
- Save the schematic sheet by selecting File » Save (shortcut: F, S).
Next we will set the general schematic preferences.
- Select Tools » Schematic Preferences (shortcut: T, P) to open the schematic area of the Preferences dialog. This dialog allows you to set global preferences that will apply to all schematic sheets you work on.
- Open the Schematic - Default Primitives page of the dialog and enable the Permanent option (on the right hand side of the dialog). Click OK to close the dialog.
Note that Altium Designer has multilevel Undo, allowing you to undo many previous actions. The Undo stack size is user-configurable and limited only by the available memory on your computer, configure it in the Schematic - Graphical Editing page of the Preferences dialog.
Drawing the Schematic
You are now ready to begin capturing (drawing) the schematic. For this tutorial, we will use the circuit shown in the figure above. This circuit uses two 2N3904 transistors configured as a self-running astable multivibrator.
Locating the Component and Loading the Libraries
To manage the thousands of schematic symbols included with Altium Designer, the Schematic Editor includes powerful library searching capabilities. Although the components we require are in the default installed libraries, it is useful to know how to search through all libraries to find components. Work through the following steps to locate and add the libraries you will need for the tutorial circuit.
First we will search for the transistors, both of which are type 2N3904.
- If it is not visible, display the Libraries panel. The easiest way to do that is to click the System button down the bottom right of Altium Designer, then select Libraries from the menu that appears. Refer to the Working with Panels article to learn more about configuring and controlling panels.
- Press the Search button in the Libraries panel (or select Tools » Find Component) to open the Libraries Search dialog.
- Ensure that the dialog options are set as follows:
- For the first Filter row, the Field is set to Name, the Operator set to contains, and the Value is
- The Scope is set to Search in Components, and Libraries on path.
- The Path is set to point to the installed Altium libraries, which will be something like C:\Users\Public\Documents\Altium\AD\Library.
- Click the Search button to begin the search. The Query Results are displayed in the Libraries panel as the search takes place.
- Click on the component name 2N3904 found in the Miscellaneous Devices.IntLib library to select it. This library has symbols for the available simulation-ready BJT transistors.
If you choose a component that is in a library that is not currently installed, you will be asked to Confirm the installation of that library before you can place a component from it. Since the Miscellaneous Devices library is already installed, the component is ready to place. Added libraries appear in the drop down list at the top of the Libraries panel, as you select a library in the list the components in that library are listed below. Use the component Filter in the panel to quickly locate a component within a library.
Placing the Components on Your Schematic
The first components we will place on the schematic are the two transistors, Q1 and Q2. Refer to the rough schematic sketch shown above for the general layout of the circuit.
- Select View » Fit Document (shortcut: V, D) to ensure your schematic sheet takes up the full window.
- Display the Libraries panel (by clicking on its tab on the right of the workspace, if it is pop-out mode).
- Select the Miscellaneous Devices.IntLib library from the Libraries drop-down list at the top of the Libraries panel to make it the active library.
- Use the filter to quickly locate the component you need. The default is for the filter to be set to the wildcard (*), listing all components found in the library. Type *3904 in the filter field - a list of components which have the text "3904" as part of their Component Name field will be displayed.
- Click on the 2N3904 entry in the list to select it, then click the Place button. Alternatively, just double-click on the component name. The cursor will change to a cross hair and you will have an outlined version of the transistor floating on your cursor. You are now in part placement mode. If you move the cursor around, the transistor outline will move with it. Do NOT place the transistor yet.
- Before placing the part on the schematic we will edit its properties (which can be done for any object floating on the cursor). While the transistor is still floating on the cursor, press the Tab key to open the Component Properties dialog. We will now set up the dialog options to appear as below.
- In the Properties section of the dialog, type in the Designator
- Confirm that the Footprint (specified in the Models region of the dialog) is set to TO-92A. Since this is an integrated library each component has a symbol and at least 1 footprint, as well as simulation models for some of the components.
- Leave all other fields at their default values, and click OK to close the dialog.
You are now ready to place the part. When you are in any editing or placement mode (a cross hair cursor is active), moving the cursor to the edge of the document window will automatically pan the document. If you accidentally pan too far while you are wiring up your circuit, press V, F (View » Fit All Objects) to redraw the schematic window, showing all placed objects. This can be done even when you are in the middle of placing an object.
- Move the cursor (with the transistor symbol attached) to position the transistor a little left of the middle of the sheet. Note the current snap grid, it is displayed on the left of the Status bar down the bottom of the application. It defaults to 10, press the G shortcut to cycle through the available grid settings during placement. It is strongly advised to keep the snap grid at 10 or 5, to keep the circuit neat and make it easy to attach wires to pins.
- Once you are happy with the transistor's position, click or press ENTER to place the transistor onto the schematic.
- Move the cursor and you will find that a copy of the transistor has been placed on the schematic sheet, but you are still in part placement mode with the part outline floating on the cursor. This feature of Altium Designer allows you to place multiple parts of the same type. So let's now place the second transistor. This transistor is the same as the previous one, so there is no need to edit its attributes before we place it. Altium Designer will automatically increment a component's designator when you place a series of parts. In this case, the next transistor we place will automatically be designated Q2.
- If you refer to the rough schematic diagram shown before, you will notice that Q2 is drawn as a mirror of Q1. To flip the orientation of the transistor that is floating on the cursor, press the X key. This flips the component horizontally (along the X axis).
- Move the cursor to position the part to the right of Q1. To position the component more accurately, press the Page Up key twice to zoom in two steps. You should now be able to see the grid lines.
- Once you have positioned the part, click or press ENTER to place Q2. Once again a copy of the transistor you are "holding" will be placed on the schematic, and the next transistor will be floating on the cursor ready to be placed.
- Since we have now placed all the transistors, we will exit part placement mode by clicking the Right Mouse Button or pressing the ESC key. The cursor will revert back to a standard arrow.
- In the Libraries panel, make sure the Miscellaneous Devices.IntLib library is active.
- Set the filter by typing
res1in the filter field below the Library name.
- Click on Res1 in the components list to select it, then click the Place button. You will now have a resistor symbol floating on the cursor.
- Press the TAB key to open the Component Properties dialog to edit the resistor's attributes. In the Properties section of the dialog, set the value for the first component designator by typing
R1in the Designator field.
- Make sure that footprint name AXIAL-0.3 is the current footprint in the Models list.
- The contents of Comment field of the schematic component maps to the Comment field of the PCB component, typically you would enter the value or the resistor here. Enter a value of
100kinto the Comment field for R1.
- Since you will not be simulating ensure that the Visible option for the Value parameter is disabled, and that the Comment field has the correct value (100K in this case).
- Press the SPACEBAR to rotate the resistor by 90° so it is in the correct orientation.
- Position the resistor above the base of Q1 (refer to the schematic diagram shown earlier) and click the Left Mouse Button or press ENTER to place the part. Don't worry about making the resistor connect to the transistor just yet. We will wire up all the parts later.
- Next place the other 100k resistor R2 above the base of Q2. The designator will automatically increment when you place the second resistor.
- The remaining two resistors, R3 and R4, have a value of 1k, so press the TAB key to open the Component Properties dialog, enter 1k into the Comment, and confirm that the Visible option for the Value parameter is disabled. Click OK to close the dialog.
- Position and place R3 and R4 as shown in the rough schematic diagram. Right-click or press ESC to exit part placement mode.
Now place the two capacitors.
- The capacitor part is also in the Miscellaneous Devices.IntLib library, which should already be selected in the Libraries panel.
capin the component's filter field in the Libraries panel.
- Click on CAP in the components list to select it, then click the Place button. You will now have a capacitor symbol floating on the cursor.
- Press the TAB key to edit the capacitor's attributes. In the Component Properties dialog set the Designator to
C1, the Comment to
20n, disable the Visible option for the Value parameter, and check the PCB footprint model RAD-0.3 is selected in the Models list. Click OK.
- Position and place the two capacitors in the same way that you placed the previous parts.
- Right-click or press ESC to exit placement mode.
The last component to be placed is the connector, located in Miscellaneous Connectors.IntLib.
- Select Miscellaneous Connectors.IntLib from the Libraries list in the Libraries panel. The connector we want is a two-pin socket, so type
*2into the Libraries panel filter field.
- Select Header 2 from the parts list and click the Place button. Press TAB to edit the attributes and set Designator to
Y1and check that the PCB footprint model is HDR1X2. No Value parameter is required as you would replace this component with a power source when simulating the circuit. Click OK to close the dialog.
- Before placing the connector, press X to flip it horizontally so that it is in the correct orientation. Click to place the connector on the schematic.
- Right-click or press ESC to exit part placement mode.
- Save your schematic by selecting File » Save from the menus (shortcut: F, S).
You have now placed all the components. Note that the components shown in the figure below 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.
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 rough schematic diagram and complete the following steps:
- To make sure you have a good view of the schematic sheet, use the PAGE UP key to zoom in or PAGE DOWN to zoom out. Alternatively, hold down the CTRL key and roll the mouse wheel to zoom in/out, or hold CTRL + Right Mouse button down and drag the mouse up/down to zoom in/out.
- Firstly wire the resistor R1 to the base of transistor Q1 in the following manner. Select Place » Wire (shortcut: P, W) from the menus or click on the Wire tool from the Wiring toolbar to enter the wire placement mode. The cursor will change to a crosshair.
- Position the cursor over the bottom end of R1. When you are in the right position, a red connection marker (large cross) will appear at the cursor location. This indicates that the cursor is over a valid electrical connection point on the component.
- Click the Left Mouse Button or press ENTER to anchor the first wire point. Move the cursor and you will see a wire extend from the cursor position back to the anchor point. The default corner mode is a right angle, the tip box below explains how to change the corner mode, for this circuit right angle is the best choice.
- Position the cursor over the base of Q1 until you see the cursor change to a red connection marker. Click or press ENTER to connect the wire to the base of Q1. The cursor will release from that wire.
- Note that the cursor remains a cross hair, indicating that you are ready to place another wire. To exit placement mode completely and go back to the arrow cursor, you would Right-Click or press ESC again - but don't do this just now.
- We will now wire C1 to Q1 and R1. Position the cursor over the left connection point of C1 and click or press ENTER to start a new wire. Move the cursor horizontally till it is directly over the wire connecting the base of Q1 to R1, and click or press ENTER to place the wire segment. Again the cursor will release from that wire, and you remain in wiring mode, ready to place another wire. Note how a junction automatically appears to connect the two wires.
- When you have finished placing all the wires, right-click or press ESC to exit placement mode. The cursor will revert to an arrow.
- If you wish to move any placed components and drag any connected wires with it, hold down the CTRL key while moving the component, or select Move » Drag.
- Left-click or press Enter to anchor the wire at the cursor position.
- Press Backspace to remove the last anchor point.
- Press Shift+Spacebar to cycle through all possible corner modes. We will use the right-angle mode for this design.
- Press Spacebar to toggle the direction of the corner.
- Right-click or press Esc to exit wire placement mode.
- To graphically edit the shape of a wire, Click once to select it first, then Click and hold on a segment or vertex to move it.
- Whenever a wire crosses the connection point of a component, or is terminated on another wire, Altium Designer will automatically create a junction.
- 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.
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 your preferred name. To place net labels on the two power nets:
- Select Place » Net Label (shortcut: P, N). A net label will appear floating on the cursor.
- To edit the net label before it is placed, press TAB key to open the Net Label dialog.
12Vin the Net field, then click OK to close the dialog.
- Place the net label so that the bottom left corner of the net label touches the upper most wire on the schematic (as shown in the wired schematic image above). The cursor will change to a red cross when the net label is correctly positioned to connect to the wire. If the cross is light grey, it means there will not be a valid connection made.
- After placing the first net label you will still be in net label placement mode, so press the TAB key again to edit the second net label before placing it.
GNDin the Net field and click OK to close the dialog.
- Place the net label so that the bottom left of the net label touches the lower most wire on the schematic (as shown in the wired schematic image above). Right-click or press ESC to exit net label placement mode.
- Select File » Save (shortcut: F, S) to save your circuit. Save the project as well.
Congratulations! You have just completed your first schematic capture using Altium Designer. Before we turn the schematic into a circuit board we need to configure the project options, and check the design for errors.
Setting Up Project Options
All project-specific settings are configured in the Options for Project dialog (Project » Project Options). The project options include the error checking parameters, a connectivity matrix, Class Generator, the Comparator setup, ECO generation, output paths and netlist options, Multi-Channel naming formats, Default Print setups, Search Paths, Project level Parameters, Device Sheet settings and Settings for Managed Output Jobs. Altium Designer uses these settings when you compile the project.
When the project is compiled, comprehensive design and electrical rules are applied to verify the design. 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.
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. Alternatively you can set up output options in an Output Job file (File » New » Output Job File). See Documentation Outputs for more information.
Checking the Electrical Properties of Your Schematic
Schematic diagrams in Altium Designer 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, Altium Designer 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.
- Select Project » Project Options to open the Options for Project dialog (shown in the figure above).
- Set up any project-related options in this dialog. We will now make some changes to the Error Reporting, Connection Matrix and Comparator tabs.
Setting up the Error Reporting
The Error Reporting tab in the Options for Project dialog is used to set up design drafting 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 we will use the default settings in this tab.
Setting Up the Connection Matrix
When the design is compiled a list of the pins in each net is built internally in Altium Designer's 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. To make changes to the Connection Matrix:
- To change one of the settings click the colored box, it will cycle through the 4 possible settings. Note that you can right-click on the dialog face to display a menu that lets you toggle all settings simultaneously, including an option to restore them all to their Default state.
- Our circuit contains only Passive Pins (on resistors, capacitors and the connector) and Input Pins (on the transistors). Let's check to see if the connection matrix will detect unconnected passive pins. Look down the row labels to find Passive Pin. Look across the column labels to find Unconnected. The square where these entries intersect indicates the error condition when a passive pin is found to be unconnected in the schematic. The default setting is green, indicating that no report will be generated.
- Click on this intersection box until it turns yellow, so that a warning will be generated for unconnected passive pins when we compile the project. We will purposely create an instance of this error to check it later in this tutorial.
Setting up Class Generation
When the design is transferred to the PCB, component classes, net classes, and placement rooms can be generated automatically. This is particularly useful for a well-structured hierarchical design, creating a component class and component placement room from each sheet, and a net class from each bus. This default behavior is not necessary for this simple design, to disable this:
- Click the Class Generation tab, and disable the Component Classes check box, as shown in the image above. Doing this automatically disables the Generate Rooms option as well.
Setting Up the 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 net classes or rooms, and do not want it removed. In this situation it is sufficient to confirm that the Ignore Rules Defined in PCB Only option is enabled. If you need more detailed control, then you can selectively control the comparator using the individual comparison settings.
We are now ready to compile the project and check for any errors.
Compiling the Project to Check for Errors
Compiling a project checks for drafting and electrical rules errors in the design documents and details all warnings and errors in the Messages panel, and gives detailed information in the Compiled Errors panel. We have already set up the rules in the Error Checking and Connection Matrix tabs of the Options for Project dialog, so we are ready to check the design.
- To compile the Multivibrator project, select Project » Compile PCB Project Multivibrator.PrjPcb.
- When the project is compiled, all warnings and errors will displayed in the Messages panel. The panel will only appear automatically if there are errors detected, to open it manually click the System button down the bottom right of the workspace, and select Messages from the menu.
Double-click on an entry in the panel to examine an error. The compiled documents will also be detailed in the Navigator panel, together with a flattened hierarchy, components and nets listed and a connection model that can be browsed.
- If your circuit is drawn correctly, the Messages panel should not contain any errors, just the message Compile successful, no errors found. If the there are errors, work through each one, checking your circuit and ensuring that all wiring and connections are correct.
We will now deliberately introduce an error into the circuit and recompile the project:
- Click on the Multivibrator.SchDoc tab at the top of the design window to make the schematic sheet the active document.
- Click in the middle of the wire that connects R1 to the base wire of Q1. Small, square editing handles will appear at each end of the wire and the selection color will display as a dotted line along the wire to indicate that it is selected. Press the DELETE key to delete the wire.
- Recompile the project (Project » Compile PCB Project Multivibrator.PrjPcb) to check for errors. The Messages panel will display warning messages indicating you have unconnected pins in your circuit.
- When you double-click on an error or warning in the Messages panel, the Compile Errors panel will also open and give more details about the violation. From this panel you can also click on an error and jump to the violating object in a schematic to check or correct the error.
Before we finish this section of the tutorial, let's fix the error in our schematic.
- Make the schematic sheet the active document.
- Select Edit » Undo from the menus (shortcut: CTRL + Z). The wire you deleted previously should now be restored.
- To check that the undo was successful, recompile the project (Project » Compile PCB Project Multivibrator.PrjPcb) to check that no errors are found. The Messages panel should show no errors.
- Select View » Fit All Objects (shortcut: V, F) from the menus to display the entire schematic.
- Save the schematic and the project file as well.
Now we have completed and checked our schematic, it is time to create the PCB.
Creating a New PCB
Main article: Preparing the Board for Design Transfer
Before you transfer the design from the Schematic Editor to the PCB Editor, you need to create the blank PCB with at least a board outline. The easiest way to create a new PCB design in Altium Designer is to use the PCB Board Wizard , which allows you to choose from industry-standard board outlines as well as create your own custom board sizes. At any stage you can use the Back button to check or modify previous pages in the wizard.
To create a new PCB using the PCB Wizard, complete the following steps:
- Display the Files panel. The default location for this panel is docked on the left side of Altium Designer. If the Files panel is not available, click the System button down the bottom right of the workspace and select Files from the menu that appears.
- Create a new PCB by clicking on PCB Board Wizard in the New from Template section at the bottom of the Files panel. If this option is not visible on your screen, close some of the upper sections of the Files panel by clicking on the icons.
- The PCB Board Wizard opens with an introduction page. Click Next to continue.
- Set the measure units to Imperial, i.e. 1000mil = 1 inch.
- On the third page of the wizard you select the board outline you wish to use. For this tutorial we will enter our own board size. Select Custom from the list of board outlines, then click Next.
- In the next page you enter custom board options. For the tutorial circuit, a 2 x 2 inch board will give us plenty of room. Select Rectangular for the Outline Shape and type
2000in both the Width and Height fields. Deselect Title Block and Scale, Legend String and Dimension Lines. Click Next to continue.
- The next page allows you to select the number of layers in the board. We will need 2 signal layers and no (zero) power planes. Set this and click Next to continue.
- For the via style, select Thruhole Vias only, then click Next.
- The next page allows you to set the component/track technology (routing) options. Select the Through-hole components option and set the number of tracks between adjacent pads to One Track. Click Next.
- The next page allows you to set up some of the design rules for track width and via sizes that apply to your board. Leave the options on this screen set to their defaults. Click Next.
- The PCB Board Wizard has now collected all the information it needs to create your new board, click Finish. The PCB Editor will now display a new PCB file named PCB1.PcbDoc.
The PCB document displays with a default sized white sheet and a blank board shape (black area with grid). To turn off the white sheet, select Design » Board Options and deselect Display Sheet in the Board Options dialog. Later, you can add your own border, grid reference and title block from other PCB templates supplied with Altium Designer.
- Now the sheet has been turned off, zoom in to display the board shape only by selecting View » Fit Board (shortcut: V, F).
- If it is not currently visible, display the Projects panel (use the System button down the bottom right of Altium Designer).
- If the new PCB has not been automatically added (linked) to the Multivibrator project, click and hold on the PCB file in the Projects panel, and drag and drop it on to the Multivibrator project.
- Right-click on the new PCB in the Projects panel, and select Save As from the menu that appears. Check that the PCB is being saved into the same folder as the schematic and project files, then save it with the name
- Since the PCB has been added to the project, you will need to Save the project as well (right click on the project in the Projects panel).
Transferring the Design
The process of transferring a design from the capture stage to the board layout stage is launched by selecting Design » Update PCB Document Multivibrator.PcbDoc from the Schematic Editor menus, or Design » Import Changes from Multivibrator.PcbDoc from the PCB Editor menus - when you do the design is compiled and a set of Engineering Change Orders is created, that will perform the following steps:
- A list of all components used in the design is built, and the footprint required for each. When the ECOs are executed Altium Designer will attempt to locate each footprint in the currently available libraries, 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 Altium Designer 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 happens when the footprint was not found, or the pads on the footprint do not map to the pins on the symbol.
- Addition design data is then transferred, including placement rooms, net and component classes, and PCB design rules.
Before transferring the schematic information to the new blank PCB, you should always make sure all the related libraries for both schematic and PCB are available. Since only the default installed integrated libraries are used in this tutorial the required libraries are already available, which means the footprints are available.
You are now ready to transfer the design from schematic capture to PCB layout.
To transfer the schematic information to the target PCB:
- Open the schematic document, Multivibrator.SchDoc.
- Click on Validate Changes. If all changes are validated, a green tick will appear next to each change in the Status list. If the changes are not validated, close the dialog, check the Messages panel and resolve any errors.
- Click on Execute Changes to send the changes to the PCB. When completed, the Done column entries become ticked.
- The target PCB opens with the Engineering Change Order dialog open on top of it, click to Close the dialog.
- The components will have been positioned outside of the board, ready for placing on the board. Use the shortcut V, D (View » Document) if you cannot see the components in your current view.
Ready to Start the PCB Design Process
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. Note that some of the component pads may be highlighted in green and there may be white outline circles around some of the silkscreen - these indicate design rule violations:
- The white circles are indicating that there are silkscreen objects off the board, which will be resolved as soon as the components are moved onto the board.
- The green pads indicate there is a rule violation caused by the pads, we'll identify and resolve these shortly.
Violation markers can be cleared at any time using the Tools » Reset Error Markers command, and the design re-checked at any time using the Tools » Design Rule Check command.
Note that the PCB Editor is capable of rendering the PCB design in both 2 Dimensional and 3 Dimensional modes (3D requires a graphics card that supports DirectX 9.0C and Shader Model 3 or better, check the Performance comparison of graphics cards article for more information about suitable cards). 2D mode is a multi-layered environment that is ideal for normal PCB design tasks, such as placing components, routing and connecting. 3D mode is useful for examining your design both inside and out as a full 3D model (3D mode does not provide the same range of functionality available in 2D mode). You can switch between 2D and 3D modes through View » 2D Layout Mode or View » 3D Layout Mode (shortcuts: 2 (2D), 3 (3D)).
Setting Up the PCB Workspace
Main article: Preparing the Board for Design Transfer
Before we start positioning the components on the board we need to configure certain PCB workspace and board settings, such as the grids, layers and design rules.
PCB Workspace Grids
We need to ensure that our placement grid is set correctly before we start positioning the components. All the objects placed in the PCB workspace are aligned on a grid called the snap grid. This grid needs to be set to suit the routing technology that we plan to use.
Our tutorial circuit uses standard imperial components that have a minimum pin pitch of 100mil. We will set the snap grid to an even fraction of this, say 50mil or 25mil, so that all component pins will fall on a grid point when placed. Also, the track width and clearance for our board are 12mil and 13mil respectively (the default values used by the PCB Board Wizard ), allowing a minimum of 25mil between parallel track centers. The most suitable snap grid setting would, therefore, be 25mil.
To set the snap grid, complete the following steps:
- Select Design » Board Options (shortcut: D, O) to open the Board Options dialog.
- Click the Grids button down the bottom right to open the Grid Manager (shortcut G, M).
- Altium Designer supports multiple user-defined grids, in both Cartesian and polar forms. For this tutorial only the Default grid is used, double-click on it to edit the settings in the Cartesian Grid Editor. Set the grid Steps value to 25mils.
- To make the grid visible when zoomed out, set the Multiplier to 10x Grid Step.
- Click OK to close the dialogs.
Component Positioning and Placement options
Let's set some other options that will make positioning components easier.
- Select Tools » Preferences (shortcut: T, P) to open the Preferences dialog. Open the PCB Editor - General page of the dialog, in the Editing Options section, make sure the Snap To Center option is enabled. This ensures that when you "grab" a component to position it, the cursor is set to the component's reference point. Note the Smart Component Snap option, if this is enabled you can force the snap to a pad center by clicking and holding closer to the required pad than the component reference.
- Switch to the PCB Editor - Display page of the Preferences dialog. In the DirectX Options section of this page, enable the Use DirectX if possible option. This will allow us to utilize the 3D view mode. If you cannot run the DirectX mode you will be limited to using the legacy 3D viewer if you wish to view the board in 3D.
- Switch to the PCB Editor - Interactive Routing page of the Preferences dialog. In the Interactive Routing Options section of the page, enable the Automatically Terminate Routing option. With this enabled, when a route reaches the target pad the cursor is automatically released from that net, ready to start routing another net.
- In the same page of the dialog, confirm that the Interactive Routing Width / Via Size Sources are both set to Rule Preferred.
Defining the Layer Stack and Other Non-electrical Layers
Now that the workspace settings have been configured, the next step is to configure the electrical and non-electrical layers needed for the design.
Physical Layers and the Layer Stack Manager
Altium Designer's PCB Editor supports up to 32 signal and 16 power plane (solid copper) layers. The tutorial PCB is a simple design and can be routed as a single-sided or double-sided board. If the design was more complex, you would add more layers through the Layer Stack Manager dialog.
- Select Design » Layer Stack Manager (shortcut: D, K) to display the Layer Stack Manager dialog.
- New layers and planes are added below the currently selected layer. Layer properties, such as copper thickness and dielectric properties are used for signal integrity analysis, and can be configured by double-clicking on the appropriate cell for that layer.
- Click OK to close the dialog.
Configuring the Display of Layers
As well as the electrical (signal and power plane) layers, the PCB Editor also supports numerous other non-electrical layers. There are three types of layers available in the PCB Editor:
- 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 multilayer 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 (Design » Board Layers and Colors, or press the L shortcut).
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.
Since there are so many layers, and since during the design process you will work with many different settings of layers turned on and off, the current settings in the View Configurations dialog can be saved as a View Configuration. You can easily switch between available View Configurations via the menu in the main toolbar, as shown below.
View configurations are settings that control numerous PCB workspace display options for both 2D and 3D display modes (and apply to both the PCB and PCB Library Editors). The view configuration last used when saving a PCB document is also saved with the file itself. This enables it to be viewed on another instance of Altium Designer using its associated view configuration. View configurations can also be saved locally and be used and applied at any time to any PCB document. If you open a PCB file does not have an associated view configuration, a system default one is used. View Configurations are created and saved using the options on the left hand side of the View Configurations dialog.
Let's create a simple 2D view configuration for this tutorial.
- Open the View Configurations dialog (Design » Board Layers & Colors). The dialog opens with the active configuration selected in the Select PCB View Configuration area on the top left. If you were in 3D mode, click on a 2D configuration.
- In the Board Layers And Colors tab, ensure that the Only show layers in layer stack and Only show enabled mechanical layers options are enabled. These settings will display only the layers in the stack.
- Click the Used Layers On control at the bottom of the page. This will display only layers that are currently being used, that is, they have design objects on them.
- Click on the color next to Top Layer to display the 2D System Colors dialog. Note that you can easily change the color of a layer, remembering that changes made to layer colors are system settings, so will apply to each board you open. Note also the dialog includes a Previous option, allowing you to easily restore a color setting if you decide you do not like one you have selected. Click Cancel to close the dialog without applying a change.
- If required, disable the display of the four Mask layers, the Drill Guide and Drill Drawing layers.
- In the Actions section, click Save As view configuration and save the file as
Tutorialin the default location. Note that you do not need to type in the file extension, this is always added automatically in Altium Designer.
- Click OK when you return to the View Configurations dialog to apply the changes and close it.
- Note that your new View Configuration will be active, you can confirm this by checking in the drop down View Configuration list in the main toolbar.
Note : Remember that 2D layer color settings are system-based, affecting all PCB documents, and are not part associated with any view configurations. You can create, edit and save 2D color profiles from the 2D System Colors dialog.
Setting Up the Design Rules
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, Altium Designer 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.
The design rules fall into 10 categories, which can then be further divided into design rule types. The design rules cover electrical, routing, manufacturing, placement and signal integrity requirements.
We will now set up new design rules to specify the width that the power nets must be routed. To set up these rules, complete the following steps:
- With the PCB as the active document, select Design » Rules from the menus.
- The PCB Rules and Constraints Editor dialog will appear. Each rules category is displayed under the Design Rules folder (left hand side) of the dialog. Double-click on the Routing category to expand the category and see the related routing rules. Then double-click on Width to display the currently defined width rules.
- Click once on each rule to select it. As you click on each rule, the right hand side of the dialog displays the settings for the rule, including: the rule's scope (what you want this rule to target) in the top section, and the rule's constraints in the bottom section. These rules are either defaults, or have been set up by the PCB Board Wizard when the new PCB document was created.
- Click on the Width rule to display its scope and constraints. This rule applies to all nets on the entire board, because the Scope is set to All.
- Confirm that the Min Width , Max Width and Preferred Width fields are all set to 12mil.
One of the powerful features of Altium Designer's design rule system is that multiple rules of the same type can be defined, each targeting different objects, or a subset of objects already targeted by another rule. The exact set of objects that each rule targets is defined by that rule's Scope. The order that rules of the same type are applied is determined by the Rule Priority. For example, you could have a width constraint rule for the whole board (meaning all nets must be routed this width), a second width constraint rule for the ground net (this rule would have a higher priority, overriding the previous rule), and a third width constraint rule for a particular connection on the ground net (which has the highest priority, overriding both of the previous rules). The Rule priority is displayed when you click on the rule type in the tree on the left of the dialog, in this example you would click on Width to display a summary of all width-type rules, including their Priority setting.
Currently there is one width constraint rule for your design, which applies to the whole board (width = 12mil). We will now add a new width constraint rule for the 12V and GND nets (width = 25mil). To add new width constraint rules, complete the following steps:
- With the Width rule-type selected in the Design Rules tree on the left of the PCB Rules and Constraint Editor dialog, right-click and select New Rule to add a new width constraint rule, as shown in the image above.
- A new rule named Width_1 appears. Click on the new rule in the Design Rules folder to modify the scope and constraints.
Width_Powerin the Name field.
- Next we set the rule's scope using the Query Builder, to access this select the Advanced (Query) option. Note that you can always type in the scope directly if you know the correct syntax. Alternatively, if your query is more complicated you could select the Advanced option, then click the Query Helper button to use the Query Helper dialog.
- Click on the Query Builder button to open the Building Query from Board dialog.
- Click on Add first condition and select Belongs to Net from the drop-down list. In the Condition Value field, click and select the net 12V from the list. The Query Preview now reads InNet ('12V').
- Click on Add another condition to widen the scope to include the GND net. Select Belongs to Net and GND as the Condition Value.
- Change the operator on the left of the dialog by clicking on the operator AND, and then selecting OR from the dropdown list.
- Confirm that the preview reads InNet('12V') OR InNet('GND') as shown in the image above, then click OK to close the Building Query from Board dialog and return to the PCB Rules and Constraint Editor dialog.
- The scope in the Full Query section of the new design rule has now been updated with the new query, as shown in the image below.
- In the bottom section of the PCB Rules and Constraints Editordialog, set the Width settings to the following values:
- Min Width =
- Preferred Width =
- Max Width =
The new rule is now set up and will save when you select another rule, or close the dialog.
- Min Width =
- Click OK to close the PCB Rules and Constraint Editor dialog.
Detecting and Resolving Initial Rule Violations
Although it is not time to run a full design rule check on the board just yet, there are violations present which should be resolved now.
The pads in the transistors are green, indicating that they are in violation. The first step is work out which rule is being violated. There are two easy ways to work this out:
- If you zoom in enough the violation detail will display on screen, as shown in the image below. This shows the clearance between the pads is less than 13mils (the clearance setting in the applicable design rule).
- Or right-click on a violating pad and select the Violations sub-menu, it will list all rules this object is violating, as shown in the image above. One entry is for a Clearance Constraint error between 2 pads. Select this menu entry, the Violation Details dialog will then open, detailing:
- the objects in error (at the bottom of the dialog),
- the applicable rule that is being violated (in the middle of the dialog),
- the actual clearance between the violating objects (at the top of the dialog).
From the dialog it can be seen that the Clearance Constraint, which is set to 13mils, is being violated by Pad 1 and Pa2 of Q2, which are actually 10.63mil apart. The pads of the transistor are simply too close together to pass this clearance constraint.
There are 2 ways this violation could be resolved:
- Decrease the general clearance rule from 13 mil down to a value less than 10.63mils, or
- Add another rule that targets the pads of the transistors, allowing them to have a clearance of less than 10.63mils.
The second option is the best choice, as it allows you to continue to route the board with a clearance of 13mils, while allowing a tighter clearance just for the transistor pads.
Defining a Suitable Clearance Rule for the Transistor
We will now add another clearance constraint to allow the pads of the transistors to be closer than the overall clearance of 13mils specified by the current design rule. To do this:
- Open the PCB Rules and Constraints Editor (Design » Rules).
- In the tree on the left, expand the Electrical category then expand the Clearance constraint, to show all current Clearance Constraints defined for this board.
- There should be one clearance constraint, click on it to display the rule details on the right of the dialog.
- This rule has a Minimum Clearance of 13mils, as defined in the Constraints section of the dialog.
- Note that there are two sets of controls to define the scope of the rule (the objects it applies to), both have a Full Query of All. Clearance rules are called binary rules, because they apply between two objects. For this reason there are two scopes to be defined, allowing precise control over which objects the rule targets.
- Right-click on the current Clearance constraint and select New Rule from the context menu. A new rule (constraint) will be added, with the name Clearance_1 , click to select this rule.
- Edit the Name field for the rule, calling it Clearance_TO92A.
- Next, edit the rule Constraints, setting the Minimum Clearance to 10mils.
- To define the first query, click the upper Query Builder button to open the Building Query from Board dialog.
- In the query builder dialog click the down arrow to select the Condition Type / Operator, selecting Associated with Footprint from the list.
- Click the down arrow for the Conditional Value, and select TO-92A from the list.
- Click OK to accept these settings and return to the PCB Rules and Constraints Editor, it will now have the first Full Query defined as HasFootprint('TO-92A'). This rule is now saying: that any electrical object within a footprint called TO-92A (which in this case means the transistor pads), must have a clearance of 10mils from All other electrical objects. While this configuration will resolve the violation between the transistor pads, it will also allow any routing to be within 10mils of the transistor pads.
- To ensure that all routing is kept at the preferred 13mils clearance, copy the query from the upper Full Query field, and paste it into the lower Full Query field. Now the rule is saying: that any electrical object within a footprint called TO-92A (the pads), must have a clearance of 10mils from any electrical object within a footprint called TO-92A (the pads). The rule should look as shown in the image below.
- Click OK to close the PCB Rules and Constraints Editor.
Positioning the Components on the PCB
Now we can start to place the components in their right positions.
- Press the V, D shortcut keys to zoom in on the board and components.
- To place connector Y1, position the cursor over the middle of the outline of the connector, and Click-and-Hold the left mouse button. The cursor will change to a cross hair and jump to the reference point for the part. While continuing to hold down the mouse button, move the mouse to drag the component.
- When the connector component is in position, release the mouse button to drop it into place. Note how the connection lines drag with the component.
- Reposition the remaining components, using the figure above as a guide. Use the SPACEBAR to rotate (increments of 90º anti-clockwise) components as you drag them, so that the connection lines are as shown in the figure.
- Component text can be repositioned in a similar fashion - click-and-drag the text and press the SPACEBAR to rotate it.
- Altium Designer also includes powerful interactive placement tools. Let's use these to ensure that the four resistors are correctly aligned and spaced.
- Holding the SHIFT key, click on each of the four resistors to select them, or click and drag the selection box around all 4 of them. A shaded selection box will display around each of the selected components in the color set for the system color called Selections. You can change this selection color in the View Configurations dialog (Design » Board Layers & Colors, or the Lshortcut).
Right-click and select Align » Align (shortcut: A, A). In the Align Objects dialog, click on Space Equally in the Horizontal section and click on Top in the Vertical section. The four resistors are now aligned and equally spaced.
- Click elsewhere in the design window to de-select all the resistors, then use the same process to align the capacitors, then again to align the transistors.
Changing a Footprint
Now that we have positioned the footprints, we can see the capacitor footprint is too big for our requirements! Let's change the capacitor footprint to a smaller one.
- Double-click on one of the capacitors to open the Component dialog.
In the Footprint region of the dialog, you will see that the current footprint Name is RAD-0.3. To choose another footprint, click the ... button, as shown in the figure below, to open the Browse Libraries dialog and choose a different footprint.
- In the Browse Libraries dialog, click the dropdown arrow to display the list of currently installed libraries, ensure that the Miscellaneous Devices.IntLib is selected.
- We want a smaller radial type footprint, so type
radin the Mask field of the dialog to display only the radial style footprints.
- RAD-0.1 will be suitable, so select it and click OK to close the Browse Libraries dialog, the click OK again to close the Component dialog. The capacitor should show the new smaller footprint.
- Repeat the process for the other capacitor.
- Reposition the designators as required.
- Save the PCB file.
Your board should now look something like the figure below.
With everything positioned, it's time to do some routing!
Interactively Routing the Board
Routing is the process of laying tracks and vias on the board to connect the component pins. Altium Designer makes this job easy by providing sophisticated interactive routing tools as well as the Situs 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, we will manually route the entire board single-sided, with all tracks on the bottom 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 or walking around obstacles, automatically following existing connections, all in accordance with applicable design rules.
We will now place tracks on the bottom layer of the board, using the ratsnest (connection lines) to guide us. 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 Altium Designer 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 we will use the default.
- Check which layers are currently visible by looking at the Layer Tabs at the bottom of the workspace. If the Bottom Layer is not visible, press the L shortcut to open the View Configurations dialog, and enable the Bottom Layer.
- Click on the Bottom layer tab at the bottom of the workspace to make it the current, or active layer, ready to route on.
- Select Place » Interactive Routing from the menus (shortcut: P, T) or click the Interactive Routing button . The cursor will change to a crosshair indicating you are in track placement mode.
- Position the cursor over the lower pad on connector Y1. As you move the cursor close to the pad it will automatically snap to the center of the pad - this is the Snap To Object Hotspot feature pulling the cursor to the center of the nearest electrical object (configure the Range in the Board Options dialog).
- Left-Click or press ENTER to anchor the first point of the track.
- Move the cursor towards the bottom pad of the resistor R1. Note how track segments are displayed in a check pattern or are displayed hollow, following your cursor path (as shown in the image below). The check pattern/hollow indicates that they have not been committed (placed). If you pull your cursor back along the path, the uncommitted routing unwinds also. You have two choices with routing here:
- Manually route by Left-Clicking to commit track segments, finishing on the lower pad of R1. Each mouse click will place the hatched segments.
- Press CTRL+Left Click to use the Auto-Complete function and immediately route the connection (you can also use this technique directly on a pad or connection line). The routing has to be valid in terms of any obstacles on the board for Auto-Complete to work. On large boards, the Auto-Complete path may not always be available as the routing path is mapped section by section and complete mapping between source and target pads may not be possible.
- Use either of the above methods to route between the other components on the board. The image below shows a manually routed board.
- There is no single solution to routing a board, so it is inevitable that you will want to change the routing. Altium Designer includes features and tools to help with this, they are discussed later on this page in the section.
- Save the design when you are finished.
Keep in mind the following points as you are placing the tracks:
- Left-Click or press ENTER to place hatched track segments up to the current cursor position. Hatched pattern segments represent uncommitted routing, hollow tracks represent the look-ahead segment. The look ahead segment allows you to accurately position the previous segment(s). The look-ahead segment is not placed when you click - press the 1 shortcut to cycle the look-ahead feature on/off. Committed tracks are shown solid in the layer color.
- CTRL + Left-Click at any time to Auto-complete the connection. Auto-complete will not succeed if there are unresolvable conflicts with obstacles.
- * on the numeric keypad while routing to cycle through the available signal layers. A via will automatically be added, in accordance with the applicable Routing Via Style design rule.
- SHIFT + R to cycle through the enabled conflict resolution modes: Push, Walkaround, Hug and Push, and Ignore.
- SHIFT + SPACEBAR to cycle through the various track corner modes. The styles are: any angle, 45°, 45° with arc, 90° and 90° with arc.
- SPACEBAR to toggle the corner direction for all but any angle mode.
- SHIFT + S to cycle single layer mode on and off, ideal when there are many objects on multiple layers.
- CTRL to temporarily suspect the Hotspot Snap (formerly called the Electrical Grid), press Shift + E to cycle through the 3 modes (off / on for current layer / on for all layers).
- END at any time to redraw the screen.
- V, F at any time to redraw the screen to fit all objects.
- PAGE UP and PAGE DOWN keys at any time to zoom in or out, centered on the cursor position. Use the mouse wheel to pan left and right. Hold the CTRL key down to zoom in and out with the mouse-wheel.
- BACKSPACE to remove the last-committed track segments.
- Right-click or press ESC when you have finished placing a track and want to start a new one.
- To unroute, press U to open the Unroute menu, then select the required command (Net, Connection, Component, Room).
- You cannot accidentally connect pads that should not be wired together. Altium Designer continually monitors board connectivity and prevents you from making connection mistakes or crossing tracks.
- To delete a track segment, click it to select it. The segment's editing handles will appear (the rest of the track will be highlighted). Press the DELETE key to clear the selected track segment.
- Re-routing is easy - route the new track segments, when you right-click to finish, redundant track segments are automatically removed.
- Alternatively, to slide existing routing while maintaining corner angles, CTRL + Left-click and drag on the segment. Use the SHIFT+R shortcuts to cycle conflict resolution modes while sliding a track segment.
- When you have finished placing all the tracks on your PCB, right-click or press the ESC key to exit placement mode.
- While routing, press ~ (tilda) or Shift+F1 for a list of interactive shortcuts - most settings can be changed on the fly.
- When you start a route you do not have to click on the pad to pick up the connection line, you can start (and finish) routing anywhere. As soon as you right-click to finish that route, Altium Designer will analyze the route and update or remove the connection lines as required.
Interactive Routing Modes
Main article: Interactively Routing a Net
Altium Designer's Interactive Routing tool 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 modes include:
- Ignore - This mode lets you place tracks anywhere, including over existing objects, displaying but ignoring potential violations.
- 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.
- Walkaround - This mode will attempt to find a routing path around existing obstacles without attempting to move them.
- Push - This mode will attempt to move objects (tracks and vias), which are capable of being repositioned without violation, to accommodate the new routing.
- Hug & Push - 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
Main article: Modifying Existing Routing
Given that board design is a highly fluid process, you will find that the routes that seemed great today may no longer be suitable tomorrow, so it is essential to understand how to re-route and modify existing routes.
Because we originally defined our board as being double-sided in the PCB Board Wizard, you could manually route your board double-sided using both the top and bottom layers. To do this, un-route the board by selecting Tools » Un-Route » All from the menus. Start interactive routing as before, to switch routing layers press the * key on the numeric keypad to toggle between the layers while placing tracks. Altium Designer will automatically insert a via (in accordance with the Routing Via design rule) as necessary when you change layers.
To modify an existing route, there are two approaches: reroute, or re-arrange.
Reroute an existing Route
There is no need to un-route a connection to redefine its path, simply select Place » Interactive Routing and start re-routing, the Loop Removal feature will automatically remove any redundant track segments. Altium Designer includes a net analyzer that automatically analyses the route path as you work and removes redundant segments and vias. You can start and end the new route path at any point, swapping layers as required. 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. Loop Removal is enabled in the PCB Editor - Interactive Routing page of the Preferences dialog.
Re-arrange Existing Routes
You can interactively more or slide track segments across the board to make room for new routes. Altium Designer will automatically maintain the 45/90 degree angles with connected segments, shortening and lengthening them as required. To slide a segment:
- CTRL + Click and hold on a segment to start sliding that segment, or
- Click once to select the segment, position the mouse over the segment to display the quad-arrow cursor, then Click and hold to start sliding that segment. Note that the cursor changes if you position it over the center track vertex.
Track Sliding Tips
- During sliding the routing conflict resolution modes apply (Ignore, Push, Hug and Push), press SHIFT + R to cycle through the modes as you slide a track segment.
- Existing pads and vias will be jumped, or vias will be pushed if necessary and possible.
- To convert a 90 degree corner to a 45 degree route, start sliding on the corner vertex.
- While sliding you can move the cursor and hotspot snap it to an existing, non-moving object such as a pad, use this to help align the new segment location with an existing object and avoid very small segments being added.
- Position the cursor over the track segment center vertex to add in new segments.
Automatically Routing the Board
Main article: Situs Autorouting Essentials
To see how easy it is to autoroute with Altium Designer, complete the following steps:
- Un-route the board by selecting Tools » Un-Route » All from the menus (shortcut: U, A).
- Select Auto Route » All. The Situs Routing Strategies dialog displays, the top region of the dialog displays the Routing Setup Report, warnings and errors are shown in red, always check for warnings/errors. The lower half of the dialog shows the available Routing Strategies, the selected one will be highlighted. For this board it should default to the Default 2 Layer Board strategy.
- Click on Route All in the Situs Routing Strategies dialog. The Messages panel displays the process of the autorouting. The Situs autorouter is a topological autorouter, producing results comparable with that of an experienced board designer. Because it routes your board directly in the PCB editing window, there is no need to wrestle with exporting and importing route files.
- To route the board single-sided, click the Edit Layer Directions button in the Situs Routing Strategies dialog, and modify the Current Setting field. Alternatively you can modify the Routing Layers design rule.
- An interesting point to make, the Situs router prefers a challenging board, often giving better results on a dense, complex design than on a simple board. To improve the quality of the finished result, select Auto Route » All again, except this time select the Cleanup routing strategy. This strategy will attempt to straighten the routes, reducing the number of corners. You can run the Cleanup strategy multiple times if required. If nothing changes you might like to interactively re-route a connection in a convoluted pattern, then try the Cleanup strategy.
- Select File » Save (shortcut: F, S) to save your board.
Note : The tracks placed by the autorouter appear in two colors: red indicates that the track is on the top signal layer of the board and blue indicates the bottom signal layer. The layers that are used by the autorouter are specified in the Routing Layers design rule, which was set up in the PCB Board Wizard . Also notice the two power net tracks running from the connector are wider, as specified by the second Width design rule you set up. Don't worry if the routing in your design is not exactly the same as shown in the figure above. The component placement will not be exactly the same, so neither will be the routing.
Verifying Your Board Design
Main article: Design Rule Checking
Altium Designer is a rules-driven board design environment, in which you can define many types of design rules to ensure the integrity of your board. Typically, you set up the design rules at the start of the design process and then verify that the design complies with the rules as you work through the design, and at the end of the design process.
Earlier in the tutorial we examined the routing design rules and added a new width constraint rule targeting the power nets, and a new clearance constraint rule for the transistor pads. We also noted that there were already a number of rules that had been created by the PCB Board Wizard, and that there were some existing design rule violations against these default rules.
To verify that the routed circuit board conforms to the design rules, we will now run a Design Rule Check (DRC):
- Select Design » Board Layers & Colors (shortcut: L) and ensure that Show checkbox next to the DRC Error Markers option in the System Colors section is enabled (ticked) so that DRC error markers will be displayed.
- Select Tools » Design Rule Check (shortcut: T, D). Both the online and batch DRC options are configured in the Design Rule Checker dialog. By default the dialog opens showing the Report Options selected in the tree on the left of the dialog (as shown in the image below), these will be left at their defaults.
- Click on the Rules to Check in the list on the left of the dialog, all of the rule types will be listed. You can narrow the list by clicking on a specific category, for example Electrical, to see all the rules belonging to that category. For most rule types there are checkboxes for Online (check as you work) and Batch (check when the Run Design Rule Check button is clicked), we will leave these set to their defaults.
- Click the Run Design Rule Check button. The DRC will run, the Messages panel will appear and the report file Design Rule Verification Report will open, both detailing any violations detected. Scroll down through the report, noting that 2 types of rule violations have been detected Minimum Solder Mask Sliver and Silk To Solder Mask. Below the summary of violating rules will be specific details about each violation.
- Click on one of the Minimum Solder Mask Sliver violations, you will automatically switch to the PCB, zooming in on that specific violation. Note that the zoom level is configured in the System - Navigation page of the Preferences dialog, experiment to find a setting that suits you.
- If you zoom in close enough, details about that violation will appear, as shown in the image above (circled in green). For more details about the violation, right-click on an object in violation and select the Violations sub-menu, where you can read detail of the actual settings. In this case the solder mask sliver will be 2.63mil, less than the 10mil specified in the applicable design rule. Note that the color of the DRC Detail Markers is configured in the View Configurations dialog. You can also select the menu entry for the specific violation to open the Violation Details dialog, as you did when you were analyzing the pad clearance problem earlier.
- To resolve this error we can either: modify the footprint in the Library editor and place extra solder mask to remove the slivers; or add a specific rule that targets these pads, either increasing the solder mask opening to remove the slivers, or decreasing the mask opening to widen the sliver to an acceptable width. This is a design decision which would be made in light of your knowledge of the component, and the fabrication and assembly technology being used. Opening the mask to remove the sliver means that there will be no solder mask between the transistor pads, potentially creating solder bridges, decreasing the mask opening will leave a sliver which may or may not be acceptable, and will also introduce the possibility of mask-to-pad registration problems.
- For this tutorial we will add a new design rule to reduce the solder mask opening for just the transistor pads. To do this select Design » Rules from the menus to open the PCB Rules and Constraints Editor dialog.
- Expand the tree on the left of the dialog to show the SolderMaskExpansion rule and click to select the rule and display its settings, it will specify an expansion value of 4mil.
- Add a new Solder Mask Expansion rule (right-click on the current rule and select New Rule), a new rule called SolderMaskExpansion_1 will be created, click on it to display its settings.
- Edit the rule settings to be:
- Name - SolderMaskExpansion_TO-92A
- Full Query - HasFootprint('TO-92A') (this can be copied from the Clearance rule defined earlier)
- Expansion - 0mil
- Click OK to close the PCB Rules and Constraints Editor dialog, then select Tools » Design Rule Check and run the rules check again.
- This time, rather than using the Design Rule Verification Report, make the PCB the active document and display the Messages panel. The Messages panel can also be used to examine rule violations, it should list 8 Silk to Solder Mask Clearance Violations, double-click on one to jump to that violation.
- You can see from the Messages panel that the actual clearance is 9.504mil, only slightly below the default rule setting of 10mil. In this case a suitable solution would be to reduce the clearance from 10mil to 9 mil.
- Open PCB Rules and Constraints Editor. In the Manufacturing category, open the Silkscreen Over Component Pads rule type, and click on the existing rule.
- Edit the Silkscreen to Object Minimum Clearance value, changing it from
- The online DRC will run automatically, clearing those violations. We will also run the batch check, to do this select Tools » Design Rule Check, and click the Run Design Rule Check button.
When the report opens scroll down and confirm that there are no violations.
Well done! You have completed the PCB layout and are ready to produce output documentation. Before doing that, we'll explore Altium Designer's 3D capabilities.
Viewing Your Board in 3D
Now that your board design is complete, let's examine it as a 3 dimensional object. To switch to 3D, select View » 3D Layout Mode (shortcut: 3), or select a 3D view configuration from the list on the PCB Standard toolbar. The board will display as a 3 dimensional object.
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 PAGE UP / PAGE DOWN 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 figure below. Rotational movement of the model is made about the center of the sphere using the following controls (move the mouse around to 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.
Tips for Working in 3D
- You can configure 3D workspace display options using the View Configurations dialog (shortcut: L) when the board is in 3D Layout Mode. 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 3D STEP-format models into component footprints, or you can create your own component shape by placing 3D Body Objects in the footprint in the library editor. Check out 3D Content Central for STEP format component models. For more information on creating 3D bodies for components, refer to the Including Three-Dimensional Component Detail section of the Creating Library Components Tutorial tutorial.
- To export 3D PCB documents in STEP format, select File » Save Copy As.
- You can create a clipboard snapshot of the current view in 3D mode, click once on the workspace and press CTRL + C. Select the required resolution in the 3D Snapshot Resolution dialog, the image is stored on the Windows clipboard in bitmap format, ready for use in other applications.
- You can import an enclosure designed in an MCAD application into Altium Designer's PCB editor and check the board for fit. For more information on integration with MCAD applications refer to the Integrating MCAD Objects and PCB Designs tutorial. The tutorial uses the same multivibrator design.
Related article: Design to Manufacturing
Now that you've completed the design and layout of the PCB, you will want to produce output documentation to get the board reviewed, manufactured and assembled. Output settings can be configured from within the PCB editor, these settings will be stored in the project file. Output settings can also be configured in an Output Job File, a dedicated output settings document.
The advantages of using an Output Job (OutJob) include:
- Full control over the naming of output files/folders, and the folder structure of the outputs.
- Multiple outputs of the same type can be configured, ideal if multiple fabricators are being considered.
- Multiple OutJobs can be included in the project, allowing outputs to be organized to suit your design and your company.
- PDF outputs can be collated, or output into separate files.
- Outputs can be configured and generated for each Variants.
- Output settings can be copied from one project to another by copying the OutJob.
- Outputs can be manually managed, or release managed - where Altium Designer manages their generation and storage in an Altium Vault.
To add an OutJob to the project:
- In the Projects panel, right click on the project name and select Add New to Project » Output Job File. A new OutJob will be opened and added to the project.
- To add a new Gerber output, click the link in the Fabrication Outputs section of the OutJob, and select Gerber » [PCB Document], as shown in the image below. You can select the generic [PCB Document] option if there is only one board in the project, it will automatically be chosen for generation. This makes the OutJob more easily copied between projects, as this setting will not have to be updated. If there are multiple PCBs in the project you will need to select the specific board.
- The gerber output has been added, it will be configured shortly. Save the Outjob and name it Multivibrator. It will automatically be saved in the same folder as the project file.
These output files are generally intended for a board fabricator and, because a variety of technologies and methods exist in PCB manufacture, Altium Designer has the capability to produce numerous output types for different purposes:
- 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.
- Composite Drawings - the finished board assembly, including components and tracks.
- PCB 3D Prints - views of the board from a three-dimensional view perspective.
- Schematic Prints - schematic drawings used in the design.
- 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.
- 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.
Netlists describe the logical connectivity between components in the design and is useful for transporting to other electronics design applications.
- 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.
Generating Gerber Files
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 documentation required to fabricate your design.
To configure the Gerber files for the tutorial PCB:
- In the OutJob, double-click on the Gerber Files output, the Gerber Setup dialog will open, as shown in the image above.
- Click the Layers tab, then the Plot Layers button and select Used On. Note that mechanical layers may be enabled, these are not normally Gerbered on their own. Instead they are often included if they hold detail that is required on other layers, for example an alignment location marker that is required on every Gerber file. In this case the Mechanical Layer options on the right of the dialog are used. Disable any mechanical layers that were enabled in the Layers to Plot section of the dialog.
- Click OK to accept the other default settings and close the Gerber Setup dialog.
- Now the Gerber settings are configured, the next step is to configure their naming and output location. This is done by mapping them to an Output Container on the right of the OutJob. For discrete files with their own file format, you use a Folder Structure container, select Folder Structure in the list of Output Containers, then click the radio button for the Gerber Files in the Enabled column of the Outputs to map this output to the selected container, as shown below.
- The last step is to configure the Container, to do this click on the Change link to open the Folder Structure Settings dialog. Across the top are a set of controls which are used to configure if the outputs are Release Managed or Manually Managed, set them to Manually Managed. Explore the other options, the lower part of the dialog will display how the names and folder structure changes as you select different options.
- Click the Advanced button at the bottom of the Folder Structure dialog and enabled the Gerber Output options. Click OK to close the dialog.
- To generate the Gerber files, click the Generate Content link in the Container region of the OutJob.
- The files will be generated and opened in Altium Designer's CAM editor, which can be used for final checking of CAM files before you release them to manufacture. Close the CAM file without saving it.
For more information about Fabrication Outputs and configuring your Gerber Outputs, see Fabrication Outputs.
Creating a Bill of Materials
You will now create a Bill of Materials (BOM) for the tutorial PCB.
- Using the same approach you used to add a Gerber output in the Outjob, add a Bill of Materials output. To do this, click the Add New Report Output link, and select Bill of Materials » Project from the menu that appears.
- To configure the Bill of Materials, double-click on the new Bill of Materials output in the OutJob. The Bill of Materials For PCB Document dialog will open.
- select Reports » Bill of Materials. The Bill of Materials for PCB Document dialog will open, as shown in the image below.
- While you are using the report generation engine to generate a BOM, because of its flexibility and ability to extract data from the schematics and the board, it can be used to generate output for a variety of tasks. The data that is extracted and presented in the report (shown in the main region of the dialog), is defined by enabling the required fields in the All Columns region on the left of the dialog. Scroll down and disable the LibRef field (the name of the component in the library). The column will be removed from the main region of the dialog.
- Data can be grouped if required, the default BOM has components grouped by Comment and Footprint - the assumption here is that all components that have the same Comment and Footprint are the same physical component, so can be grouped to simplify the BOM for purchasing. To remove grouping, click and drag the Footprint field from the Grouped Columns, dropping it back into the All Columns region of the dialog. Repeat for the Comment field.
- Within the main region of the dialog, the columns can be re-ordered by clicking and dragging on their heading. The data can also be sorted (and sub-sorted) by clicking on the column headings. Click on Description to sort alphabetically, then hold Shift and click to sub-sort by Comment.
- A variety of output file formats are supported, set the File Format option to Microsoft Excel Worksheet. A number of Excel templates are included (and you can easily create your own), in the Template field select BOM Default Template.XLT.
- There are now two approaches to generating the BOM. You can generate it directly from this dialog by clicking the Export button (enable the Open Exported first, to see the result).
- Alternatively, you can click OK to close the dialog, then back in the OutJob map the BOM to a PDF Container. The Container will need to be configured to be Manually Managed, once that is done you can click the Generate Content link to create the Excel format file and have it automatically output as a PDF file.
- Close the dialogs.
- For more information about Report Outputs and configuring your Bill of Materials, see Report Outputs
- For more detailed information about generating a custom Bill of Materials, see Generating a Custom Bill of Materials.
Congratulations! You have completed the PCB design process.
This tutorial has introduced you to just some of the powerful features of Altium Designer. We've captured a schematic and designed and routed a PCB, but we've only just scratched the surface of the design power provided by Altium Designer. Once you start exploring Altium Designer, you will find a wealth of features to make your design life easier.
To demonstrate the capabilities of the software, a number of example files are included. You can open these examples in the normal way by selecting File » Open Project from the menus and then navigating to the Examples folder of your Altium Designer installation. As well as the board design examples in this folder, there are a number of sub-folders with examples that demonstrate specific features of Altium Designer.