Altium Tricks And Standards

Overview

After using Altium for many years, you begin to pick up on little tricks to make your PCB design life easier. This page is intended to help you fast-track that!

It pays to have some basic standards/protocols when working with Altium, otherwise things can get ugly real quick.

Schematic Symbol Snap

Rule: Keep schematic snap when designing symbols to DXP defaults.

This is because most schematic symbol libraries use this setting, and if you don’t, using other peoples symbols don’t connect properly. I recommend you use a snap that is a multiple of 5mill. This only applies when placing the pins, you can choose whatever you want for the rest of the symbol! I regularly use 1mill snap for designing graphics for the symbol. 

If you don’t get the snap right, it is really hard to connect pins up on the schematic, and Altium will produce “Component off grid” warnings when compiling. An overload of these can mask any true mistake where a component is not connected to the intended net.

One PCB Per PcbDoc And PcbPrj File

Altium was designed so that there is only one PCB per .PcbDoc file. And it was designed so that there is only one .PcbDoc file per .PcbPrj file. A single PCB is defined as one continuous board region. 

Problems with having multiple PCB’s per .PcbDoc:

  1. Altium only supports a board outline which outlines a single continuous region. To add multiple PCB’s, you have to add a joining link of board between the two actual PCB’s, which looks ugly in both 2D and 3D modes.
  2. All the nets have to be unique between the two PCBs. This becomes a problem for commonly used names such as 5V and GND. If you don’t have unique names, Altium will want you to join the two PCB’s together with copper, thinking you have an unrouted net.
  3. Designators have to be unique across the two PCBs. This means that designators on one of the PCBs won’t start from R1, C1, e.t.c.

Folder Structure

Create a different folder for each project – With all the files Altium creates for a project, directories can get really, really messy.

Stopping Rooms From Being Added To The PCB

Also, rooms can get annoying when you don’t need them. To disable rooms, click Project -> Project Options -> ECO Generation. Select Add Rooms and then choose ‘Ignore Differences’ from the drop-down menu on the right. Delete any existing rooms, and Altium will no longer automatically add them when you update the PCB.

A screenshot showing how to stop Altium from adding rooms to the PCB.
A screenshot showing how to stop Altium from adding rooms to the PCB.

My Vias/Tracks disappear When I’m Routing!

This is caused by Altium’s “Automatically Remove Loops” function removing vias and tracks when you have more than one connected to the same trace. To stop this from happening, begin routing, and then press TAB. The routing options windows will pop up. Navigate to the ‘Interactive Routing Options’ section and deselect “Automatically Remove Loops”.

Version Control Systems

If you are using Mercurial source control software for you Altium project, here is a recommended Mercurial Ignore File to prevent the un-necessary files from being put under version control.

The Board Shape

Altium allows close integration between the mechanical and electrical design with the ability to define the board shape from DXF/DWG files or step models. I personally find the DXF format perfect for defining the board shape from a mechanical design, in where you can create a board-outline DXF by exporting from CAD software such as SolidWorks or GeoMagic.

PCB Layer Standards

These conform to the default layers that Altium’s IPC Footprint Wizard automatically uses for certain parts of a component. Some of the layers are paired, so that Altium automatically switches the objects on these layers when the component is changed from top layer to bottom layer and vise versa.

Note that Mechanical 1 (the board outline), Mechanical 2 (PCB info) and Mechanical 11/12 (the dimension layers) are not chosen by Altium , but rather just personal preferences.

Layer Usage
Mechanical 1 (M1) Board outline (it is not recommended to use just the keep-out layer, since that can be used for other things also).
Mechanical 2 (M2) PCB notes and comments for the PCB manufacturer/assembler (included in Gerber output).
Mechanical 3 (M3) General notes and comments that the PCB manufacturer/assembler does not need to know about (not included in Gerber output).
Mechanical 11 (M11) Top layer dimensions (paired with M12).
Mechanical 12 (M12) Bottom layer dimensions (paired with M11).
Mechanical 13 (M13) Top layer component body information (3D models and mechanical outlines, paired with M14).
Mechanical 14 (M14) Bottom layer component body information (3D models and mechanical outlines, paired with M13).
Mechanical 15 (M15) Top layer courtyard and assembly information (paired with M16). This normally includes a cross-hairs at the origin of the component.
Mechanical 16 (M16) Bottom layer courtyard and assembly information (paired with M15). This normally includes a cross-hairs at the origin of the component.

The pairing of the mechanical layers is done as shown below.

Pairing mechanical layers in Altium.
Pairing mechanical layers in Altium.

 

Layer Colours

I find that when using many Altium layers, the default colour scheme can get very confusing. To make things simple to understand, I like using a ‘hot and cold‘ colour scheme.

All layers related to the top side (Top Layer, Top Overlay, Top Paste, Top Solder, Top Dimensions, Top Component Outlines/3D Bodies, and Top Courtyard are all chosen to be hot colours, while conversely all the bottom side layers are chosen to be cold colours.

An example showing the use of "hot" and "cold" PCB layer colours in Altium to help distinguish between top and bottom associated objects.
An example showing the use of “hot” and “cold” PCB layer colours in Altium to help distinguish between top and bottom associated objects.

The following file can be downloaded and loaded into Altium to setup the colour scheme as mentioned above.

PCB Symbol Naming Convention

A good idea is to follow Altium’s PCB symbol naming convention, which can be downloaded from the Altium website here.

Component Description Standards

The component description is commonly used to convey all the important parameters of the component that that are vital for the BOM. For example, the description of a capacitor might indicate that it’s a capacitor, the type of capacitor, the package size, the temperature coefficient, tolerance, voltage and capacitance in a short hand notation.

The idea is that the “Description” field will be added to the BOM, and it will be solely responsible for describing the part to whatever detail is neccessary.

It is useful to use the component description for this purpose to make the BOM easy to understand and use. Because each type of component has its own unique set of parameters, If all these values where included in their own separate parameter fields, the BOM would become large, full of empty fields (e.g. a resistor typically does not have a temperature coefficient) and unnecessarily messy.

I use the following notation for the description field. The parameters are listed in short-hand from most generic to least generic (this allows for good grouping when sorting alphanumerically). The symbol reference is set the manufacturer’s part number, as this has to be a unique field.

Capacitors

Searching through an Altium schematic library.
Searching through an Altium schematic library.

e.g.

Resistor Description

e.g.

Note that the Omega symbol (aka the Ohm symbol) is not supported in the PCB editor as part of the component description. You can use the symbol R instead.

Quickly Adding Vias To Nets

To quickly associate a via to a net, when placing the via, make sure to place it over a track or pad with the same net. The via automatically inherets the connected net.

Getting To Datasheets Quickly

Over and over during the PCB design process you’ll find yourself wanting to go to the datasheet of a component you can see on a schematic. There is a quick way to add a link to the right-click context menu of the component in Altium by adding a component parameter that follows a special syntax.

These special component parameters are called component links, and follow the syntax:

Parameter Name Parameter Value
ComponentLink1Description  Enter the name you want to see in the right-click menu
ComponentLink1URL  Enter the URL you want to go to when you click.
ComponentLink2Description  Enter the name you want to see in the right-click menu
ComponentLink2URL  Enter the URL you want to go to when you click.
...

This can be repeated for as many component links as you wish. The URL can be any valid path (i.e. the path to a file on your computer/server, or to a website URL). They can be added to both schematic library component parameters, and component library parameters which will the be released to a vault. The component links get added to the References sub-menu when you right-click on the component in the Altium schematic editor.

For example, I would add these component parameters to a buffer IC:

Parameter Name Parameter Value
ComponentLink1Description  Datasheet
ComponentLink1URL  http://www.ti.com/lit/ds/symlink/sn74lv126a.pdf

As shown in the following image:

Adding a special component link to the components datasheet in Altium.
Adding a special component link to the components datasheet in Altium.

I would then be able to quickly go to the datasheet by right-clicking the component, navigating to the “References” sub-menu, and clicking “Datasheet”.

Quickly going to the component datasheet by using a component link parameter in Alitum.
Quickly going to the component datasheet by using a component link parameter in Alitum.

 

Using Transparent Layers

‘Use Transparent Layers’ is a menu option hidden away in Altium that makes the layers go semi-transparent. It is really useful when dealing/routing with multi-layer objects (such as vias). I found I use Transparent mode more often than not now since I discovered it. To enable it, go into the View Configurations Menu, click the ‘View Options’ tab, and then make sure the ‘Use Transparent Layers’ box is ticked as shown below.

Turning on the transparent layer option in Altium. Very useful when routing complex multi-layer boards!
Turning on the transparent layer option in Altium. Very useful when routing complex multi-layer boards!

Here is an example showing layers when set to Transparent mode.

An example of the PCB view in Altium when using transparent layers.
An example of the PCB view in Altium when using transparent layers.

 

Direct Connect For Specific Pads

When designing a PCB, you often find yourself wanting to “direct connect” from polygon pours and power planes to specific pads of a component, while leaving the others with thermal relief connections. This is usually to reduce the copper track resistance to high current pins (e.g. V+ and GND).

A terminal block pad with direct connections to a polygon (+24V-MOTOR) and a pad with thermal relief connections (GND).
A terminal block pad with direct connections to a polygon (+24V-MOTOR) and a pad with thermal relief connections (GND).

The simplest way to do this is to add a custom pad region around the pin of interest. However, this is time consuming as you have to do it for every pin and on every layer. A better way is to use pad classes.

To add pads to a pad class, first take note of the component the pad is part of in the Altium PCB editor, and the pin number of the pad itself (e.g. component J3, pin number 2). Now click Design->Classes. Navigate the folder “Pad Classes”, and add a new pad class called DirectConnect (the exact name does not matter). Now add all the desired pads to this new pad class.

Adding pads to the new "DirectConnect" pad class.
Adding pads to the new “DirectConnect” pad class.

We now need to make a direct connect rule for all pads in this pad class. Click close, and now click Design->Rules. Add a new “Polygon Connect Style” rule. Select “Advanced (Query)” for the first object match, and then enter  InPadClass('DirectConnect') into the “Full Query” window. Change the Connect Style to “Direct Connect”.

Making a new "Direct Connect" rule for the pad class.
Making a new “Direct Connect” rule for the pad class.

Save and exit the Rules dialog, and rebuild your polygons. Done! You should now have direct connects to all the pads you added to the “DirectConnect” pad class. If you want to do the same thing for power planes, add a similar “Power Plane Connect Style” rule for the same pad class, as shown in the above picture. If you want to add pads to class which don’t belong to any component, look for them under “Free-xx” (e.g. Free-0) in the pad classes dialogue.

If all the pads that you are wanting to direct connect are located in the same area, you may want to use a PCB “room” object to envelop all the pads instead of adding each pad to a pad class. Another disadvantage of the pad class trick is that this direct connection information will be lost if you change the designator (or worse still, will be assigned to completely wrong pads who just happen to have the same name as the old ones).

Note: Direct connect rules can also be added to specific pins on the schematic, through the pin editor menu for a selected component. However, as of Altium v15.1, this feature seems buggy, and causes basic (as vital) features like Compile and Update Changes To PCB to crash from that point on.

Opening Internet Links In External Web Browser

By default, Altium tries to open internet links in it’s own internal browser. It’s no surprise that because Altium is a EDA tool and not a dedicated browser, it’s not the best at displaying web pages. Thankfully, you can force Altium to use your default external web browser by navigating to DXP->Preferences->System->View and checking the “Open internet links in external Web browser” option.

Checking "Open internet links in external web browser" will stop Altium from trying to open them.
Checking “Open internet links in external web browser” will stop Altium from trying to open them.

Removing Exposed-Pad Vias That Are Automatically Added By The Footprint Wizard

The Alitum footprint wizard automatically adds vias to the exposed pad of component package footprints such as QFN. Although it is recommended to have thermal vias conducting heat away from the exposed pad to the other PCB layers, it causes problems when these vias are added to the footprint, because of the inflexibility to change them during the PCB design stage. Without unlocking the primitives of the footprint (which I do not recommend you do unless absolutely needed), there is no way to modify these vias during the PCB design. You may wish to move them to allow for nets to pass underneath the component footprint on another layer, you may wish to add more for better thermal properties, or you may wish to remove them altogether because it recommends for that specific chip to leave the thermal pad unconnected.

For these reasons, I recommend that you delete these automatically added vias from all affected component footprints, and instead add vias as needed during the PCB routing stage of the design process.

 
The footprint wizard in Altium has automatically added three thermal vias to this QFN package.
The footprint wizard in Altium has automatically added three thermal vias to this QFN package.
 
I recommend that you remove these vias and instead add them as needed at the PCB routing stage of the design process.
I recommend that you remove these vias and instead add them as needed at the PCB routing stage of the design process.
 
Also, I prefer to rename the thermal pin to pin number "0".
Also, I prefer to rename the thermal pin to pin number “0”.
  • PT

    Do you create a library for, say, various values of capacitors like this:
    e.g.
    Description: CAP CER 0603 X7R 5% 35V 1nF
    Description: CAP CER 0603 X7R 5% 35V 10nF
    Description: CAP CER 0603 X7R 5% 35V 100nF

    What do you set the “Symbol Reference” to?

    I found that if I set the symbol reference to say “CAP” for each one, then Altium gets confused and it doesn’t work. So do you have to set the Symbol Reference to the same value as the Description?

    • Hi,

      I typically use the manufacturer’s part number for the symbol reference. This field has to be unique, so you can’t really use the cap description (you could have two caps with identical parameters).

      I have updated the page above to indicate this and added an image to show what the library looks like in Altium. Also, it’s worthy to note that after writing this I discovered that it’s better to put the capacitance after the package size in the description so that when sorting alphabetically it makes more sense.

      e.g. CAP CER 0603 10uF 6.3V X7R 10%

  • Perry

    This is great stuff and fills the gap in practical usage in the Altium manuals- Thanks!
    I have made pretty good use of the “supplier links” feature to fill in parameters and links to data sheets for parts from the Digi-Key catalog. I like your approach of a standardized set of parameters.

    • gbmhunter

      No worries! Supplier links are great, have you used them with the vault system? I am just experimenting with the vault ecosystem at the moment, and deciding whether to switch or stay with just the SchLib and PcbLib files.

      • Perry

        I haven’t tried the vaults, I am still getting used to the SW (finished my first schematic and going into layout now). I think I am finally convinced that Altium was a good choice, though. The more I learn, the more I like it. I am likely going to stick with individual libraries for now. One very useful thing I have mastered is going to the Altium design content website and downloading integrated libraries of (good quality, so far) symbols and footprints for say Linear Technology OP-Amps, then copying the part I care about into my own libraries. Saves a lot of time in working out footprints, of course.

  • aticoexport

    We are mechanical laboratory equipment manufacturer and exporter company in ambala, India since 1954 with a range of products for school, colleges and others click more

  • Pingback: December 2014 Updates | mbedded.ninja mbedded.ninja()

  • VicMain

    Thanks very much for the tips, some of these have been annoying me for a while!! I’ve done a fairly large (over 12K ) parts database, including the component links, and all the necessary info about all the parts.. With parts that have a pad I’ve found it useful to add a soldermask cutout on the bottom so parts can be remove easily by hand.

    • A 12k part database is massive! :-O. Have you looked/used any Altium vault components before?

  • Pingback: June 2015 Updates | mbedded.ninja()

  • Pingback: ■送料無料■メンズ洗える着物反物 お仕立て代込?裏地付き~紬風無地()

  • Pingback: 足袋 白 こはぜ 男性 メンズ 着付け小物 和装小物 テトロンブロード足袋 ()

  • Pingback: 【送料無料】ビジネスシューズ メンズ 靴 メンズシューズ 革靴 2足セット()

  • Pingback: 【クーポンで1000円オフ★12日10時~16日14時】デスク パソコンデスク 2点セット()

  • Jorge “古和志” Cubas

    Hello, is it possible for you to send me the view configuration (layer colors configuration file) to my email? i was trying to do it like yours but i just don’t get it that good.. cubas89@gmail.com thank you very much!!

    • Hi, I’ll see if I can get a config. file saved and upload it to this page for everyone to download if they wish.

      • Camille BC.

        Hello GBMHunter,

        did you manage to get that config file ? That would be wicked, as the colour codes have disappeared from the page. Cheers !

  • spencerskelly

    These are great. Thank you so much. I’m slowly but surely adding to my Altium skills thanks to people like you.

  • Mike Thomson

    Hi everyone,
    I had Altium Designer 15.0 , WIN 7, Ultime, 32 bits desktop system.
    I just try to make a pcb for my project and i finished all sch work with some warnings but cannot compile it..
    First of all ‘Project Options’ under ‘Project’ title is always gray out and so cannot adjust any rule.
    The question is the reasons of graying out of ‘Project Options. I googled for that but no solution.
    I will be glad for any assistance.. Thanks for advance.

    • Weird! Can you create a new project, and add the existing schematic/PCB files to it?

      • Mike Thomson

        Yes i did. Completed schematic layout with some warnings

        and errors which are not fatal (type of … has no driver). Still ‘Project Options’ is grayed out!.. There must be something wrong i cannot see.. Please ask me questions to discuss the issue..

        • Mike Thomson

          Hi again. Thanks for your intention. The issue was solved when i rechecked the work what was done. Attempt to recreate a new project was successful. Not it is not grayed. Thanks again for drawing my attention on the issue…

          • No worries, glad the idea worked!

  • MAG

    It looks like your color table is blank. Am I missing something?

    • Sorry, that was incomplete, I never got around to finishing it! I have removed the table completely. If you want an idea on the colour scheme, please download the “Transparent Hot And Cold PCB View Config” file, the download link is in the same section above.

  • Navdeep

    Hi everyone,actualy in the tricks it is given that by using ‘+’ sign ,we can enetr the the different layers.Like if i am working on top layer,by pressing ‘+’, the it will switch to next layer by using a via.But i am unable to do it. Nothing is happening when i am pressing + button. Is there anything else i have to do along with ‘+’ button?

    • Does the * key switch layers? * is meant to switch between track-based layers (e.g. skipping planes).

      In my experience, + just works. Perhaps “NUM lock” could have something to do with it, although that should normally only affect the numerical keys on the key pad and not the mathematical symbols.

      • Navdeep

        I got the problem brother.
        one more thing,Actualy I want to get proper knowledge of stack management . I just worked on 2 layer PCB till now. So don’t have enough knowledge of multilayer. I have gone through various articles about how to do Multilayer stackup. But please if you can suggest me anything through which i can understand the stackup’s easily