Welcome to the world of electronic product development in Altium's world-class electronic design software. This tutorial will help you get started by taking you through the entire process of designing a simple PCB - from idea to output files. If you are new to Altium software, it is worth reading the Exploring Altium Designer page to learn more about the interface, information on how to use panels, and an overview of managing design documents.
To learn more about a command, dialog, object or panel, press F1 when the cursor is over that item.
The Design
The design for which you will be creating the schematic and designing a printed circuit board (PCB) is a simple astable multivibrator. The circuit is shown below; it uses two general purpose NPN transistors configured as a self-running astable multivibrator.
Circuit for the multivibrator.
You're ready to begin capturing (drawing) the schematic. The first step is to create a PCB project.
Creating a New PCB Project
In Altium's electronic design software, a PCB project is the set of design documents (files) required to specify and manufacture a printed circuit board. The project file, for example, Multivibrator.PrjPCB is an ASCII file that lists the documents in the project as well as other project-level settings, such as the required electrical rule checks, project preferences, and project outputs, such as print and CAM settings.
A new project is created by running the File » New » Project command to open the Create Project dialog.
- Select File » New » Project from the menus.
- The Create Project dialog will open:
- Select
Local Projects
in the list of Locations.
- Confirm that the Project Type is
PCB <Default>
.
- Enter a suitable name as the Project Name.
- Select a suitable Folder location to store the project. A folder of the same name as the project will automatically be created in this location, and the project file will be saved in it.
- Click Create to close the dialog and create the project.
- The project will appear in the Projects panel. If this panel is not displayed, click the button at the bottom right of the main design window, and select Project from the menu that appears.
- Select File » Save Project from the menus to open the Windows Save As dialog. Use the dialog to navigate to a suitable location, and enter the name
Multivibrator
in the File Name field. The file extension does not need to be typed in, as it will be added automatically.
Adding a Schematic to the Project
The next step is to add a new schematic sheet to the project.
Add a schematic sheet to the project, name and save the schematic, and save the project.
- Right-click on the project filename in the Projects panel then select Add New to Project » Schematic, as shown in the image above. A blank schematic sheet named
Sheet1.SchDoc
will 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.
- To save the new schematic sheet, select File » Save As (or use the right-click context menu). The Save As dialog will open, ready to save the schematic in the same location as the project file. Type the name Multivibrator in the File Name field and click Save (there is no need to type in the extension). 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 also has changed. Right-click on the project filename in the Projects panel then select Save to save the project.
Setting the Document Options
Panel page: Schematic Document Options
Before you start drawing your circuit, it's good to set up the appropriate document options, including the Sheet Size, and the Snap and Visible grids.
Document options are configured for each schematic sheet, set the sheet size as required.
As well as the technique described in the collapsible section below, the Document Options properties can also be accessed by double-clicking in the sheet border.
Environment options, such as the cursor type, selection color and autopan behavior, are configured in the Preferences dialog (Tools » Preferences).
The properties of most objects, including the schematic sheet (or PCB workspace), are configured in the Interactive Properties panel. The panel automatically displays the properties of the selected object, or if no object is selected, it displays the properties of the schematic sheet (or PCB workspace).
- If the Properties panel is not visible, click the button at the bottom right of the application and select Properties from the menu that appears.
- In Document Options mode (when nothing is selected), the panel is divided into the following sections: Selection Filter, General and Page Options. Each section can be opened/collapsed via the small triangle next to the section name.
- For this tutorial, the only change we need to make here is to set the sheet size to A4; this is done in the Page Options section.
- Confirm that both the Snap and Visible Grids are set to 100mil.
- To make the document fill the viewing area, select View » Fit Document (shortcut: V, D).
- Save the schematic by selecting File » Save (shortcut: F, S).
To learn more about any of the controls in the Properties panel, press F1 when the cursor is over the panel.
Accessing the Components
Related article: More about Components and Libraries
The real-world component that gets mounted on the board is represented as a schematic symbol during design capture, and as a PCB footprint for board design.
Components can be:
- Placed directly from the Manufacturer Part Search panel. This panel gives you instant and up-to-date access to a powerful component search and aggregation system, detailing millions of components from thousands of manufacturers, each with real-time supply chain information. Many of the components are design-ready, complete with a symbol and a footprint model; these parts will include the icon in the panel.
- Created in and placed from local file libraries, or your company's Managed Content Server. These components are searched for and placed through the Components panel. More on this approach in the Working with Your Own Components section below.
- For this tutorial, all of the parts will be sourced from the Manufacturer Part Search panel.
- Throughout the tutorial, the terms component and part are both used to describe the design components you will be placing and wiring.
Searching for New Parts
Main article: Manufacturer Part Search panel
Your go-to location to find new components is the Manufacturer Part Search panel. To open the Manufacturer Part Search panel, click the button at the bottom right of the application and select Manufacturer Part Search from the menu. Panels that are currently visible are marked with a check in the menu.
The first time the Manufacturer Part Search panel is opened, it will display a list of component categories as shown below.
The Manufacturer Part Search panel, before performing a search.
Utilizing Altium Designer's advanced component search engine, the Manufacturer Part Search panel can be used in a straightforward search mode by entering a query in the main Search field, or in its advanced faceted mode by progressively refining the search criteria using the Categories and Filters choices – or by using both capabilities together.
- To perform a straightforward search, type a search description into the Search field at the top of the panel.
For example: LED green clear 0603 SMD
Use the Search field to perform a text-based search. Click the small x next to the search string to clear it, click the search string to reload it into the Search field for editing.
- Or to perform a faceted search, use the Categories and Filters to explore potential parts by toggling criteria on and off.
For example:
- First select a Category, such as
LEDs
,
- then Filter the LEDs category by the
Color
, Case/Package
, Mount
, Has Model
, and so on.
Or use a combination of the Categories, Filters, and the Search field to perform a faceted search.
- Categories are accessed using the drop-down, indicated by Number 1 in the image above.
- Click the button to toggle the Filters list on and off (Number 2 in the image). The contents of the Filters list changes to suit the category of the component being searched.
- Some of the Filter fields include text boxes to enter numeric values. Press Enter on the keyboard to apply the value.
- If the results list does not update, click in the Search field and press Enter on the keyboard.
- The current search criteria defined by the enabled Filters list are detailed just below the search bar. Click the small x icon to remove any of the existing search criteria. Note that the contents of the Filters search box apply to these results too, so if it has not been cleared, you will only be able to remove the search criteria that was last entered into the search box. Clear the search box to resolve this.
- Click on a column heading to sort the results by that column.
- Right-click on an existing column heading to access the Select Columns dialog ( show image ).
Panels and dialogs that support searching for components have a landscape mode and a portrait mode. As the panel/dialog is resized the controls will re-arrange, so they may not present exactly as they are shown and described here.
Exploring the Search Results
The search results region of the panel displays a list of manufacturer parts that wholly or partly match the search criteria. Click on a part to select it and display a link giving access to up-to-date supply chain information about that part.
- If the manufacturer provides an image of the part, it will be displayed. Next to the image is the Manufacturer Part Number (MPN), which is also link to detailed information about the part on the Octopart website (indicated by the number 1 in the image above).
- The vertical colored bar indicates the manufacturer's Lifecycle status; for example, Volume Production, EOL, etc. Hover the cursor over the bar for more information. Note that the manufacturer's Lifecycle status is not an indication of availability; that is displayed in the individual supplier tiles (as described below). For example, a manufacturer might have a part flagged as End of Life, but suppliers might still have large amounts of stock.
► Learn more about Interpreting the Manufacturer Lifecycle State.
- The icon indicates that there are models available for this part. Click the button at the top right of the panel to display detailed part information, including the models.
- Click anywhere on a row to select that part. The row will highlight and a second link will appear indicating the number of suppliers who can deliver that part (number 2 in the image above). Click the link to display detailed supply chain information about the suppliers that carry that part, ordered by availability and price.
- Each Supplier's details about that part are presented on a tile with a colored banner. These tiles are also referred to as SPNs (Supplier Part Numbers). Details about the icons and information in each tile are given below.
- Click the panel's button to configure: the currency used, if invalid SPNs should be excluded (display only suppliers that show suitable stock levels and up-to-date data), or configure the available suppliers.
Understanding the Supplier Tile
There is a large amount of information presented in each SPN tile. Hover the cursor over an icon or detail to display a tooltip with more information.
The SPN tile includes detailed information about the part and its availability.
- Tile banner showing the Supplier name, where the banner color indicates:
- Green = Best choice
- Orange = Acceptable
- Red = Risky
- Supplier part number (links to that part on the Octopart website).
- Country code for the Supplier location (ISO alpha 2).
- Source of the part information (typically the Altium Parts Provider). Color indicates:
- Light Gray = Default, updated less than one week ago
- Orange = 1 week < last update < month ago
- Red = last update > 1 month ago
- Stock quantity: red if no stock available.
- Unit price: red if no price available. Unit price is shown in currency configured in the panel settings ().
- Packaging of supplied parts; hover for details.
- Available price breaks with Minimum Order Quantities.
Working with your own Components
At some point, you will need to create your own components and store them locally. There are essentially two types of components that can be created:
- Managed components - components are created and stored in a Managed Content Server.
► Learn more about managed components
- Unmanaged components - components are created and stored in Altium-format library files. These are referred to as file-based libraries or file libraries.
► Learn more about file-based components and libraries
Both managed and unmanaged components are browsed, searched for and placed in the Components panel. Like the Manufacturer Part Search panel, the Components panel supports string-based searching, faceted searching, or a combination of both. Use the button to display the Components panel.
The Components panel being used to browse components stored in a managed content server; hover to show the panel being used to browse file-based components.
In this tutorial, all of the components will be placed from the Manufacturer Part Search panel. The information in this section is included to give you a basic overview of how to work with unmanaged components.
Storing Unmanaged File-based Components
The following file-based component storage options can be used with Altium Designer:
Library Type |
Function |
Schematic Library |
Schematic component symbols are created in schematic libraries (*.SchLib) , which are stored locally. Each symbol can become a component by adding links to a PCB footprint, then adding component parameters to detail the component's specifications. |
PCB Library |
PCB footprints (models) are stored in PCB libraries (*.PcbLib) , which are stored locally. The footprint includes the electrical elements, such as the pads, as well as the mechanical elements, such as the component overlay, dimensions, glue dots, and so on. It can also include a 3D definition, created by placing 3D Body objects, or by importing a STEP model. |
Library Package / Integrated Library |
As well as working directly from the schematic and PCB libraries, you can also compile the component elements into an integrated library (*.IntLib , stored locally). Doing this results in a single, portable library that holds all the models and symbols. An integrated library is compiled from a Library package (*.LibPkg ), which is essentially a special-purpose project file, with the source schematic (*.SchLib) and PCB libraries (*.PcbLib) added to it as source documents. As part of the compilation process, you can also check for potential problems, such as missing models and mismatches between schematic pins and PCB pads. |
Altium database library |
An intermediate database library file (DbLib) presents an external ODBC data-source as an Altium component library (each record specifies a component). The Altium models (symbol, footprint, etc.,) are stored in file-libraries and referenced in each database record. T he DbLib database fields are mapped to component parameters. These are retrieved and added to the component during placement from the DbLib. |
Libraries Available for Placing Unmanaged Components
Dialog page: Available File-based Libraries
In Altium Designer, library-based components can only be placed from available libraries. The term available libraries includes:
- Libraries in the current project - if a library is part of the project, then the components in it are automatically available for placement within that project.
- Installed libraries - these are libraries that have been installed in Altium Designer, their components are available for use in any open project.
- Libraries on a defined search path - it is also possible to define a search path to a folder that holds multiple libraries. Because all files in the search path are searched every time a new component is chosen in a panel, this approach is only recommended for small libraries that hold simple model definitions, such as simulation models. Search paths are not recommended for complex models, such as footprints that include 3D models.
Installing a File Library
Libraries are installed in the Installed tab of the Available File-based Libraries dialog. To open the dialog, click the button at the top of the Components panel and select File-based Libraries Preferences from the menu.
Install the required libraries to make their components available for designs.
Advanced Searching in File-Libraries
To help find a component in both installed and not currently installed libraries, Altium Designer includes a library searching feature.
Searching is performed in the File-based Libraries Search dialog, which is accessed by clicking the button on the Components panel, and selecting File-based Libraries Search from the menu. The upper half of the dialog is used to define what you are searching for, the lower half is used to define where to search.
Search across installed libraries (Available libraries), or libraries on the hard drive (Libraries on path).
- The Scope of the search is libraries that are:
- already installed (Available libraries), or
- in libraries located in on the hard drive (Libraries on Path). The Path is set to point to the folder holding the file libraries, for example the supplied libraries are stored in
C:\Users\Public\Documents\Altium\Altium Designer <Version>\Library
.
- Click the Search button to begin the search. The results are displayed in the Components panel as the search takes place.
- You can only place components from file-libraries that are installed in the software if you attempt to place from a library that is not currently installed you will be asked to Confirm the installation of that library when you attempt to place the component.
Library searching is actually performed using queries. In the File-based Libraries Search dialog, switch to the Advanced mode to examine the query. Hover the cursor over the image above to show the search dialog in Advanced mode.
Placing from the Manufacturer Part Search Panel onto the Schematic
If a component that you have found in the Manufacturer Part Search panel has Altium design models, it will display the icon. If a component has models, the schematic symbol and footprint models will be listed in the Details region of the panel (click the button in the panel to display this region). This component can be placed directly from the panel onto the current schematic sheet.
Use the faceted search features in the Manufacturer Part Search panel to only display components with models.
The Filters region of the panel includes a Has Model filter. Enable this to only display design-ready parts. Click to display the available filters.
To place a component from the panel, you can:
- Select Place from the Download button - the cursor automatically moves to be within the bounds of the schematic sheet and the component appears floating on the cursor; position it and click to place. After placing a component, another instance of the same component will appear on the cursor; right-click to drop out of placement mode.
- Right-click on the component and select Place from the context menu. The component appears floating on the cursor; position it and click to place. Note that if the panel is floating over the workspace, it will fade to allow you to see the schematic and place the component. After placing a component, another instance of the same component will appear on the cursor; right-click to drop out of placement mode.
- Click and drag - click and drag the component from the grid region of the panel onto this sheet. This mode requires that the cursor is held down; the component is placed when the cursor is released. Using this technique only one component is placed. After placing the component, you are free to select another component or another command.
Placement Tips
While the component is floating on the cursor, you can:
- Press Spacebar to rotate it counterclockwise in 90 degree increments.
- Press X to flip it along the X-axis; press Y to flip it along the Y-axis.
- Press Tab to display the Properties panel and edit the properties of an object prior to placement. The values entered become the defaults. If the designator has the same prefix, it will be auto-incremented.
- During component placement, the software will automatically pan if you touch the window edge. Autopanning is configured in the Schematic - Graphical Editing page of the Preferences dialog. If you accidentally pan beyond where you want, while the component is floating on the cursor you can:
- Ctrl+Wheel Roll to zoom out and in again, or
- right-click and drag to slide the schematic around, or
- Ctrl+PgDn to display the entire sheet again.
- If the Manufacturer Part Search panel is floating over the schematic sheet when you place a part, it will automatically become transparent whenever the cursor+component gets close to it. The transparency of floating panels is configured in the System - Transparency page of the Preferences dialog. Alternatively, all floating panels can be hidden/displayed at any time (while running a command or not) by pressing the F4 shortcut.
►? Learn more about Schematic Placement and Editing Techniques
Working with the Properties panel during Placement
During object placement, if you press Tab the editing process will pause and the interactive Properties panel will open. The default behavior is for the most commonly edited field to be highlighted, ready for editing. Because the editing process is paused, you can use the cursor (or press Tab on the keyboard) to move to another field in the panel.
When you have finished editing, click the Pause button ( ) as shown in the image below to return to object placement. Alternatively, press Enter to finish object editing and return to object placement.
Editing is paused when you press Tab during placement - click the Pause icon on the screen to return to placing the component.
Placing the Multivibrator Parts
Now, it is time to use the Manufacturer Part Search panel to find the components needed for the Multivibrator circuit as listed in the following table.
Designator |
Description |
Comments |
Q1, Q2 |
General purpose NPN transistor, eg BC547 or 2N3904 |
Search for: transistor BC547 , chose BC547CG |
R1, R2 |
100K resistor, 5%, 0805 |
Search for: resistor 100K 5% 0805 |
R3, R4 |
1K resistor, 5%, 0805 |
Search for: resistor 1K 5% 0805 |
C1, C2 |
22nF capacitor, 5%, 16V, 0603 |
Search for: capacitor 22nF 16V 0603 |
P1 |
2-pin header, thruhole |
Use the faceted search feature to filter for a: Connector, 2-pin, vertical, male, header |
Once you have placed the components, the schematic should look like the image below.
You can proceed to find and place the components. Note that the collapsible sections below include tips on editing during placement, which is more efficient than editing after placement. If you choose to leave the editing until after the components are placed, click to select the component and edit it in the Properties panel.
All the components have been placed, ready for wiring.
- Select View » Fit Document (shortcut: V, D) to ensure your schematic sheet takes up the full editing window.
- Using the search techniques just described, use the Manufacturer Part Search panel to search for:
transistor BC547
.
- Display the information section of the panel so that you can explore the properties and models of the selected component. You will be choosing a component that includes a symbol and footprint.
- To explore the availability of a component, select it in the panel then click the SPN link that appears.
- Click to select the required transistor in the results grid in the panel then click the Download drop-down (as shown below) and select Place. The cursor will change to a crosshair and you will have an image of the transistor floating on your cursor. You are now in part placement mode. If you move the cursor around, the transistor will move with it.
Do not place the transistor yet!
- Before placing the part on the schematic, you can 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 Properties panel. The default behavior is to automatically highlight the most-used field in the panel, ready for editing; in this case, it will be the Designator. Note that each section of the panel can be individually expanded or collapsed, which means your panel might look different.
Set the Designator to Q1, and the Comment to be visible.
- In the Properties section of the panel, type in the Designator
Q1
.
- Confirm that the visibility control for the Comment field is set to visible ( ).
- Leave all other fields at their default values then click the Pause button ( ) to return to part placement.
- Move the cursor, with the transistor symbol attached, to position the transistor a little to the left of the middle of the sheet. Note the current snap grid, which is displayed on the left of the Status bar at the bottom of the application. It defaults to 100mil; you can press the G shortcut to cycle through the available grid settings during object placement. It is strongly advised to keep the snap grid at 100mil or 50mil to keep the circuit neat and make it easy to attach wires to pins. For a simple design such as this, 100mil is a good choice.
- Once you are happy with the transistor's location, left-mouse click or press Enter on the keyboard to place the transistor onto the schematic. The location can be changed later if required.
- Move the cursor and you will find that a copy of the transistor has been placed on the schematic sheet, and you are still in part placement mode with the transistor outline floating on the cursor. This feature allows you to place multiple parts of the same type.
- You are ready to place the second transistor. This transistor is the same as the previous one so there is no need to edit its attributes before you place it. The software will automatically increment the component designator when you place multiple instances of the same part. In this case, the next transistor will automatically be designated Q2.
- If you refer to the schematic diagram shown above, you will notice that Q2 is drawn as a mirror of Q1. To horizontally flip the orientation of the transistor floating on the cursor, press the X key on the keyboard. This flips the component along the X axis.
- Move the cursor to position the part to the right of Q1. To position the component more accurately, press the PgUp key twice to zoom in two steps. You should now be able to see the grid lines.
- Once you have positioned the part, left-mouse 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 both of the transistors have been placed, exit part placement mode by clicking the right mouse button or pressing the Esc key. The cursor will revert back to a standard arrow.
- Return to the Manufacturer Part Search panel and search for:
capacitor 22nF 16V 0603
. The search will return a number of potential capacitors; the components that have models will be listed first.
- Select a capacitor in the search result grid (that has models), right-click on it then select Place from the context menu.
- While the capacitor is floating on the cursor, press the Tab key to open the Properties panel.
- In the Properties section of the panel, type in the Designator
C1
.
- Confirm that the visibility control for the Comment field is set to visible.
- Expand the Footprint section of the Properties panel. Many of the resistors and capacitors have three footprint models: IPC Low Density (
M
), IPC Medium Density (N
), and IPC High Density (L
). If you compare the footprint names, they will be identical except for the letter indicating density. Select the M
variety as shown in the image below.
- Leave the other fields at their default values and click the Pause button ( ) to return to part placement; the capacitor will be floating on the cursor.
- Press the Spacebar to rotate the component in 90° increments until it has the correct orientation.
- Position the capacitor above the transistors (refer to the schematic diagram shown earlier) and click the left mouse button or press Enter to place the part.
- Position and place capacitor C2.
- Right-click or press Esc to exit placement mode.
- The default parameters for the capacitor may be only the manufacturer name and part number, but any of the parameters shown in the Manufacturer Part Search panel can be added to the placed capacitors. To check the current parameters, double-click on one of the capacitors to open the Properties panel then click on the Parameters tab at the top of the panel.
- If the list of Parameters does not include the capacitance and voltage, return to the Manufacturer Part Search panel, confirm that the same capacitor is still selected, then click the Show More link to show the complete list of available parameters. Using the Windows Ctrl+click selection technique, select the following parameters (if available):
Capacitance
, Case/Package
, Tolerance
, and Voltage Rating
.
- Right-click on any of the selected parameters and select Add Parameters to Part from the context menu.
- The cursor will change to a crosshair; left-click once on each capacitor in turn to add the selected parameters. If you find it difficult to position the cursor over the center of the capacitor symbol, hold the Ctrl key down to temporarily inhibit the snap grid.
- Confirm that the parameters have been added to both C1 and C2.
- In the Manufacturer Part Search panel, search for:
resistor 100K 5% 0805
. The search will return a number of potential resistors; the components that have models will be listed first.
- Select a suitable 100K resistor in the search result grid (that has models), and display the footprint in the Models section of the panel.
- Many of the resistors and capacitors have three footprint models: IPC Low Density (
M
), IPC Medium Density (N
), and IPC High Density (L
). If you compare the footprint names, they will be identical except for the letter indicating density. Select the M
variety as shown in the image below. This selection can be done before the component is placed on the schematic during schematic placement or after schematic placement.
- Right-click on the resistor in the search results grid and select Place from the context menu, as shown below.
- While the resistor is floating on the cursor, press the Tab key to open the Properties panel.
- In the Properties section of the panel, type in the Designator
R1
.
- Leave all other fields at their default values and click the Pause button ( ) to return to part placement; the resistor will be floating on the cursor.
- Press the Spacebar to rotate the component in 90° increments until it has the correct orientation.
- Position the resistor above and to the left of the base of Q1 (refer to the schematic diagram shown previously) and click the Left Mouse Button or press Enter to place the part.
- Next, place the other 100k resistor, R2, above and to the right of the base of Q2. The designator will automatically increment when you place the second resistor.
- Exit part placement mode by clicking the Right Mouse Button or pressing the Esc key. The cursor will revert back to a standard arrow.
- The default parameters for the resistor may be only the manufacturer name and part number, but any of the parameters shown in the Manufacturer Part Search panel can be added to the placed resistors. To check the current parameters, double-click on one of the 100K resistors to open the Properties panel, then click on the Parameters tab at the top of the panel.
- If the list of Parameters does not include the resistance, return to the Manufacturer Part Search panel. Confirm that the same resistor is still selected, then click the Show More link to show the complete list of available parameters. Using the Windows Ctrl+click selection technique, select the following parameters (if available):
Case/Package
, Resistance
, and Tolerance
.
- Right-click on any of the selected parameters and select Add Parameters to Part from the context menu.
- The cursor will change to a crosshair; left-click once on each resistor in turn to add the selected parameters.
- Confirm that the parameters have been added to both R1 and R2. The visibility of the Resistance parameter will be changed shortly.
- The remaining two resistors, R3 and R4, have a value of 1K; search for:
resistor 1K 5% 0805
in the Manufacturer Part Search panel. The search will return a number of potential resistors; the components that have models will be listed first.
- Select a suitable 1K resistor in the search result grid (that has models), and display the footprint in the Models section of the panel.
- Many of the resistors and capacitors have three footprint models: IPC Low Density (
M
), IPC Medium Density (N
), and IPC High Density (L
). If you compare the footprint names, they will be identical except for the letter indicating density; select the M
variety.
- Right-click on the resistor in the search results grid and select Place from the context menu.
- While the resistor is floating on the cursor, press the Tab key to open the Properties panel.
- In the Properties section of the panel, type in the Designator
R3
.
- Leave all other fields at their default values and click the Pause button ( ) to return to part placement; the resistor will be floating on the cursor.
- Press the Spacebar to rotate the component in 90° increments until it has the correct orientation.
- Position and place R3 directly above the Collector of Q1, then place R4 directly above the Collector or Q2, as shown in the image above.
- Right-click or press Ecs to exit part placement mode.
- Using the same process as described for R1 and R2; add the
Case/Package
, Resistance
, and Tolerance
parameters to R3 and R4.
- The last step is to configure the visibility of the Parameters. This can be done for all four resistors at the same time. To select all of the resistors, drag the selection rectangle from right to left to select touching (demonstrated in the animation below).
- On the General tab of the Properties panel, disable the visibility of the Comment parameter (demonstrated in the animation below).
- On the Parameters tab of the Properties panel, enable the visibility of the Resistance parameter (demonstrated in the animation below).
- Re-position the Resistance string to a suitable location. When a string is being moved, the snap grid can be temporarily disabled by holding down the Ctrl key. Alternatively, rotating any schematic component(s) (Ctrl+Spacebar) automatically sets all visible strings to their default locations (demonstrated in the animation below).
Editing in the Properties Panel
One of the powerful features of the Properties panel is that ii supports editing multiple selected objects at the same time.
- If all objects share a property, that property will be available for editing.
- If all objects share the same property value, that value will be displayed.
- If objects share the same property but have different values, it will display an asterisk (*).
- The value entered or option chosen is applied to all selected objects.
Use the Properties panel to edit the properties of multiple selected objects. The selected components are rotated to force their strings to the default locations.
You have now placed all the components. Note that the components shown in the image above are spaced so that there is plenty of room to wire to each component pin. This is important because you cannot place a wire across the bottom of a pin to get to a pin beyond it. If you do, both pins will connect to the wire. If you need to move a component, click-and-hold on the body of the component then drag the mouse to reposition it.
Component Positioning Tips
- To reposition any object, place the cursor directly over the object, click-and-hold the left mouse button, drag the object to a new position then release the mouse button. Movement is constrained to the current snap grid, which is displayed on the Status bar. Press the G shortcut at any time to cycle through the current snap grid settings. Remember that it is important to position components on a coarse grid, such as 50 or 100mil.
- Once a component has been placed on the schematic, the software will attempt to maintain connectivity (keep the wires attached) if the component is moved. This connective-aware movement is referred to as dragging. To move the component without maintaining connectivity, hold Ctrl as you click and drag the component. To switch the default behavior from dragging to moving, disable the Always Drag option in the Schematic - Graphical Editing page of the Preferences dialog.
- Because the schematic editor defaults to always dragging, Spacebar cannot be used to rotate a placed component. To rotate a placed component, press Ctrl+Spacebar.
- You can also re-position a group of selected schematic objects using the arrow keys on the keyboard. Select the objects then press an arrow key while holding down the Ctrl key. Hold Shift as well to move objects by 10 times the current snap grid.
- The grid can also be temporarily set to 1 while moving an object with the mouse; hold Ctrl to do this. Use this feature when positioning text.
- The grids you cycle through when you press the G shortcut are defined in the Schematic - Grids page of the Preferences dialog (Tools » Preferences). The Units controls on the Schematic - General page of the Preferences dialog are used to select the measurement units; select either Mils or Millimeters. Note that Altium Designer components are designed using an imperial grid; if you change to a metric grid, the component pins will no longer fall onto a standard grid. Because of this, it is recommended to use Mils for Units unless you plan on only using your own components.
Wiring up the Circuit
Wiring is the process of creating connectivity between the various components of your circuit. To wire up your schematic, refer to the sketch of the circuit and the animation shown below.
Use the Wiring tool to wire up your circuit. Toward the end of the animation, you can see how wires can be dragged.
The Active Bar
The tools most commonly used in each editor are available on the Active Bar, which is displayed at the top of the editing window.
The buttons on the Active Bar are either single-function or multi-function. Multi-function buttons are indicated by a small triangle. Click and hold anywhere on the button for one second. A menu will appear listing other available commands. The last-used command will become the default for that button location.
- To make sure you have a good view of the schematic sheet, press the PgUp key to zoom in or PgDn 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. There are also a number of useful View commands in the right-click View submenu, such as Fit All Objects (Ctrl+PgDn).
- First, wire the lower pin of resistor R1 to the base of transistor Q1 in the following manner. Click the button on the Active Bar (Place » Wire, or Ctrl+W shortcut) 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 blue connection marker (blue cross) will appear at the cursor location. This indicates that the cursor is over a valid electrical connection point on the component.
- Left-click 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.
- Position the cursor over the base of Q1 until you see the cursor change to a blue connection marker. If the wire is forming a corner in the wrong direction, press Spacebar to toggle the corner direction.
- 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 crosshair 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.
- Next, wire from the lower pin of R3 to the collector of Q1. Position the cursor over the lower pin of R3 and click or press Enter to start a new wire. Move the cursor vertically until it is over the collector of Q1 then 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.
- Wire up the rest of your circuit, as shown in the animation above.
- When you have finished placing all the wires, right-click or press Esc to exit placement mode. The cursor will revert to an arrow.
Wiring Tips
- Use the Ctrl+W shortcut to launch the Place » Wire command.
- Left-click or press Enter to anchor the wire at the cursor position.
- Press Backspace to remove the last anchor point.
- Press Spacebar to toggle the direction of the corner. You can observe this in the animation shown above toward the end when the connector is being wired.
- Press Shift+Spacebar to cycle through the wiring corner modes. Available modes include: 90, 45, Any Angle and Autowire (place orthogonal wire segments between the click points).
- Right-click or press Esc to exit wire placement mode.
- Click and hold to drag the component together with any connected wires; Ctrl + click and hold to move a placed component. .
- Whenever a wire crosses the connection point of a component, or is terminated on another wire, a junction will automatically be created.
- A wire that crosses the end of a pin will connect to that pin even if you delete the junction. Check that your wired circuit looks like the figure shown before proceeding.
- Wiring cross-overs can be displayed as a small arch if preferred. Enable the option in the Schematic - General page of the Preferences dialog.
Nets and Net Labels
Each set of component pins that you have connected to each other now form what is referred to as a net. For example, one net includes the base of Q1, one pin of R1 and one pin of C1. Each net is automatically assigned a system-generated name, which is based on one of the component pins in that net.
To make it easy to identify important nets in the design, you can add Net Labels to assign names. For the multivibrator circuit, you will label the 12V
and GND
nets in the circuit, as shown below.
Net Labels have been added to the 12V and GND nets, completing the schematic.
Net Labels, Ports and Power Ports
- As well as giving a net a name, Net Labels are also used to create connectivity between two separate points on the same schematic sheet.
- Ports are used to create connectivity between two separate points on different sheets. Offsheet connectors can also be used to do this.
- Power Ports are used to create connectivity between points on all sheets; for this single sheet design, Net Labels or Power Ports could have been used.
Congratulations! You have just completed your first schematic capture. Before you turn the schematic into a circuit board, you need to configure the project options and check the design for errors.
Setting Up Project Options
Project-specific settings are configured in the Project Options dialog shown below (Project » Project Options). The project options include the error checking parameters, a connectivity matrix, Class Generator, the Comparator setup, ECO generation, output paths and connectivity options, Multi-Channel naming formats, Default Print setups, Search Paths, and project-level Parameters.
Project outputs, such as assembly, fabrication outputs and reports can be set up from the File and Reports menus. These settings are also stored in the Project file so they are always available for this project. An alternate approach is to use an OutputJob file to configure the outputs, with the advantage that an OutputJob can be copied from one project to the next. See More About Outputs to learn more configuring the outputs.
Dynamic Compilation
The Unified Data Model (UDM) is available from the moment a project is opened and should not require additional compilation, which saves time with increased speed of compilation and persistent listings of nets and components in the Navigator panel. The design connectivity model is incrementally updated after each user operation. This means that project compilation is no longer necessary to see the contents of the Navigator panel, run the Bill of Materials (BOM), or perform an Electronic Rules Check (ECO). Manual compilation is not needed for:
- Navigator and Projects panels
- ActiveBOM
- Cross-probing
- Net color highlighting
- Pin swapping
- Component cross reference
Checking the Electrical Properties of Your Schematic
Schematic diagrams are more than just simple drawings - they contain electrical connectivity information about the circuit. You can use this connectivity awareness to verify your design. When you compile a project (Project » Validate PCB Project), the software checks for logical, electrical, and drafting errors between the UDM and compiler settings. Any violations that are detected will display in the Messages panel.
Setting up the Error Reporting
Dialog page: Error Reporting
The Error Reporting tab in the Project Options dialog is used to set up a large range of drafting and component configuration checks. The Report Mode settings show the level of severity of a violation. If you want to change a setting, click on a Report Mode next to the violation you want to change and choose the level of severity from the drop-down list.
Configure the Error Reporting tab to detect for design errors when the project is compiled.
- Select Project » Project Options to open the Options for PCB Project dialog.
- Scroll through the list of error checks and note that they are clustered in groups; each group can be collapsed if required.
- Click on the Report Mode setting for any error check and note the options available.
Setting Up the Connection Matrix
Dialog page: Connection Matrix
As the design is coming along, a list of the pins in each net is built into memory. The type of each pin is detected (e.g., input, output, passive, etc.,), 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 Project Options dialog is where you configure what pin types are allowed to connect to each other. For example, look at the entries on the right side of the matrix diagram and find Output Pin. Read across this row of the matrix until 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, i.e. from No Report to a Fatal Error. Click on a colored square to change the setting; continue to click to move to the next check-level. Set the matrix so that Unconnected - Passive Pin generates an Error, as shown in the image below.
The Connection Matrix tab defines what electrical conditions are checked for on the schematic; note that the Unconnected - Passive Pin setting is being changed.
- To change one of the settings, click the colored box; it will cycle through the four 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 (handy if you have been toggling settings and cannot remember their default state).
- Your circuit contains only passive pins. Let's change the default settings so that the connection matrix detects unconnected passive pins. Look down the row labels to find the Passive Pin row. 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 orange (as shown in the image above) so that an error will be generated for unconnected passive pins when the project is compiled. You will purposely create an instance of this error later in the tutorial.
Configuring the Class Generation
Dialog page: Class Generation
The Class Generation tab in the Project Options dialog is used to configure what type of classes are generated from the design (the Comparator and ECO Generation tabs are then used to control if classes are transferred to the PCB). By default, the software will generate Component classes and Rooms for each schematic sheet, and Net Classes for each bus in the design. For a simple, single-sheet design such as this, there is no need to generate a component class or a room. Ensure that the Component Classes checkbox is cleared; doing this will also disable the creation of a room for that component class.
Note that this tab of the dialog also includes options for User-Defined Classes.
The Class Generation tab is used to configure what classes and rooms are automatically created for the design.
- Clear the Component Classes checkbox as shown in the image above. This will automatically disable the creation of a placement room for that schematic sheet.
- There are no buses in the design so there is no need to clear the Generate Net Classes for Buses checkbox located near the top of the dialog.
- There are no user-defined Net Classes in the design (done through the placement of Net Class directives on the wires) so there is no need to clear the Generate Net Classes checkbox in the User-Defined Classes region of the dialog.
Setting Up the Comparator
Dialog page: Comparator
The Comparator tab in the Project Options dialog sets which differences between files will be reported or ignored when a project is compiled. Generally, the only time you will need to change settings in this tab is when you add extra detail to the PCB, such as design rules, and do not want those settings removed during design synchronization. If you need more detailed control, you can selectively control the comparator using the individual comparison settings.
For this tutorial, it is sufficient to confirm that the Ignore Rules Defined in PCB Only option is enabled as shown in the image below.
The Comparator tab is used to configure exactly what differences the comparison engine will check for.
- For this tutorial, it is sufficient to confirm that the Ignore Rules Defined in PCB Only option is enabled as shown in the image above.
You are now ready to validate the project and check for any errors.
Compiling the Project to Check for Errors
Main article: Compiling and Verifying the Design
Compiling a project checks for drafting and electrical rules errors in the design documents, and details all warnings and errors in the Messages panel. You have set up the rules in the Error Checking and Connection Matrix tabs of the Project Options dialog, so you are now ready to check the design.
To compile the project and check for errors, select Project » Validate PCB Project Multivibrator.PrjPcb from the main menus.
Use the Messages panel to locate and resolve design warnings and errors; double-click on a warning/error to cross probe to that object.
- To compile the Multivibrator project, select Project » Validate PCB Project Multivibrator.PrjPcb from the main menus.
- When the project is compiled, all warnings and errors are displayed in the Messages panel. The panel will only appear automatically if there are errors detected (not when there are only warnings). To open it manually, click the button at the bottom right and select Messages from the menu.
- If your circuit is drawn correctly, the Messages panel should not contain any errors, only the message Compile successful, no errors found. If there are errors, work through each one, checking your circuit and ensuring that all wiring and connections are correct.
You will now deliberately introduce an error into the circuit and re-compile 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 selected color will display as a dotted line along the wire to indicate that it is selected. Press the Delete key on the keyboard to delete the wire.
- Recompile the project (Project » Validate PCB Project Multivibrator.PrjPcb) to check for errors. The Messages panel will display error messages indicating you have unconnected pins in your circuit.
- The Messages panel is divided horizontally into two regions as shown in the image above. The upper region lists all messages, which can be saved, copied, cross probed to, or cleared via the right-click menu. The lower region details the warning/error currently selected in the upper region of the panel.
- When you double-click on an error or warning in either region of the Messages panel, the schematic view will pan and zoom to the object in error.
- When you hover the cursor over the object in error (not the wiggly line), a message describing the error condition will appear.
Before you finish this section of the tutorial, let's fix the error in our schematic.
- Make the schematic sheet the active document.
- Undo the delete action (Ctrl+Z) to restore the deleted wire.
- To check that there are no longer any errors, re-compile the project (Project » Validate PCB Project Multivibrator.PrjPcb); the Messages panel should show no errors.
- Save the schematic and the project file, as well.
When you double-click on an error in the Messages panel:
- The schematic zooms to present the object in error. The Zoom Precision is set by the upper slider in the Highlight Methods section of the System - Navigation page of the Preferences dialog.
- The entire schematic fades except for the object in error. The amount that the schematic fades is controlled by the Dimming level, set by the lower slider in the Highlight Methods section of the System - Navigation page of the Preferences dialog. Click anywhere on the schematic to clear the dimming.
- To clear all messages from the Messages panel, right-click in the panel and select Clear All.
Schematic capture is now complete. It's time to create the PCB!
Creating a New PCB
Before you transfer the design from the Schematic Editor to the PCB Editor, you need to create the blank PCB, then name and save it as part of the project.
The blank PCB has been added to the project and saved, and the project has been saved.
- A new PCB can be added to the project via the Projects panel right-click menu. Select the Add New to Project » PCB command.
Add a new PCB to your project.
- The PCB will appear as a Source Document in the Project as shown in the larger image above. Right-click on the PCB icon in the Projects panel to select the Save As command and name it
Multivibrator
. Note that you do not need to enter the file extension in the Save As dialog; this is automatically appended.
- Adding the PCB has changed the project, so also save the project (right-click on the project filename in the Projects panel and select Save).
Configuring the Board Shape and Location
Main article: The Board
There are a number of attributes of this blank board that need to be changed before transferring the design from the schematic editor, including:
Task |
Process |
Set the origin |
The PCB editor has two origins: the Absolute Origin, which is the lower left of the workspace, and the user-definable Relative Origin, which is used to determine the current workspace location - the coordinates shown on the Status bar are relative to this origin. A common approach is to set the Relative Origin to the lower-left corner of the board shape. Select the Edit » Origin » Set command to set the Relative Origin; use the Reset command to reset it back to the Absolute Origin. |
Set the units to Imperial or Metric |
The current workspace X / Y location and Grid are displayed on the Status bar, which is displayed along the bottom of the editor. For this tutorial, metric units will be used. To change the units, either press Q on the keyboard to toggle back and forth between Imperial and Metric units, or select the View » Toggle Units command from the menus. |
Select a suitable snap grid |
You may have noticed that the current snap grid is 0.127mm, which is the default 5mil imperial snap grid converted to metric. To change the snap grid at any time, press G to display the Snap Grid menu, from where you can select an imperial or metric value. Note the shortcuts shown in the menu; use Ctrl+Shift+G to open the Snap Grid dialog, which is handy when you want to type in a specific value. The other useful shortcut is Ctrl+G, which opens the Cartesian Grid editor, in which you can change the grid from dots to lines, and change the grid color. Grids are discussed in more detail later in the tutorial. |
Re-define the board shape |
The board shape is shown by the black region with a grid in it. The default size for a new board is 6x4 inches; the tutorial board is 30mm x 30mm. Details for the process of defining a new shape for the board are available below. |
Configure the layers |
As well as the copper, or electrical layers on which you route, there are also general-purpose mechanical layers and special-purpose layers, such as the component overlays (silkscreens), solder mask, paste mask, and so on. The electrical and other layers will be configured shortly. |
- Press Ctrl+PageDown at any time to zoom to show the entire board.
- Zoom in/out using:
- PageUp / PageDown
- Ctrl+WheelRoll
- Ctrl+Right-Click&Hold+MouseDrag
- There are two origins used in the software, the Absolute Origin, which is the lower left of the workspace, and the user-definable Relative Origin, which is used to determine the current workspace location. Before setting the origin, keep zooming in to the lower left of the current board shape until you can easily see the grid. To do this, position the cursor over the lower-left corner of the board shape and press PgUp until both the Coarse and Fine grids are visible as shown in the images below.
- To set the Relative Origin, select Edit » Origin » Set then position the cursor over the bottom left corner of the board shape, then left click to locate it.
Select the command, position the cursor over the lower-left corner of the board shape (left image), then click to define the origin (right image).
- The next step is to select a suitable snap grid, as discussed in the table above. During the course of design, it is quite common to change grids, for example, you might use a coarse grid during component placement, and a finer grid for routing. For this tutorial, you will be using a Metric grid. A coarse 5mm grid will be suitable for component placement. Press Ctrl+Shift+G to open the Snap Grid dialog and enter
5mm
, then click OK to close the dialog.
- By entering the units as you entered a value you have also instructed the software to switch to a Metric grid, you can check this on the Status bar.
- The default board shape is 6x4 inch; for this tutorial, the board size is 30mm x 30mm.
- To zoom back out and show all of the board, select View » Fit Board from the main menus (Ctrl+PgDn).
- The board will exactly fill the PCB editor. To manipulate the size you need to be able to see the edges of the board, use Ctrl+WheelRoll to zoom out a bit more or press PgDn.
- The next step is to change the board shape. This is done in Board Planning view Mode. Select View » Board Planning Mode from the main menus to change it (shortcut: 1). The display will change; the board area will now be shown in green.
- Your choice now is to either redefine the board shape (draw it again), or edit the existing board shape. For a simple square or rectangle, it is more efficient to edit the existing board shape. To do this, select Design » Edit Board Shape from the menus. Note that you must be in Board Planning Mode for this command to be available.
For this design, it is more efficient to edit the existing board shape. These commands are only available in Board Planning Mode.
- Editing handles will appear at each corner and the center of each edge as shown below.
Note that clicking anywhere other than on an editing handle or an edge of the shape will drop you out of board shape editing mode.
- The objective is to resize the shape to create a 30mm by 30mm board. The Coarse visible grid is 25mm (5x the snap grid), and the Fine visible grid is 5mm; these can be used as a guide. You can now either: slide the upper edge down and slide the right edge to the left to create the correct size; or move three of the corners in, leaving the one that is at the origin in its current location.
- To slide the upper edge down, position the cursor over the edge (but not over a handle). When the cursor changes to a double-headed arrow, click and hold, then drag the edge to the new location so that the Y cursor location is
30mm
on the Status bar, as shown in the animation below.
- Repeat the process to move the right-hand edge in, positioning it when the X cursor location is
30mm
on the Status bar.
Use the current location information at the bottom left of the Status bar to guide you as you reshape the board.
The resize cursor is shown, use the location information on the Status bar to help you as you drag the upper and right edges to resize the board to 30mm x 30mm.
- Click anywhere in the workspace to drop out of board shape editing mode.
- Press the 2 shortcut to switch back to 2D Layout Mode.
- Now that the shape has been defined, you can set the grid to a value suitable for component placement, for example,
1mm
. Grids are discussed in detail shortly.
- Save the board.
► Learn more about Defining the Board Shape
The board size has been defined, and the units, origin and grid have been set. The required layers will be configured shortly.
A good approach to defining the shape of a non-rectangular board is to place a series of tracks (and arcs for curved boards) on the keepout layer. As well as being useful as a placement and routing keep-away barrier, these tracks and arcs can be selected (Edit » Select » All on Layer) and used to create the board shape using the Design » Board Shape » Define from Selected Objects command.
► Learn more about Defining the Board Shape
Configuring the Defaults
When you place an object in the PCB editor workspace, the software will define the shape and properties of the object based on:
- An applicable design rule - if there is a rule defined that applies to that object, the properties object are defined from the rule. For example, during a layer change when you are interactively routing, a via is automatically added with its size and hole size properties taken from the applicable Routing Via Style design rule.
- Default settings - if an applicable design rule does not exist or does not apply, the properties of the object are defined from the default settings configured in the PCB Editor - Defaults page of the Preferences dialog. For example, if you run the Place » Via command, the software does not know if that via will be part of a net, so it will present a via at the size defined in the defaults.
- To configure the default settings for the designator and comment strings, select Tools » Preferences to open the Preferences dialog, then open the PCB Editor - Defaults page.
- Select Designator in the Primitive List; the default Properties will be displayed. Confirm that the:
- Autoposition option is set to
Left-Above
for the Designator. This is the default location in which this string is held when the component is rotated. The string can be interactively relocated at any time during the design process.
- Font Type is set to TrueType, and the Font is set to
Arial
. Stroke fonts are Gerber-friendly shapes that the software can generate. TrueType gives access to all fonts available on the PC, but the font must be embedded in the PCB file if the board is to be opened on a PC that does not have that font installed (PCB Editor - True Type Fonts Preferences page).
- Text Height is set to 1.5mm for this tutorial.
- Select Comment in the Primitive List and confirm that the:
- Autoposition option is set to
Left-Below
.
- Font Type is set to TrueType and the Font is set to
Arial
.
- Text Height is set to 1.5mm for this tutorial.
- Comment visibility is set to hidden ( ). This is a common default; component Comment strings can be selectively displayed during the design process, if required.
- Click OK to close the dialog.
Transferring the Design
Main article: Working Between the Schematic and the Board
The design is transferred directly between the schematic editor and the PCB editor; there is no intermediate netlist file created. From the schematic editor, select Design » Update PCB Document Multivibrator.PcbDoc, or from the PCB editor, select Design » Import Changes from Multivibrator.PrjPcb.
When you run either of these commands, a set of Engineering Change Orders is created, which:
- List all components used in the design and the footprint required for each. When the ECOs are executed, the software will attempt to locate each footprint and place each into the PCB workspace. If the footprint is not available, an error will occur. Where the software can look for each footprint depends on: how the component was created (managed or unmanaged); and for an unmanaged component, if the PCB footprint library is currently available. All of the components have been placed from the Manufacturer Part Search panel, so the software can reference back and retrieve each footprint.
- A list of all nets (connected component pins) is created. When the ECOs are executed, the software will add each net to the PCB then attempt to add the pins that belong to each net. If a pin cannot be added, an error will occur; this most often happens when the footprint was not found or the pads on the footprint do not map to the pins on the symbol.
- Additional design data is then transferred, such as net and component classes.
Once the ECOs have been executed, the components are placed outside the board shape and the nets are created. Note that the default Designator (and Comment) fonts have been changed.
Before transferring the schematic information to the new blank PCB, it is essential that all the related libraries for both schematic symbols and PCB footprints are available. Since all components have been placed from the Manufacturer Part Search panel (which sources symbols and footprints from a managed content server), the footprints required for the tutorial are already available.
- Make the schematic document, Multivibrator.SchDoc, the active document.
- Select Design » Update PCB Document Multivibrator.PcbDoc from the Schematic editor menus to open the Engineering Change Order dialog.
An ECO is created for each change that needs to be made to the PCB so that it matches the schematic.
- Click on Validate Changes. If all changes are validated, a green check 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.
- If all changes are validated, click on Execute Changes to send the changes to the PCB editor. As each change is performed, a check will appear in the Done column of the dialog.
- When all changes have been completed, the PCB will open behind the Engineering Change Order dialog; click to Close the dialog.
- The components will have been positioned outside of the board, ready for placing on the board. There are a few steps to complete before starting the component placement process, such as configuring the placement grid, the layers and the design rules.
You can create a report of the ECOs by clicking the Report Changes button.
Configuring the Display of Layers
Once all of the ECOs have been executed, the components and nets will appear in the PCB workspace to the right of the board outline, as shown in the image above. Before you start positioning the components on the board, you need to configure certain PCB workspace and board settings, such as the layers, the grid, and the design rules.
Your view of your board is a bird's-eye view - looking down the Z-axis into the board from above. The PCB editor is a layered design environment; the objects you place on signal layers become copper when the board is fabricated, the strings you place on the Overlay layers are silkscreened onto the board surface, and the notes you place onto mechanical layers become instructions on the assembly drawing that you print.
You design the board looking down into this stack of layers, placing components on the top and bottom sides of the board (Top Layer / Bottom Layer), and other design objects on the copper, overlay, mask, and mechanical layers as you build up the design.
You design the board looking down into a stack of layers, hover the cursor over the image to shown the same board in 3D, stretched in the Z-axis.
As well as the layers used to fabricate the board, which include: signal, power plane, mask, and silkscreen layers, the PCB Editor also supports numerous other non-electrical layers. The layers are often grouped in the following way:
- Electrical Layers - includes the 32 signal layers and 16 internal power plane layers.
- Component Layers - layers used in the design of the components including Overlay (silkscreen), Solder, and Paste layers. If an object is placed in a component footprint on one of these layers in the library editor, when the component is flipped from the top side to the bottom side of the board, all objects detected on a Component layer are flipped to their partner Component layer. This includes objects on user-defined Component Layer Pairs (paired mechanical layers).
- Mechanical Layers - the software supports unlimited general purpose mechanical layers, which are used for design tasks such as dimensions, fabrication details, assembly instructions, and so on. These layers can be selectively included in print and Gerber output generation, if required. Mechanical layers can also be paired; when they are paired, they behave as Component Layers. Paired Component Layers are used for tasks such 3D body placement, glue dots and selective gold plating on edge connectors.
- Other Layers - these include the Keep-Out layer (used to define keepouts that apply on all copper layers), the multi-layer (used for objects present on all signal layers, such as pads and vias), the Drill Drawing layer (used to place drilling information, such as a drill table), and the Drill Guide layer (used to display markers that indicate drill locations and sizes).
The copper layers are added and removed from the design in the Layer Stack, which is discussed shortly. All other layers are enabled and configured in the View Configuration panel.
Displaying Layers - View Configuration
Panel page: View Configuration
The display attributes of all layers are configured in the View Configuration panel. To open the panel:
- Click the button at the bottom right of the application then select View Configuration from the menu, or
- Select the View » Panels » View Configuration menu entry, or
- Press the L shortcut, or
- Click the current layer color icon at the bottom-left of the workspace.
The two tabs of the View Configuration panel
As well as the layer display state and color settings, the View Configuration panel also gives access to other display settings including:
- Color and visibility of System Colors, such as the Selection color, or if Connection Lines are visible.
- How each type of object is displayed (solid or draft), and its transparency (Object Visibility section).
- Various view options, such as if the Origin Marker, Pad Net names and Pad Numbers are to be displayed (Additional Options section).
- The amount the display is faded when objects are Dimmed or Masked (Mask and Dim Settings section).
- The creation of Layer Sets, which provide a quick way of switching which layers are currently visible, using the control (Layers section).
- The creation and selection of View Configurations, which are used to pre-configure all of the layer properties, such as color, visibility, object transparency, and so on (General Settings section).
Layer Tips
- The currently enabled layers are shown as a series of tabs across the bottom of the PCB workspace. Right-click on a tab to access frequently-used layer display commands.
- In a busy design, it can help to only display the layer currently being worked on; this is referred to as single layer mode. To toggle the display in/out of single layer mode, press the Shift+S shortcut. The Available Single Layer Modes are configured in the PCB Editor - Board Insight Display page of the Preferences dialog. Each press of Shift+S will cycle to the next enabled single layer mode.
- To switch the active layer:
- Click the layer tab at the bottom of the workspace, or
- Press the + or - numeric keys to cycle through all layers, or
- Press the * numeric key to cycle through signal layers, or
- Use the Ctrl+Shift+WheelRoll shortcuts.
- Open the View Configuration panel.
- In the Layers and Colors tab, confirm that the Top Layer and Bottom Layer signal layers are visible.
- Note that this panel is where you control the display of the mask and silkscreen layers, as well as the system layers, such as DRC and grids.
- To have less visual "clutter" during placement and routing, disable the display of the Mechanical Layers, Solder and Paste Mask Layers, and the Drill Guide and Drill Drawing layers.
- Switch to the View Options tab.
- Confirm that the Pad Nets and Pad Numbers options are enabled.
Physical Layers and the Layer Stack Manager
Main page: Defining the Layer Stack
The definition of the PCB layer stack is a critical element of successful printed circuit board design. No longer just a series of simple copper connections that transfer electrical energy, the routing of many modern PCBs is designed as a series of circuit elements, or transmission lines.
There are also numerous other design considerations that come into play when designing a modern, high-speed PCB, including: layer-pairing, careful via design, possible back drilling requirements, rigid/flex requirements, copper balancing, layer stack symmetry, and material compliance.
These layer stack requirements are configured in the Layer Stack Manager, select Design » Layer Stack Manager to open it.
- The Layer Stack Manager opens in a document view, in the same way as a schematic sheet, the PCB, and other document types.
- The Layer Stack Manager (LSM) can be left open while the board is being worked on, allowing you to switch back and forth between the board and the LSM. All of the standard View behaviors, such as splitting the screen or opening on a separate monitor, are supported.
- A Save must be performed in the Layer Stack Manager before changes are reflected in the PCB.
The Layer Stack Manager is used to:
- Add, remove and order the signal, plane and dielectric layers.
- Select the Material properties from the Materials Library, or configure them manually.
- Add additional user-defined fields to the Layer Stack.
- Configure the allowed Via Types, defining which layers each Via Type spans.
- Configure the Impedance profiles, when controlled impedance routing is being used.
- Configure advanced features; including rigid-flex design, printed electronics and back drilling.
This tutorial PCB is a simple design and can be routed as a single-sided board, or a double-sided board with thru-hole vias. In the image below, the Material for each layer has been selected.
The properties of the physical layers are defined in the Layer Stack Manager. To configure the allowed via types, click the Via Types tab at the bottom of the Layer Stack Manager.
- Open the Layer Stack Manager. For a new board, the default stack comprises: a dielectric core, two copper layers, and the top and bottom soldermask (coverlay) and overlay (silkscreen) layers, as shown in the image above.
- To simplify the management of layers, enable the Stack Symmetry option in the Properties panel (as shown in the image above). With this option enabled, layers are added in matching pairs, centered around the mid-dielectric layer.
- New layers are added (above or below the current layer) via the right-click menu or the Edit » Add Layer submenu.
- To explore the entire Material Library, select Tools » Material Library.
- To use a material for a specific layer (or pair of layers if symmetry is enabled), click the in the Material cell for the required layer to open the Select Material dialog (shown in image above).
- Using the image above as a guide, select a suitable material for the: Solder Mask, Signal and Core layers. Note that the Core layer has been chosen to define a suitable thickness for the finished board. Values can also be typed directly into the Layer Stack Manager.
- Click on the Via Types tab at the bottom of the Layer Stack Manager and confirm that there is a Thru type via defined.
- When you have finished exploring the layer stack options, Save the Stackup, then right-click on the Layer Stack Manager tab and close the Stackup.
The Layer Stack Manager supports Undo / Redo; use Ctrl+Z to undo the previous changes and Ctrl+Y to redo.
Configuring the Grid
The next step is to select a grid that is suitable for placing and routing the components. All the objects placed in the PCB workspace are placed on the current snap grid.
Imperial or Metric Grid?
Traditionally, the grid was selected to suit the component pin pitch and the routing technology that you planned to use for the board, i.e. how wide do the tracks need to be, and what clearance is needed between tracks. The basic idea is to have both the tracks and clearances as wide as possible to lower the fabrication costs and improve the reliability. Of course the selection of track/clearance is ultimately driven by what can be achieved on each design, which comes down to how tightly the components and routing must be packed to get the board placed and routed.
Over time, components and their pins have dramatically shrunk in size, as has the spacing of their pins. The component dimensions and the spacing of their pins has moved from being predominantly imperial with thru-hole pins to more-often being metric dimensions with surface mount pins. If you are starting a new board design, unless there is a strong reason, such as designing a replacement board to fit into an existing (imperial) product, you are better off working in metric. Why? Because the older, imperial components have big pins with lots of room between them. On the other hand, the small, surface mount devices are built using metric measurements - they are the ones that need a high level of accuracy to ensure that the fabricated/assembled/functional product works and is reliable. Also, the PCB editor can easily handle routing to off-grid pins, so working with imperial components on a metric board is not onerous.
Suitable Grid Settings
For a design such as this simple tutorial circuit, practical grid and design rule settings should be:
Setting |
Value |
Where |
Routing width |
0.25 mm |
Routing Width design rule |
Clearance |
0.25 mm |
Electrical Clearance design rule |
Board definition grid |
5 mm |
Cartesian Grid Editor |
Component placement grid |
1 mm |
Cartesian Grid Editor |
Routing grid |
0.25 mm |
Cartesian Grid Editor |
Via size |
1 mm |
Routing Via Style design rule |
Via hole |
0.6 mm |
Routing Via Style design rule |
While it might be tempting to select a very fine routing grid so that routing can effectively be placed anywhere, this is not a good approach. Why? Because the point of setting the grid to be equal to or a fraction of the track+clearance is to ensure that the tracks are placed so that they do not waste potential routing space, which can happen if a very fine grid is used.
- Select View » Toggle Units (or press the Q shortcut key) to toggle the workspace units between metric and imperial.
- When a dialog or panel is active, press Ctrl+Q to toggle the units of all measurements in that dialog or panel.
- Regardless of the current setting for the units, you can include the units when entering a value in a dialog or panel to force that value to be used.
Setting the Snap Grid
Related pages: Grid Manager, Cartesian Grid Editor, Polar Grid Editor
The value of the snap grid you need for this tutorial can be configured by pressing:
- G to display the Snap Grid menu, where you can select an imperial or metric value (note the shortcuts shown in the menu).
- Ctrl+Shift+G to open the Snap Grid dialog, where you can type in a new grid value.
- Ctrl+G to open the Cartesian Grid Editor dialog, where you can enter the grid value, as well as configure how the grid is displayed (shown below).
- Editing the grid in the Grid Manager section of the Properties panel.
Set the Snap Grid to 1 mm, ready to position the components.
- Press the Ctrl+G shortcut keys to open the Cartesian Grid Editor dialog.
- Type the value
1mm
into the Step X field. Because the X and Y fields are linked, there is no need to define the Step Y value.
- To make the grid visible at lower zoom levels, set the Multiplier to
5x Grid Step
; to make it easier to distinguish between the two grids, set the Fine grid to display as lighter-colored Dots
and the Coarse grid to display as darker colored lines
.
- Click OK to close the dialog.
Setting Up the Design Rules
Main article: PCB Design Rules Reference
The PCB Editor is a rules-driven environment, meaning that as you perform actions that change the design, such as placing tracks, moving components, or autorouting the board, the software monitors each action and checks to see if the design still complies with the design rules. If it does not, then the error is immediately highlighted as a violation. Setting up the design rules before you start working on the board allows you to remain focused on the task of designing, confident in the knowledge that any design errors will immediately be flagged for your attention.
Design rules are configured in the PCB Rules and Constraints Editor dialog, as shown below (Design » Rules). The rules are divided into ten categories, which can then be further divided into design rule types.
All PCB design requirements are configured as rules/constraints, in the PCB Rules and Constraints Editor.
Routing Width Design Rules
Design rule reference: Width
The width of the routing is controlled by the applicable routing width design rule, which the software automatically selects when you run the Interactive Routing command and click on a net.
When you are configuring the rules, the basic approach is to set the lowest priority rule to target the largest number of nets, and then add higher-priority rules to target nets with special width requirements, such as power nets. There is no issue if a net is targeted by multiple rules; the software always looks for and only applies the highest priority rule.
For example, the tutorial design includes a number of signal nets and two power nets. The default routing width rule can be configured at 0.25mm
for the signal nets. This rule will target all nets in the design by setting the rule scope to All
. Even though a scope of All
also targets the Power nets, these can be specifically targeted by adding a second, higher-priority rule, with a scope of InNet('12V') or InNet('GND')
. The image below shows the summary of these two rules, the detail is shown in the images in the following two collapsible sections.
Two Routing Width design rules have been defined, the lowest priority rule targets All nets, the higher priority rule targets objects in the 12V net or the GND net.
- Routing Width and Routing Via Style design rules include Min, Max and Preferred settings. Use these if you prefer to have some flexibility during routing, for example, when you need to neck a route down or use a smaller via in a tight area of the board. This can be done on-the-fly as you route by pressing 3 to cycle through the routing widths, or 4 to cycle through the via sizes. There are also other techniques for editing the routing width and via size as you route; these are discussed more in the routing section.
- Avoid using the Min and Max settings to define a single rule to suit all sizes required in the entire design. Doing this means you forgo the ability to get the software to monitor that each design object is appropriately sized for its task.
- With the PCB as the active document, open the PCB Rules and Constraints Editor.
- 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 the existing Width rule to select it. When you click on the rule, the right hand side of the dialog displays the settings for that rule including: the rule's Where the First Object Matches in the top section (also referred to as the rule's scope - what you want this rule to target) with the rule's Constraints below that.
- Since this rule is to target the majority of nets in the design (the signal nets), confirm that the Where the First Object Matches setting is set to
All
. An additional rule will be added to target the power nets.
- Edit the Width settings to be: Min Width =
0.2mm
, Preferred Width = 0.25mm
, Max Width = 0.25mm
. Note that the settings are reflected in the individual layers shown at the bottom of the dialog. You can also configure the requirements on a per-layer basis.
- The rule is now defined. Click Apply to save it and keep the dialog open.
The default Routing Width design rule has been configured.
- The next step is to add another design rule to specify the routing width for the power nets. To add and configure this rule, open the PCB Rules and Constraints Editor.
- With the existing Width rule selected in the Design Rules tree on the left of the dialog, right-click and select New Rule to add a new Width constraint rule, as shown in the animation below.
- A new rule named Width_1 appears. Click on the new rule in the Design Rules tree to configure its properties.
- Click in the Name field on the right and enter the name
Width_Power
in the field.
- Click in the dropdown in the Where The Object Matches section and select
Custom Query
from the list. The dialog will change to include an edit box where the custom query is entered.
- Click the Query Builder button to open the Query Builder, then configure it to target objects:
InNet('12V') or InNet('GND')
.
- Click the Add first condition text, select
Belongs to Net
, then set the Condition Value to 12V
.
- Click the Add another condition text, select
Belongs to Net
, then set the Condition Value to GND
.
- The AND operator will have appeared between the two condition statements, click on it select
OR
from the dropdown.
- Click the OK button to accept the query and return to the rules dialog.
- The last step is to set the Constraints for the rule. Edit the Min Width / Preferred Width / Max Width values
0.25
/ 0.5
/ 0.5
to allow power net routing widths in the range 0.25mm to 0.5mm, as shown below.
This Width rule targets the power nets.
- Click Apply to save the rules and keep the dialog open.
When there are multiple rules of the same type, the PCB editor uses the rule Priority to ensure the highest priority applicable rule is applied.
If you are adding rules:
- When a new rule is added it is given the highest priority, and
- When a rule is duplicated the copy is given the priority below the source rule.
Click the Priorities button at the bottom of the dialog to change the priorities.
Defining the Electrical Clearance Constraint
Design rule reference: Clearance Constraint
The next step is to define how close electrical objects that belong to different nets can be to each other.
This requirement is handled by the Electrical Clearance Constraint. For the tutorial, a clearance of 0.25mm
between all objects is suitable.
Note that entering a value into the Minimum Clearance field will automatically apply that value to all of the fields in the grid region at the bottom of the dialog. You only need to edit in the grid region when you need to define a clearance based on the object-type.
The electrical clearance constraint is defined between objects. Switch the Constraints to Advanced to display all object kinds.
Note that the Electrical Clearance Constraint has two object selection fields: Where the First Object Matches and Where the Second Object Matches. That is because this is a binary rule; it is a rule that applies between two objects.
- Expand the Electrical category in the tree of Design Rules then expand the Clearance rule-type.
- Click to select the existing Clearance constraint. Note that this rule has two Full Query fields; that is because it is a Binary rule. The rules engine checks each object targeted by the setting Where the First Object Matches and checks it against the objects targeted by the Where the Second Object Matches setting to confirm that they satisfy the specified Constraints settings. For this design, this rule will be configured to define a single clearance between
All
objects.
- In the Constraints region of the dialog, set the Minimum Clearance to
0.25mm
, as shown in the image above.
- Click Apply to save the rule and keep the dialog open.
Defining the Routing Via Style
Design rule reference: Routing Via Style
As you route and change layers, a via is automatically added. In this situation, the via properties are defined by the applicable Routing Via Style design rule. If you place a via from the Place menu, its values are defined by the in-built default primitive settings. For the tutorial, you will configure the Routing Via Style design rule.
A single routing via is suitable for all nets in this design.
- Expand the Design Rules tree and select the default RoutingVias design rule.
- Since it is highly likely that the power nets can be routed on a single side of the board, it is not necessary to define a routing via style rule for signal nets and another routing via style rule for power nets. Edit the rule settings to the values suggested earlier in the tutorial, i.e. a Via Diameter =
1mm
and a Via Hole Size = 0.6mm
. Set all fields (Min, Max, Preferred) to the same size.
- Click OK to close the PCB Rules and Constraints Editor.
- Save the PCB file.
Existing Design Rule Violations
You might have noticed that the transistor pads are showing that there is a violation. Right-click over a violation and select the Violations in the right-click menu, as shown below. The details show that there is a:
- Clearance Constraint violation
- Between a Pad on the MultiLayer, and a Pad on the MultiLayer
- Where the clearance is 0.22mm, which is less than the specified 0.25mm
Right-click on a violation to examine what rule is being violated and the violation conditions. In this image, the display is in single layer mode, with the Top Layer as the active layer.
This violation will be discussed and resolved shortly. If you find the violation markers distracting, you can clear them by running the Tools » Reset Error Markers command. This command only clears the marker; it does not hide or remove the actual error. The error will be flagged again the next time you perform an edit action that runs the online DRC (such as moving the component), or when you run the batch DRC.
Review the Design Rules
The default new board created by the software will include rules that are not needed in every design, and many other design rules will need to be adjusted to suit the requirements of your design. For this reason, it is very important to review the design rules. This can be done in the PCB Rules and Constraints Editor. Select Design Rules at the top of the tree on the left, then scan down the Attributes column for all of the rules and quickly locate any that need their values adjusted.
The default board also uses imperial units. If your board uses metric, there will be many rule values, such as the Soldermask expansion, that will change from rounded values like 4mil, to 0.102mm, or the Minimum Solder Mask Sliver default will change from 10mil to 0.254mm. While that least significant digit, for example, 0.002mm, is insignificant when it comes to output generation, you can edit these settings in the design rules if it bothers you.
Reviewing the design rules, note the column order can be changed if required.
When you create a new board, it will include default design rules that might not be needed for your design. For example, Assembly and Fabrication Testpoint type design rules are included when you create a new board, which are not needed in this design.
- If it is not open, open the PCB Rules and Constraints Editor.
- Click on the Testpoint category, and disable the four Testpoint type rules (clear the checkboxes in the Enabled column). If this is not done, you will get testpoint violations later in the tutorial.
Design rules can also be exported and stored in a .RUL
file, then imported into future PCB designs. To do this, right-click in the tree on the left of the PCB Rules and Constraint Editor to open the Choose Design Rules dialog. Select the rules you want to export using the standard Windows selection techniques then click OK to export the selected rules.
Positioning the Components on the PCB
There is a saying that PCB design is 90% placement and 10% routing. While you could argue about the percentage of each, it is generally accepted that good component placement is critical for good board design. Keep in mind that you may need to also tune the placement as you route.
Component Positioning and Placement options
When you click and hold on a component to move it, if the Snap to Center option is on, then the component will be held by its reference point. The reference point is the 0,0 coordinate of the component as it was built in the library editor.
The Smart Component Snap option allows you to override this snap to center behavior and snap to the nearest component pad instead, which is handy when you need to position a specific pad in a specific location.
Enable Snap To Center to always hold the component by its reference point. Smart Component Snap is helpful when you need to align by a specific pad.
- Click the icon located at the upper right of the application to open the Preferences dialog.
- Open the PCB Editor - General page of the Preferences 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 will hold the component by its reference point.
- Note the Smart Component Snap option. If this is enabled, you can force the software to snap to a pad center instead of the reference point by clicking and holding closer to the required pad than the component's reference point. This is very handy if you require a specific pad to be on a specific grid point. It can work against you if you are working with small surface mount components though, as it can make it harder to "grab" them by their reference point.
Positioning Components
You can now position the components in suitable locations on the board.
To move a component either:
- Click-and-Hold the left mouse button on the component, move it to the required location, rotate it with the Spacebar, then release the mouse button to place it, or
- Run the Edit » Move » Component command, then single click to pick up a component, move it to the required location, rotate it if required, then click once to place it. When you are finished, right-click to drop out of the Move Component command.
The connection lines are automatically re-optimized as you move a component. Use them to help orient and position the components to reduce the number of connection line cross-overs.
Components positioned on the board.
- Zoom to display the board and the component. One way to do this is to zoom out (PgDn) so the board and the components are all visible then choose View » View Area, then click to define the top left and bottom right of the exact area you want to view.
- The components will be positioned on the current Snap grid. For a simple design such as this, there are no specific design requirements that dictate what placement grid should be used. As the designer, you decide what a suitable placement grid would be. To simplify the process of positioning the components, you can work with a coarse placement grid, for example, 1mm. Check the Status bar to confirm that the Snap Grid is set to
1mm
; press Ctrl+Shift+G to change the grid if required.
- The components in the tutorial can be placed as shown in the image above. To place connector
P1
, 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 crosshair and jump to the reference point for the part (or the center of the nearest pad if you have enabled the Smart Component Snap option). While continuing to hold down the mouse button, move the mouse to drag the component.
- Press the Spacebar to rotate the component if required, and position the footprint towards the left-hand side of the board as shown in the figure above.
- 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 components (in increments of 90º counterclockwise) 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.
- The PCB editor also includes interactive placement tools. These can be used 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 four of them. A shaded selection box will display around each of the selected components. The Selection color is defined in the System Colors section of the View Configuration panel.
- Right-click on any of the selected components and choose Align » Align to open the Align Objects dialog.
- Select Space Equally in the Horizontal section and Bottom in the Vertical section, then click OK to apply these changes. The four resistors are now aligned (with the lowest component) and equally spaced.
Select then align and space the resistors.
- Click elsewhere in the design window to de-select all the resistors. If required, you can also align the capacitors and transistors, although this might not be required since you have a coarse Snap grid at the moment.
- Save the PCB file.
- Selected objects can also be moved using the keyboard rather than the mouse. To do this, hold Ctrl, then each time you press an Arrow key, the selection will move 1 grid step in the direction of that arrow. Include the Shift key to move selected objects in 10x Snap Grid steps.
- As you move a component with the mouse, you can constrain it to an axis by holding the Alt key. The component will attempt to hold the same horizontal axis (if moving horizontally) or vertical axis (if moving vertically); move it further from the axis to override this behavior or release the Alt key.
With the components positioned, it's time to do some routing!
Interactively Routing the Board
Main article: Interactive Routing
Routing is the process of laying tracks and vias on the board to connect the component pins. The PCB editor makes this job easy by providing sophisticated interactive routing tools, as well as ActiveRoute, which optimally routes selected connections with the click of a button.
In this section of the tutorial, you will manually route the entire board single-sided, with all tracks on the top layer. The Interactive Routing tools help maximize routing efficiency and flexibility in an intuitive way, including cursor guidance for track placement, single-click routing of the connection, pushing obstacles, automatically following existing connections, all in accordance with applicable design rules.
Preparing for Interactive Routing
Preferences page: PCB Editor - Interactive Routing
Before starting to route, configure the Interactive Routing options in the PCB Editor - Interactive Routing page of the Preferences dialog.
Configure the interactive routing options.
- Set the Routing Conflict Resolution Current Mode to
Walkaround Obstacles
. As you are routing, you can cycle through the enabled modes by pressing Shift+R.
- In the Interactive Routing Options section of the page, confirm that the Automatically Terminate Routing and the Automatically Remove Loops options are enabled. The first option releases the cursor from the current route when you click on the destination pad to finish that route. The second option allows you to change existing routing by routing an alternate path - you route a new path until it meets the old path (creating a loop), then right-click to indicate it is complete. The software then automatically removes the old, redundant part of the routing. This feature will be explored later in the tutorial.
- Confirm that the Interactive Routing Width / Via Size Sources options are both set to Rule Preferred.
- Press Ctrl+Shift+G to open the Snap Grid dialog and set the Snap Grid to
0.25mm
.
Set the Snap Grid to a value that is suitable for routing. Press Ctrl+Shift+G to open the Snap Grid dialog and set the Snap Grid to 0.25mm
.
Time to Route
- Interactive routing is launched by clicking the Route button , or by selecting the routing command (Route » Interactive Routing (shortcut: Ctrl+W)).
- Since the components are mostly surface mount and the design is simple, the board can be routed on the top layer. As you place tracks on the top layer of the board, use the ratsnest (connection lines) to guide you.
- Tracks on a PCB are made from a series of straight segments. Each time there is a change of direction, a new track segment begins. Also, by default, the PCB editor constrains tracks to a vertical, horizontal or 45° orientation, allowing you to easily produce professional results. This behavior can be customized to suit your needs, but for this tutorial, you can use the defaults.
- When the routing reaches the target pad, the software will automatically release that connection and you will remain in Interactive Routing mode, ready to click on the next connection line.
A simple animation showing the board being routed. Many of the connections are finished using Ctrl+Click to autocomplete.
- 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 Configuration panel, and enable the Bottom Layer.
- Click on the Top layer tab at the bottom of the workspace to make it the current, or active layer, ready to route on.
- It is often easier to route in single layer mode; press Shift+S to cycle through the enabled single layer modes.
- Click on the Active Bar (or the Ctrl+W shortcut), or select Interactive Routing from the Route menu, or right-click and choose Interactive Routing from the context menu. The cursor will change to a crosshair, indicating you are in interactive routing mode.
- Position the cursor over the lower pad on connector P1. As you move the cursor close to the pad, it will automatically snap to the center of the pad. This is the Objects for snapping feature pulling the cursor to the enabled hotspot of the nearest electrical object (configure the Snap Distance and the Objects for snapping in the Snap Options section of the Properties panel). Sometimes the Objects for snapping feature pulls the cursor when you don't want it to. In this situation, press the Ctrl key to temporarily inhibit snapping. Alternatively, use the Shift+E shortcut to cycle the Hotspot Snap mode through the three possible states - Hotspot Snap (All Layers) / Hotspot Snap (only snaps on the current layer) / Off (nothing displayed). The current mode is displayed on the Status bar.
► Learn more about the PCB Grids System, including object snapping.
- Left-Click or press Enter to anchor the first point of the track.
- Move the cursor toward the bottom pad of the resistor R1, and click to place a vertical segment. Note how track segments are displayed in different ways (as shown in the image below). During routing, the segments are shown as:
- Solid - the segment has been placed.
- Hatched - hatched segments are proposed but uncommitted; they will be placed when you left-click.
- Hollow - this is referred to as the look-ahead segment, it allows you to work out where the last proposed segment should end. This segment is not placed when you click unless the next click will complete the route. In this situation, the Automatically Terminate Routing option kicks in and overrides the default look-ahead behavior. The look-ahead mode can be toggled on/off using the 1 shortcut during routing.
Solid segments are placed, hatched are proposed but not committed, hollow is the look-ahead segment. Press the 1 shortcut to toggle look-ahead on/off.
- Manually route by left-clicking to commit track segments, finishing on the lower pad of R1. Note how each mouse click places the hatched segment(s). For the connection that you are currently routing, press Backspace to rip up the last-placed segment.
- Rather than routing all the way to the target pad, you can also press Ctrl+Left Click to use the Auto-Complete function and instruct the software to attempt to route the entire connection. Auto-complete behaves in the following ways:
- It takes the shortest path, which may not the best path as you need to always consider paths for other connections yet to be routed. If you are in Push mode (shown on the Status bar when routing), Auto-complete can push existing routes to reach the target.
- On longer connections, 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.
- You can also Auto-complete (Ctrl+Left Click) directly on a pad or connection line.
- Continue to route all the connections on the board. The animation above shows the board being interactively routed.
In the animation above there is a route from the upper pad of R1
to the middle pin of Q1
, that passes between the pads of R3
. Your ability to route between the pads of the surface mount resistor pads will depend on the brand of surface mount resistor that you chose. For example, Yageo and Vishay Dale resistors are slightly larger and the pads of their footprint have sufficient space between them to route using the width and clearance configured in this design. On the other hand Panasonic resistors are slightly smaller, it will not be possible to route a track between the pads of their footprint. In this situation, you might need to route one connection on the bottom layer to complete the routing. To switch layers and place a via while routing, use the * key on the numeric keypad, or the Ctrl+Shift+Wheelroll shortcut combination.
- There is no single solution to routing a board, so it is inevitable that you will want to change the routing. The PCB editor includes features and tools to help with this; they are discussed in the following sections and are also demonstrated in the animation shown above.
- Save the design when you are finished routing.
Shortcut Icon |
Action |
|
Keyboard key combination, press Ctrl+W to start Interactive Routing. |
|
Key + mouse combination, press Ctrl+LeftClick to auto-complete the current connection. Only functions during Interactive Routing. |
|
Mouse left click and drag, use this to drag an existing route. It can be used when no other command is being run. |
Interactive Routing Modes
The PCB editor's Interactive Routing engine supports a number of different modes, with each mode helping you 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 and in the Heads-Up display.
- Ignore Obstacles - This mode lets you place tracks anywhere, including over existing objects, displaying but allowing potential violations.
- Stop at first Obstacle - In this mode, the routing is essentially manual, i.e. as soon as an obstacle is encountered, the track segment will be clipped to avoid a violation.
- Walkaround Obstacles - This mode will attempt to find a routing path around existing obstacles without attempting to move them.
- Hug & Push Obstacles - This mode is a combination of Walkaround and Push. It will hug as it performs a Walkaround of obstacles, however, it will also attempt to Push against fixed obstacles when there is insufficient clearance to continue using Walkaround.
- Push Obstacles - This mode will attempt to move objects (tracks and vias), which are capable of being repositioned without violation to accommodate the new routing.
- 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.
Interactive Routing modes that are not required can be disabled in the PCB Editor - Interactive Editing page of the Preferences dialog.
Routing Tips and Tricks
The PCB editor includes a range of features to help make the interactive routing process more efficient, including in-command shortcuts that you use during routing, detailed feedback via the Status bar and the Heads Up display, and the ability to display clearance boundaries as you route.
Routing Shortcuts
Useful shortcuts during routing:
Keystroke |
Behavior |
~ (tilde) or Shift+F1 |
Pop up a menu of interactive shortcuts - most settings can be changed on the fly by pressing the appropriate shortcut or selecting from the menu. |
* or Ctrl+Shift+WheelRoll |
Switch to the next available signal layer. A via is automatically added in accordance with the applicable Routing Via Style design rule. Learn more about changing layers and adding a via as you route. |
Tab |
Open the Interactive Routing mode of the Properties panel, where you can change the routing settings. |
Shift+R |
Cycle through the enabled routing conflict resolution modes. Configure your preferred modes in the PCB Editor - Interactive Routing preferences page. |
Shift+S |
Cycle through the available Single Layer Modes. This feature is ideal when there are many objects on multiple layers. Configure the available modes in the PCB Editor - Board Insight Display page. |
Spacebar |
Toggle the current corner direction. |
Shift+Spacebar |
Cycle through the various track corner modes. The styles are any angle, 45°, 45° with arc, 90°, and 90° with arc. There is an option to limit this to 45° and 90° on the PCB Editor - Interactive Routing preferences page. |
Ctrl+Shift+G |
Cycle through the three Gloss strength (Gloss Effort (Routed)) settings. The current setting is displayed in the Heads Up display and on the Status bar. |
Ctrl+Left-Click |
Auto-complete the connection being routed. Auto-complete will not succeed if there are unresolvable conflicts with obstacles. |
1 |
Toggle the Look-ahead mode on/off. |
3 |
Cycle through the routing width choices: Rule Minimum / Rule Preferred / Rule Maximum / User Choice. Learn more about changing the width as you route. |
4 |
Cycle through the routing via style choices: Rule Minimum / Rule Preferred / Rule Maximum / User Choice. Learn more about changing the via style as you route. |
6 |
Cycle through available Via Types. |
Shift + E |
Cycle through the three object Hotspot Snap modes: off / on for current layer / on for all layers. |
Ctrl |
Temporarily suspend object snapping feature while routing. |
End |
Redraw the screen. |
PgUp / PgDn |
Zoom in / out, centered around the current cursor position. Alternatively, use the standard Windows mouse wheel zoom and pan shortcuts. |
Backspace |
Remove the last-committed track segment. |
Right-click or Esc |
Drop the current connection and remain in Interactive Routing mode. |
Feedback During Interactive Routing
It is essential to know the name of the net or the current width setting as you route a net. This information, along with a wealth of other useful details, is available in the Heads-Up display and on the Status bar during routing. An excellent feature to help visualize the amount of space available for routing is the ability to display clearance boundaries around all other net-objects. The image below demonstrates this; as the 12V net is being routed, all other net objects display a clearance boundary defined by the applicable Electrical Clearance Constraint (which was defined earlier in the tutorial). It is not possible to cross this boundary during routing.
- Press Shift+H to toggle the Heads-Up display off and on. Configure the display content, color and fonts in the PCB Editor - Board Insight Modes page of the Preferences dialog.
- Press Ctrl+W to toggle the clearance boundaries off and on.
- Current workspace location and Snap Grid setting
- Object Hotspot Snapping: off / on for current layer / on for all layers
- Current track corner mode
- Current Interactive Routing Mode
- Source of routing Width
- Source of routing Via Style
- Name of Via Type that will be used
- Current Gloss strength
- Name of Net
- Overall route length
- Dimensions of routing segment being placed
Modifying and Rerouting Existing Routes
To modify an existing route, there are two approaches, either: reroute, or re-arrange.
Reroute an existing Route
- There is no need to un-route a connection to redefine its path. You can click the Route button and start routing the new path.
- The Loop Removal feature will automatically remove any redundant track segments (and vias) as soon as you close the loop and right-click to indicate you are finished (the Loop Removal feature was enabled earlier in the tutorial).
- You can start and end the new route path at any point, swapping layers as required.
- You can also create temporary violations by switching to Ignore Obstacle mode (as shown in the animation below), which you later resolve.
Simple animation showing the Loop Removal feature being used to modify existing routing.
Loop Removal is enabled on the PCB Editor - Interactive Routing page of the Preferences dialog. Note that there are situations where you may want to create loops, for example, power net routing. If necessary, Loop Removal can be disabled for an individual net by editing that net in the PCB panel. To access the option, set the panel to Nets mode, then double-click on the net name in the panel to open the Edit Net dialog.
During Loop Removal, you will find situations where you return to the existing routing but are not yet finished defining the new path. When the Automatically Terminate Routing option is enabled, as soon as the new route overlays the existing route, the routing process will terminate and the old, redundant routing will be removed. In this situation, it can be more efficient to disable the Automatically Terminate Routing option.
Rearrange Existing Routes
- To interactively slide or drag track segments across the board, click, hold and drag as shown in the animation below. The default dragging behavior is configured on the PCB - Interactive Routing page of the Preferences dialog as shown in the animation below.
- The PCB editor will automatically maintain the 45/90 degree angles with connected segments, shortening and lengthening them as required.
Simple animation showing track dragging being used to modify existing routing.
Interactive Sliding Tips
- Change the default select-then-drag mode using the Unselected via/track and Selected via/track options on the PCB Editor - Interactive Routing page of the Preferences dialog.
- During dragging, the routing conflict resolution modes also apply (Ignore, Push, HugNPush). Press Shift+R to cycle through the modes as you drag a track segment.
- Existing pads and vias will be jumped, or vias will be pushed if necessary and possible if Push mode is enabled.
- To convert a 90 degree corner to a 45 degree route, start dragging on the corner vertex.
- While dragging, you can move the cursor and hotspot snap it to an existing, non-moving object such as a pad (shown above). Use this to help align the new segment location with an existing object and avoid very small segments being added.
- To break a single segment, select the segment first, then position the cursor over the center vertex to add in new segments.
- Press Tab during sliding to access the Interactive Sliding mode of the Properties panel, where you can change any of the sliding settings.
An example of dragging multiple tracks by setting the routing conflict mode to Push.
ActiveRoute - Automated Interactive Routing
Main article: ActiveRoute
Another approach to routing the nets on your board is to use ActiveRoute, Altium's automated interactive router.
What does that mean? It means you select the connection or connections to route, choose the layer, and run ActiveRoute. ActiveRoute has efficient multi-net routing algorithms that are applied to the specific nets or connections that you have selected. ActiveRoute also allows you to interactively define a route path or Guide, which then defines the river along which the new routes will flow.
ActiveRoute has been developed for dense boards using high pin count components to help accelerate what can be a difficult and time-consuming routing process. The board in this tutorial is not the sort of board it was designed for, but it provides an opportunity to demonstrate and explore its use.
Working with ActiveRoute
- ActiveRoute is configured and run from the PCB ActiveRoute panel, as shown in the image below.
- ActiveRoute does not switch layers; it attempts to create single layer pad-pad and pad-via routes on the layers enabled in the PCB ActiveRoute panel. High pin-count components must be fanned out before attempting to ActiveRoute the nets.
- ActiveRoute attempts to route the selected pad/via/connection/net/nets. Use the following techniques to select connections and nets:
- Set the PCB panel to Nets mode, enable the Select checkbox at the top of the panel then click on a net name to select that net (not the checkbox next to the name, that is used to enable the Board Insight Color Override feature for that net). Use standard Windows shortcuts to multi-select.
- Interactively select connections in the workspace - Alt+Left Click-Drag, from right-to-left (hold Alt and drag a green selection window from right-to-left). Any connection line touched by the green selection window will be selected. Hold Shift to continue selecting additional connections.
- Left-Click to select an individual pad.
- Select multiple pads in a component - Ctrl+Left Click-Drag (hold Ctrl and click and drag a selection window to select multiple pads in a component). Drag left-to-right to select within; drag right-to-left to select touching.
- Enable the routing layer(s) in the PCB ActiveRoute panel.
The tutorial board, ready to be used to explore ActiveRoute.
- Open the PCB ActiveRoute panel ( » PCB ActiveRoute).
- Open the PCB panel.
- Select Nets mode in the drop-down at the top of the panel, and enable the Select checkbox.
- Unroute the board (Route » Unroute » All).
- In the list of nets in the panel, click on the
12V
net name.
- In the PCB ActiveRoute panel, enable the Top Layer.
- Click the ActiveRoute button at the top of the panel; the 12V net will be routed.
- Click on the
GND
net in the PCB panel, then click the ActiveRoute button. If you would like to use the Shift+A shortcut to ActiveRoute, you must click once on the workspace after using a panel. This makes the workspace the active element in the software, otherwise, the software will attempt to interpret the shortcut as a panel instruction.
- Click on the net
NetC1_2
in the panel, and click the ActiveRoute button.
- Click on the net
NetC2_1
in the panel, and click the ActiveRoute button.
- Click on the net
NetC2_2
in the panel, and click the ActiveRoute button.
- Click on the net
NetC1_1
in the panel, and click the ActiveRoute button. One of the connections in the net will route, the other will not. It does not route because the default pattern of connection lines is not correct for the possible routing solution, i.e. the connection line is between Q1-2
and C1-1
, but the potential route path is between Q1-2
and R1-2
. While it is possible to rearrange the connection lines by defining manual From-Tos, a simpler approach is to encourage ActiveRoute to attempt a different pattern by routing a stub from both Q1-2
and R1-2
, so that the shortest distance between the unrouted points on this net is between these two stubs ( show image ).
- Click on the net
NetC1_1
in the panel, and click the ActiveRoute button; this connection should now route.
The ActiveRoute results
Verifying Your Board Design
Main articles: PCB Design Rules Reference, Design Rule Checking
The PCB editor is a rules-driven design environment in which you can define many types of design rules that can be checked to ensure the integrity of your board. Typically you set up the design rules at the start of the design process. The on-line DRC feature monitors the enabled rules as you work and immediately highlights any detected design violations. Alternatively, you can also run a batch DRC to test that the design complies with the rules and generate a report that details the enabled rules and any detected violations.
Earlier in the tutorial, you examined the routing design rules, adding a new width constraint rule targeting the power nets, as well as an electrical clearance constraint and a routing via style rule. As well as these, there are a number of other design rules that are automatically defined when a new board is created.
Configuring the Display of Rule Violations
Preferences page: PCB Editor - DRC Violations Display
Before checking for rule violations, it is important to understand how violations are displayed.
Altium Designer has two techniques for displaying design rule violations, each with their own advantages. These are configured on the PCB Editor - DRC Violations Display page of the Preferences dialog:
- Violation Overlay - Violations are identified by the primitive-in-error highlighted in the color chosen for the DRC Error Markers (configured in the View Configuration panel; press L to open). The default behavior is to show the primitives in a solid color when zoomed out, changing to the selected Violation Overlay Style as you zoom in. The default is Style B - a circle with a cross in it.
- Violation Details - As you zoom further in, Violation Detail is added (if enabled), detailing the nature of the error. Violation Detail can include:
- Information at the site of the violation
- Where appropriate, an icon to indicate the type of violation, for example, thin lines that cross over, indicating a short circuit.
- A numerical value showing the rule setting that is failing, for example, <0.25mm.
Violations can be displayed as a colored overlay and also as a detailed message, with different symbols being used to show different detail of the error type.
Violations are shown in solid green (left image), as you zoom in this changes to the selected Violation Overlay Style (center image); as you zoom in further Violation Details are added.
- Select » View Configuration (shortcut: L) and confirm that the DRC Error visibility option (System Colors section) is enabled so that DRC error markers are displayed.
- Confirm that the Online DRC (Design Rule Checking) system is enabled on the PCB Editor - General page of the Preferences dialog. Keep the Preferences dialog open, and switch to the PCB Editor - DRC Violations Display page of the dialog.
- The PCB Editor - DRC Violations Display page of the Preferences dialog is used to configure how violations are displayed in the workspace. There are two different methods available for displaying violations, each with their own strengths.
- For the tutorial, right-click in the Display area of the PCB Editor - DRC Violations Display page of the Preferences dialog and select Show Violation Details - Used, then right-click again and select Show Violation Overlay - Used, as shown in the dialog image above.
- You are now ready to check the design for errors.
The rules that are needed will depend on the nature of your design; there is no specific set of rules that suits every design. Keep this in mind as you are checking rule violations. Ask yourself, do I need this rule to be enabled? If you are attempting to work out the function of a rule in the PCB Rules and Constraints Editor and are unsure, click anywhere in the constraints area of the rule and press F1 for more information about that specific rule.
Configuring the Rule Checker
Dialog page: Design Rule Checker
The design is checked for violations by running the Design Rule Checker. Run the Tools » Design Rule Check command to open the dialog. Both online and batch DRC are configured in this dialog.
DRC Report Options
- By default, the dialog opens showing the Report Options page selected in the tree on the left of the dialog (shown below).
- The right side of the dialog displays a list of general reporting options. For more information about the options, press F1 when the cursor is over the dialog. These options can be left at their defaults.
Rule checking, both online and batch, is configured in the Design Rule Checker dialog.
DRC Rules to Check
- The testing of specific rules is configured in the Rules to Check section of the dialog. Select this page in the tree on the left of the dialog to list all of the rule types (shown below). You can also examine them by type, for example, Electrical, by selecting that page on the left of the dialog.
- For most rule types, there are checkboxes for Online (check as you work) and Batch (check this rule when the Run Design Rule Check button is clicked).
- Click to enable/disable the rules as required. Alternatively, right-click to display the context menu. This menu allows you to quickly toggle the Online and Batch settings. Select the Batch DRC - Used On entry, as shown in the image below.
Checking is configured for each rule type. Use the right-click menu to enable the Used design rules.
Running a Design Rule Check (DRC)
Click the Run Design Rule Check button at the bottom of the dialog to perform a design rule check. When the button is clicked, the DRC will run, then:
- The Messages panel will open and list all detected errors.
- If the Create Report File option was enabled in the Report Options page of the dialog, a Design Rule Verification Report will open in a separate document tab. The report for the tutorial is shown below.
- The upper section of the report details the rules that are enabled for checking and the number of detected violations. Click on a rule to jump to and examine those errors.
- Below the summary of violating rules are specific details about each violation.
- The links in the report are live. Click on a specific error to jump back to the board and examine that error on the board. Note that the zoom level for this click action is configured on the System - Navigation page of the Preferences dialog. Experiment to find a zoom level that suits you.
Locating the Error Condition
When you are new to the software, a long list of violations can initially seem overwhelming. A good approach to managing this is to disable and enable rules in the Design Rule Check dialog at different stages of the design process. It is not advisable to disable the design rules themselves if there are violations, just the checking of them. For example, you would always disable the Un-Routed Net check until the board is fully routed.
- When a batch DRC is run on the tutorial board, there are:
- 1 Silk to Silk clearance errors - the distance between two adjacent sections of silkscreen is less than allowed by this rule.
- 8 Silk to Solder Mask clearance errors - the distance from the opening in the solder mask to the edge of a silkscreen object is less than allowed by this rule.
- 4 Minimum Solder Mask Sliver errors - the minimum width of a strip of solder mask is less than allowed by this rule. This typically occurs between component pads.
- 4 clearance constraint violations - the measured electrical clearance value between objects on signal layers is less than the minimum amount specified by this rule.
- To locate a violation:
- Using the Violation Details, you can establish the error condition.
- The image below shows the Violation Details for one of the clearance constraint errors, indicated by the white arrows and the
0.25mm
text, indicating that this gap is less than the minimum 0.25mm
allowed by the rule. The next step is to work out what the actual value is so you know how much it has failed. You can then decide how to resolve this error.
The Violation Details show that the clearance between these two pads is less than 0.25mm; it does not detail the actual clearance.
Understanding the Error Condition
So you've found an error. How do you know how much it has failed? As the designer, you need this essential information to be able to decide how best to resolve the error.
For example, if the rule says the allowable minimum solder mask sliver is 0.25 mm and the actual sliver is 0.24, then the situation is not that bad and you may be able to adjust the rule setting to accept this value. But if the actual sliver value is 0.02, then that is probably not a situation that can be resolved by adjusting the rule setting.
The PCB editor includes three handy measurement tools: Measure Distance, Measure Selected Objects and Measure Primitives, which are available in the Reports menu.
- Measure Distance - measure the distance between the two locations you click after running the command; keep an eye on the Status bar for instructions. The location that you can click is constrained by the current snap grid.
- Measure Selected Objects - measure the length of selected tracks and arcs. Use this to work out route lengths, select the required objects manually, or use the Select » Physical Connection or Select » Connected Copper commands.
- Measure Primitives - measure the edge-to-edge distance between the two primitives you click on after running the command; keep an eye on the Status bar for instructions.
- Measurement results are overlaid directly in the workspace. The colors that are used are configured in the System Colors section of the View Configuration panel. Overlaid dimensions are retained on screen to allow multiple measurements to be performed. Press Shift+C to clear the measurement results.
Measuring the distance between the edges of adjacent pads using the Measure Primitives command.
Apart from actually measuring the distance, there are a number of approaches to finding out how much a rule has failed by. You can use:
- The right-click Violations submenu, or
- The PCB Rules and Violations panel, or
- The detail included in the Messages panel; the actual value is detailed along with the specified value (for example, 0.175 < 0.254).
The right-click Violations submenu was described earlier in the Existing Design Rule Violation section.
- The image below shows how the Violations submenu details the measured condition against the value specified by the rule.
Right-click on a violation to examine what rule is being violated and the violation conditions.
The PCB Rules and Violations Panel
Panel page: PCB Rules and Violations
The PCB Rules and Violations panel is an excellent feature for locating and understanding error conditions.
- Click the button then select PCB Rules and Violations from the menu to display the panel. It will default to show
[All Rules]
in the Rule Classes list. Once you have identified a rule type of interest, select that specific rule class so that only those violations are shown at the bottom of the panel.
- Click once on a violation in the list to jump to that violation on the board; double-click on a violation to open the Violation Details dialog.
The panel details the violation type, the measured value, the rule setting, and the objects that are in violation.
Note that at the top of the PCB Rules And Violations panel there is a drop-down, which can be used to select Normal, Dim or Mask. Dim and Mask are display filter modes, where everything other than the object(s) of interest are faded, leaving only the chosen object(s) at normal display strength. The Dim mode applies the filter but still allows all workspace objects to be edited. The Mask mode filters out all other workspace objects, only allowing the unfiltered object(s) to be edited.
The amount that the display is faded is controlled by the Dimmed Objects and Masked Objects slider controls in the Mask and Dim Settings section of the View Options tab of the View Configuration panel. Experiment with these sliders when you have the Mask mode or Dim mode applied.
To clear the filter, you can either click the Clear button at the top of the PCB Rules And Violations panel or press the Shift+C shortcut. This filtering feature is very effective in a busy workspace and can also be used in the PCB panel and the PCB Filter panel.
Resolving the Violations
As the designer, you have to work out the most appropriate way of resolving each design rule violation. Let's start with the solder mask errors as they are related, and both error conditions may be affected by the changes you make to solder mask settings.
Solder Mask Errors
Design rule references: Minimum Solder Mask Sliver, Silk to Solder Mask Clearance
The solder mask is a thin, lacquer-like layer applied to the outer surface of the board, providing a protective and insulating covering for the copper. Openings are created in the mask for components and wires to be soldered to the copper. It is these openings that are displayed as objects on the solder mask layer in the PCB editor (note that the solder mask layer is defined in the negative - the objects you see become holes in the actual solder mask).
During fabrication, solder mask is applied using different techniques. The lowest cost approach is to silkscreen it onto the board surface through a mask. To allow for layer alignment issues, the mask openings are typically larger than the pads, reflected by the 4mil (~0.1mm) expansion value used in the default design rule.
There are other techniques for applying solder mask, which offer higher-quality layer registration and more accurate shape definition. If these techniques are used, the solder mask expansion can be smaller or even zero. Reducing the mask opening reduces the chance of having solder mask slivers or silk to solder mask clearance errors.
A solder mask sliver error shown on the left and a silk to solder mask clearance error on the right. The purple represents the solder mask expansion around each pad.
Errors such as these solder mask issues cannot be resolved without consideration of the fabrication technique that will be used to make the finished board.
For example, if this was a complex, multi-layer board for a high-value product, then it is likely that a high-quality solder mask technology would be employed, which would allow a small or zero solder mask expansion. However, a simple, double-sided board like the board in this tutorial is more likely to be fabricated as a low-cost product, requiring a low-cost solder mask technology to be used. That means resolving the solder mask sliver errors by reducing the solder mask expansion for the entire board is not an appropriate solution.
Like many aspects of PCB design, the solution lies in making thoughtful trade-offs in a focused way to minimize their impact.
Enable the display of the solder mask before attempting to check solder mask errors and resolve them. If it is not visible, press L to open the View Configuration panel where that layer can be enabled.
To resolve this violation you can:
- Increase the solder mask opening to completely remove the mask between the transistor pads, or
- Decrease the minimum acceptable sliver width, or
- Decrease the mask opening to widen the sliver to an acceptable width.
This is a design decision that would be made in light of your knowledge of the component and the fabrication and assembly technology that is going to be used. Opening the mask to completely remove the sliver of mask between the transistor pads means that there is more chance of creating solder bridges between those pads, whereas decreasing the mask opening will still 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, you will do a combination of the second and third options, decreasing the minimum sliver width to a value suitable for the settings being used on this board, and also decreasing the mask expansion, but only for the transistor pads.
- The first step is to reduce the allowable sliver width. To do this, open the PCB Rules and Constraints Editor, then in the Manufacturing section locate and select the existing Minimum Solder Mask Sliver rule, called MinimumSolderMaskSliver.
- A value equal to the pad separation of
0.22mm
( ˜ 8.7mil) will be acceptable for a design such as this; edit the Minimum Solder Mask Sliver value to be 0.22mm
in the Constraints region of the rule.
- The next step is to add a mask expansion rule for just the transistors that reduces the mask expansion to zero. Doing this will mean that the opening in the solder mask is the same size as the pad, making the width of solder mask sliver between the pads equal to the separation distance between the pads (
0.22mm
). Click on Mask in the tree on the left of the PCB Rules and Constraints Editor dialog to show the current Solder Mask Expansion rules; there should be one rule called SolderMaskExpansion.
- Click on it to select the rule and display its settings; it will specify an expansion value of
0.102mm
(4mil). Since it is only the transistor pads that are in violation, you will not edit this value; instead, you will create a new rule.
- To add a new Solder Mask Expansion rule, right-click on the existing rule and select New Rule from the context menu. A new rule called SolderMaskExpansion_1 will be created; click on it to display its settings.
- Edit the rule settings to be as shown below:
- Name -
SolderMaskExpansion_Transistor
- Where the Object Matches -
Footprint
ONSC-TO-92-3-29-11
(the name of the transistor footprint)
- Expansion top / bottom -
0mm
- Click Apply to accept the changes and keep the PCB Rules and Constraints Editor open.
The function of this rule is to ensure there is sufficient separation between the silkscreen objects and the copper. This requirement can fail if there is a silkscreen object close to an opening in the solder mask, for example, at a pad. The rule supports checking against the opening in the mask or checking against the copper exposed by that opening in the mask.
- For this violation, the actual measurement is close to the current rule setting, 0.175mm versus 0.25mm, as can be seen in the Messages or the PCB Rules And Violations panel. The value 0.175mm is still an acceptable separation; edit the constraint value, as shown in the image below.
Edit the clearance to be 0.175mm.
- Click OK to accept the changes and close the PCB Rules and Constraints Editor.
Clearance Violations
Design rule reference: Clearance Constraint
There are two ways of resolving this clearance constraint:
- Decrease the size of the transistor footprint pads to increase the clearance between the pads, or
- Configure the rules to allow a smaller clearance between the transistor footprint pads.
Since the 0.25mm clearance is quite generous and the actual clearance is quite close to this value (0.22mm), a good choice in this situation would be to configure the rules to allow a smaller clearance. This can be done in the existing Clearance Constraint design rule, as shown below.
- The TH Pad - to - TH Pad value is changed to
0.22mm
in the grid region of the rule constraint. To edit a cell, first select it then press F2.
- This solution is acceptable in this situation because the only other component with thruhole pads is the connector, which has pads spaced over 1mm apart. If this was not the case, the best solution would be to add a second clearance constraint targeting just the transistor pads, as was done for the solder mask expansion rules.
Edit the Clearance Constraint to allow a TH Pad to TH Pad clearance of 0.22mm.
Silk to Silk Clearance Violation
Design rule reference: Silk to Silk Clearance
The last error to resolve is the silk to silk clearance violations. These are usually caused by a designator being too close to the outline of an adjacent component. Your design may not have any of these violations - it depends on how close you placed the components, or if you have already repositioned the designators. Click and hold a designator to move it - all objects will dim apart from the objects in the component whose designator is being moved; move that designator to a new location.
Designator movement will be constrained by the current snap grid. If it is currently too coarse, press Ctrl+G and enter a new grid value.
Reposition any designator that is causing a silk to silk violation.
Always confirm that you have a clean Design Rule Verification Report before generating outputs.
Well done! You have completed the PCB layout and are ready to produce output documentation. Before doing that, let's explore the PCB editor's 3D capabilities.
Viewing Your Board in 3D
The PCB editor requires a graphics card that supports DirectX, refer to the
System Requirements page for more details.
A powerful feature of Altium Designer is the ability to view your board as a 3-dimensional object. To switch to 3D, run the View » 3D Layout Mode command or press the 3 shortcut. The board will display as a 3-dimensional object. The tutorial board is shown below.
You can fluidly zoom the view, rotate it, and even travel inside the board using the following controls:
- Zooming - Ctrl+Right-drag mouse, or Ctrl+Roll mouse-wheel, or the PgUp / PgDn keys.
- Panning - Right-drag mouse, or the standard Windows mouse-wheel controls.
- Rotation - Shift+Right-drag mouse. Note that when you press Shift a directional sphere appears at the current cursor position, as shown in the image below. Rotational movement of the model is made about the center of the sphere (position the cursor before pressing Shift to position the sphere) using the following controls. Move the mouse around to highlight the required control, then:
- Right-drag sphere when the Center Dot is highlighted - rotate in any direction.
- Right-drag sphere when the Horizontal Arrow is highlighted - rotate the view about the Y-axis.
- Right-drag sphere when the Vertical Arrow is highlighted - rotate the view about the X-axis.
- Right-drag sphere when the Circle Segment is highlighted - rotate the view about the Z-plane.
Hold Shift to display the 3D view directional sphere then click and drag the right mouse button to rotate.
Tips for Working in 3D
- Press L to open the View Configuration panel when the board is in 3D Layout Mode, where you can configure the 3D workspace display options (on the View Options tab in the General Settings and 3D Settings sections).
- The 3D display colors can use Realistic, or By Layer, which are the layer colors defined in the 2D Layout Mode. There are a number of 3D Configurations defined. Explore these in the General Settings of the View Options tab of the View Configuration panel. For example, the
Altium 3D Dk Green
configuration is applied in the image above.
- There are controls to configure the layer colors as well as the board thickness (vertical scaling), which is handy for examining the internal layers and interconnect structures in the PCB. 3D layers have a transparency setting; slide this to "see through" the objects on that layer.
- You can choose to Show 3D bodies or hide them.
- To display the components in 3D, each component needs to have a suitable 3D model included in its footprint. Refer to the Component object page and the 3D Body object page to learn more about including 3D models, and refer to The Advantage of 3D in ECAD-MCAD Integration article to learn techniques for positioning a model on its footprint.
- Apart from the component manufacturer's website, 3D models are also available on:
- Community portal websites, such as 3D Content Central and GrabCAD, where designers share models.
- A growing number of commercial 3D sites, including PCB 3D.
- If there is no suitable STEP model available, create your own component shape by placing multiple 3D Body Objects in the footprint in the Library editor. Hover the cursor over the image above to show the tutorial board; this time the transistors have pins. These were added by: making a PCB library from the components on the board, adding a square-shaped extruded 3D Body object to the center pin of the transistor (in 2D mode), setting the 3D Body object height to 3mm and its color to gold in the Properties panel, and copying that object to the other two pads. Right-click a the footprint in the PCB Library panel to update all instances of that footprint on the PCB.
If you plan on using the 3D mode regularly you might find it easier to use a 3D mouse, such as the SpaceMouse® from 3Dconnexion, which greatly simplifies the process of moving and rotating the board in 3D layout mode.
Output Documentation
Main article: More about Outputs
Now that you've completed the design and layout of the PCB, you're ready to produce the output documentation needed to get the board reviewed, fabricated and assembled.
The ultimate objective is to fabricate and assemble the board.
Output types include PDF 3D, with full zoom, pan and rotate, and the ability to control the display of nets, components and the silkscreen, in Adobe Acrobat Reader®.
Available Output Types
Because a variety of technologies and methods exist in PCB manufacture, the software has the ability to produce numerous output types for different purposes:
Assembly Outputs
- Assembly Drawings - component positions and orientations for each side of the board.
- Pick and Place Files - used by robotic component placement machinery to place components onto the board.
Documentation Outputs
- PCB Prints - configure any number or printouts (pages), with any arrangement of layers and display of primitives. Use this to create printed outputs, such as assembly drawings.
- PCB 3D Prints - views of the board from a three-dimensional view perspective.
- PCB 3D Video - output a simple video of the board based on a sequence of 3D key-frames defined in the PCB editor's PCB 3D Movie Editor panel.
- PDF 3D - generate a 3D PDF view of the board with full support to zoom, pan and rotate in Adobe Acrobat®. The PDF includes a model tree, giving control over the display of nets, components and the silkscreen.
- Schematic Prints - schematic drawings used in the design.
Fabrication Outputs
- Composite Drill Drawings - drill positions and sizes (using symbols) for the board in one drawing.
- Drill Drawing/Guides - drill positions and sizes (using symbols) for the board in separate drawings.
- Final Artwork Prints - combines various fabrication outputs together as a single printable output.
- Gerber Files - creates manufacturing information in Gerber format.
- Gerber X2 Files - a new standard that encapsulates a high-level of design information with backward compatibility to the original Gerber format.
- IPC-2581 File - a new standard that encapsulates a high-level of design information within a single file.
- NC Drill Files - creates manufacturing information for use by numerically controlled drilling machines.
- ODB++ - creates manufacturing information in ODB++ database format.
- Power-Plane Prints - creates internal and split plane drawings.
- Solder/Paste Mask Prints - creates solder mask and paste mask drawings.
- Test Point Report - creates test point output for the design in a variety of formats.
Netlist Outputs
- Netlists describe the logical connectivity between components in the design and are useful for transferring the design to other electronics design applications. A large variety of netlist formats are supported.
Report Outputs
- Bill of Materials - creates a list of parts and quantities (BOM) in various formats required to manufacture the board.
- Component Cross Reference Report - creates a list of components based on the schematic drawing in the design.
- Report Project Hierarchy - creates a list of source documents used in the project.
- Report Single Pin Nets- creates a report listing any nets that only have one connection.
- Simple BOM - creates text and CSV (comma separated variables) files of the BOM.
- Electrical Rules Check - formatted report of the results of running an Electrical Rules Check.
Individual Outputs or an Output Job File
Main article: Preparing Multiple Outputs in an OutputJob
The PCB editor has two separate mechanisms for configuring and generating output:
- Individually - the settings for each output type are stored in the Project file. You selectively generate that output when required using the commands in the Fabrication Outputs, Assembly Outputs and Export sub-menus (accessed from the File menu), and the Reports menu.
- Using an Output Job file - the settings for each output type are stored in an Output Job file, which is a dedicated output settings document that supports all possible output types. These outputs can then be generated manually or as a managed release.
An Output Job file allows you to configure each output type, configure their output naming, format, and output location. Output Job files can also be copied from one project to another.
Although the individual outputs configured using the File and Reports menus use the same setup dialogs as an Output Job, the settings are independent and must be configured again if you switch from one approach to the other.
Configuring the Gerber Files
Dialog page: Gerber Setup
- Gerber continues to be the most common form of data transfer between board design and board fabrication, with Gerber X2 and ODB++ becoming more and more popular.
- Each Gerber file corresponds to one layer of the physical board: the component overlay, top signal layer, bottom signal layer, top solder mask layer, and so on. It is advisable to consult with your board fabricator to confirm their requirements before supplying the output files required to fabricate your design.
- If the board has holes, an NC Drill file must also be generated, using the same units, resolution, and position on film settings.
- Gerber files are configured in the Gerber Setup dialog, accessed via the PCB Editor's File » Fabrication Outputs » Gerber Files command, or by adding a Gerber output into the Fabrication Outputs section of an Output Job then double-clicking on it.
Configure the Gerber outputs in the Gerber Setup dialog.
- In the OutJob, double-click on the Gerber Files output added in the previous set of steps. The Gerber Setup dialog will open, as shown in the image above.
- Since the board has been designed in Metric, set the Units to Millimeters on the General tab of the dialog.
- The smallest unit used on the board is 0.25mm for the routing and clearance, but because most of the components have their reference point at their geometric center (and were placed on a 1mm grid), some of their pads will actually be on a 0.01 grid. Set the Format to 4:3 on the General tab. This ensures that the resolution of the output data is more than adequate to cover these grid locations. Note: the NC drill file must always be configured to use the same Units and Format.
- Switch to the Layers tab then click 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 side of the dialog are used to include that detail with another layer. Disable any mechanical layers that were enabled in the Layers to Plot section of the dialog.
- Click on the Advanced tab of the dialog. Confirm that the Position on Film option is set to Reference to relative origin. Note: the NC drill file must always be configured to use the same Units, Format and Position on Film settings as the Gerber files otherwise the drill locations will not match the pad locations!
- Click OK to accept the other default settings and close the Gerber Setup dialog.
- Now that 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 side of the OutJob. For discrete files with their own file format, 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 OutJob configured to generate Gerber, NC Drill and Pick and Place output as discrete files.
- The last step is to configure the container. To do this, click the Change link in the container to open the Folder Structure Settings dialog. Across the top are a set of controls that 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 settings dialog and enable the Gerber Output in the list of CAMtastic Auto-Load 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 the integrated 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.
- Save and close the OutputJob file.
Configuring the Bill of Materials
Main article: BOM Management with ActiveBOM
Ultimately, every part used in the design must have detailed supply chain information. Rather than requiring that this information be added to each design component, or added as a post-process in an Excel spreadsheet, you can add it at any point through the design cycle in an ActiveBOM (*.BomDoc).
ActiveBOM is the component management editor included in Altium Designer, which is used to:
- Configure the component information so that it is BOM-ready, including adding additional non-PCB component BOM items, such as the bare board, glue, mounting hardware, and so on.
- Add additional columns, such as a line number column, to suit the requirements of the assembly house.
- Map each design component to a real-world manufacturer part.
- Verify the supply chain availability and price for each part, for a defined number of manufactured units.
- Calculate the cost to build for the defined number of manufactured units.
ActiveBOM is used to map each design component to a real-world part.
This ability to inject supply chain details directly into the BOM changes the role of the BOM document in the PCB project. No longer a simple output file, ActiveBOM raises the component management process to sit alongside the schematic capture and PCB design processes, where ActiveBOM's BomDoc becomes the source of all Bill Of Materials data for the PCB project for all BOM-type outputs. ActiveBOM is the recommended approach to BOM management.
ActiveBOM queries the supply chain in real time, using the Part Providers enabled on the Data Management - Part Providers page of the Preferences dialog. Because data is updated in real-time, the availability of the parts used in this tutorial will change over time. The list of available suppliers also changes over time. For these reasons, the results you get may be different from the results shown and described in this tutorial.
To include a BomDoc in the tutorial:
- Select File » New » ActiveBOM Document from the main menus. Note that a PCB project can only include one BomDoc.
- The BomDoc will be created, and the components used in the tutorial listed as BOM Items. The BomDoc is configured in the Properties panel, where the production quantity and currency, supply chain, and visible BOM Item parameters are defined, along with other settings. Take some time to familiarize yourself with the features available in the Properties panel's two tabs. Note that the panel includes a search field at the top, which is handy for quickly locating a control or a parameter.
- Explore the Columns tab of the panel. Note that the available data to be included in the BOM can be sourced from various locations, controlled by the Sources buttons.
- The components are detailed in the main grid area of the BomDoc. By default, there is a column titled Line #. Click the Set Line Numbers button ( ) to populate this column.
- Because the components were placed from the Manufacturer Part Search panel, each part already includes supply chain information. When you click on a part in the BOM Items grid, its supply chain information is displayed in the lower region of the BomDoc as shown in the image above. Each row displayed in this lower region of the BomDoc is referred to as a Solution, with the manufacturer part + part number (referred to as an MPN) shown on the left, and available suppliers + supplier part numbers (referred to as SPNs) are shown in each tile on the right.
- Note that the BOM Items grid includes a Status column on the right. Hover the mouse cursor over a status icon for information about any issues detected.
- The Status icons should indicate that all of the Items include the error
no MPN ranked
. This means that the designer (you) has not yet checked through the selected parts (MPNs) and indicated that they are happy with each of them. An MPN is accepted by assigning it a rank (as shown in the image above). Do this for each of the items that show no other error type. It is possible that the transistor may have other errors; this will be resolved shortly.
- The Status of four of the five BOM Items should change to green ( ) indicating that these Items are clear (ready to order).
- The status of each item is checked against the current configuration of BOM Checks configured in the Properties panel. The BOM Checks list in the panel details all BOM checks that are currently being violated. The available BOM checks and their current settings are configured in the Bom Checks dialog. Click the icon below the BOM Checks list to open the dialog.
- Select the transistor Item; it may be flagged as Not Recommended For New Designs (NRFND). For an Item that does not have an MPN assigned, or has an MPN but that part has no suppliers, you can also create a Manufacturer Link.
The Manufacturer Link feature allows you to connect an unmanaged part, or a managed part with supply chain issues, to your preferred manufacturer part. Using this feature, you can bring the full power of the Altium Parts Provider to all of your design components directly in the BomDoc, complete with real-time supplier, price and availability information. The Manufacturer Link is stored in the BomDoc.
- To add a Manufacturer Link, select the transistor in the grid, click the Add Solution button and select Create/Edit Manufacturer Links from the menu that appears.
- The Edit Manufacturer Links dialog will open. Click the Add button to add a new Manufacturer Link; the Add Part Choices dialog will open. This dialog is used to search for a suitable manufacturer part. As well as identifying a suitable part, you can also check the suppliers, price and availability.
The
Search field in the
Add Part Choices dialog is automatically populated with data from the component you selected in the BomDoc. The field that supplies the search data is determined by the
Suggested Keywords setting in the
Data Management - Part Providers page of the
Preferences dialog. The default is to search using the
Comment field; this can be changed if required.
- If the search only returns the same part you already have used, try broadening the search, for example, search for
BC547C
.
- Keep an eye on the vertical colored bar at the edge of the Manufacturer Part column. This indicates the Lifecycle state of that part. Ideally you will select a part with a green Lifecycle state (Volume Production). Note that you do not need the part to have models since you already have a symbol on the schematic and a footprint on the PCB.
- Choose a part that has a Lifecycle state of Volume Production (hover the cursor over the vertical colored bar to view the lifecycle state) and stock available, then click OK to accept this part.
- You will return to the Edit Manufacturer Links dialog. Click OK to close the dialog and return to the BomDoc.
- The Solutions region of the BomDoc will show two solutions: the original part used in the design, and the Solution you just added. The Solutions are listed in the order they will be used in the BOM. Use the Ranking feature to promote the part you selected to be the primary Solution by hovering over the stars then clicking the desired rank (as shown below).
- All parts now include supply chain details. Save the BomDoc and save the project. You are now ready to generate a BOM.
Create a Manufacturer Link to select a part directly in the BomDoc when the schematic part does not include suitable supply chain details.
Generating the BOM
Dialog page: Report Manager
The actual output BOM file that is generated is done using the Report Manager. The Report Manager is a highly configurable report generation engine that can generate output in a variety of formats including text, CSV, PDF, HTML, and Excel. Excel-format BOMs can also have a template applied using one of the pre-defined templates or one of your own. An Excel-format BOM can also be generated without Microsoft Excel being installed; select the MS Excel File
option in the File Format drop-down.
- The Report Manager generates BOM output from the Bill of Materials For Project dialog, accessed via:
- The PCB editor's Reports » Bill of Materials, or
- By adding a Bill of Materials into the Report Outputs section of an Output Job, or
- By adding a BomDoc to the project and running the BomDoc's Reports » Bill of Materials command.
- The default behavior is for the Report Manager to present the component detail in the same way it has been configured in the BomDoc if the project includes a BomDoc. Columns can be added and removed using the Columns tab in the Properties region of the dialog.
- If the project does not include a BomDoc, the Columns tab includes an additional region, used to define how like-components are identified for clustering. Clustering is achieved by dragging and dropping component attributes to the Drag a column to group region of the dialog.
- The main grid region of the dialog is the content that is written into the BOM. In this region, you can click and drag to reorder the columns, click on a column heading to sort by that column, ctrl+click to sub-sort by that column, and define value-based filters for a column using the small drop-down in each column header.
- By default, the BOM generator sources information from the schematic documents. A variety of Sources are available. Use the buttons in the Columns tab in the Properties region of the dialog to enable other sources. For example, if you enable the PCB Parameters you can include detail such as component location and side of board, if required.
The Report Manager takes the configuration from the BomDoc if the project includes a BomDoc.
Mapping Design Data into the Generated BOM
Main article: Including Design Data in the Excel BOM
An Excel-format BOM generated directly into a PDF.
Design data can be passed from Altium Designer into an Excel-format Bill Of Materials by referencing an Excel template that includes special statements.
When creating the Bill of Materials template in Excel, a combination of Fields and Columns can be used to specify the desired layout. Several example templates are included with the software in the \Templates
folder of the installation user-files. Refer to the article Including Design Data in the Excel BOM for details of the available fields. Note that fields need to be defined above or below the Column region of the template.
- The last step is to save all of your work. Select File » Save All to save every file that has been modified.
Congratulations! You started with a blank schematic sheet and worked through to a finished PCB with output files, which is the entire design process in Altium Designer!