Altium Designer

Project

Creating a project

  • File → New → Project…​

  • In Create Project window set project name (for example picr24-team-<your team name>-mainboard) and select project folder.

Adding schematic file

  • Right click on *.PrjPcb → Add New to Project → Schematic

Adding PCB file

  • Right click on *.PrjPcb → Add New to Project → PCB

Adding schematic library file

  • Right click on *.PrjPcb → Add New to Project → Schematic Library

Adding PCB library file

  • Right click on *.PrjPcb → Add New to Project → PCB Library

Saving project

  • Right click on *.PrjPcb → Save

  • One option to name the files in the project is to use the projects name. For example if project is named picr24-team-one-mainboard.PrjPcb, then schematic would be named picr24-team-one-mainboard.SchDoc.

General

  • Press Space while moving objects to rotate them.

  • Press X while moving objects to mirror them in X axis.

  • Press Y while moving objects to mirror them in Y axis.

  • Drag from left to right to select objects that are fully inside the selection box.

  • Drag from right to left to select objects that are at least partially inside the selection box.

Creating components

Creating component footprint

  1. Find a dimensional drawing for the component’s package. Usually package drawings are located at the end of the component’s datasheet.

  2. Open *.PcbLib file.

  3. Tools → IPC Compliant Footprint Wizard…​

  4. Select Component Type (for example PQFP which is used by the recommended microcontroller) and press Next.

  5. Change Overall Dimensions based on the datasheet and press Next.

  6. Change Pin Dimensions based on the datasheet and press Next.

  7. Add Thermal Pad if necessary and press Next.

  8. Use calculated values for Heel Spacing and press Next.

  9. Use default values for Solder fillets and press Next.

  10. Use calculated component tolerances and press Next.

  11. Use Default Values for IPC tolerances and press Next.

  12. Use calculated footprint values for Footprint Dimensions and press Next.

  13. Silkscreen line width can be 0.2 mm. Press Next.

  14. Use defaults for Courtyard, Assembly and Component Body Information and press Next.

  15. Use suggested values for Footprint Description and press Next.

  16. Select Current PcbLib File for Footprint Destination. Select Produce 3D/STEP model to create 3D model of the component. Also select Embedded. Press Finish.

  17. Press Ctrl + S to save the PCB library.

Creating component symbol

  1. Open *.SchLib file.

  2. In Properties panel set

    1. Design Item ID (for example STM32G431KBT6)

    2. Designator (for example U?)

    3. Comment (for example STM32G431KBT6)

  3. Pins of the symbol can be placed individually with Place → Pin or in a bigger batch with Tools → Symbol Wizard…​

  4. Pin names can be found in the datasheet.

  5. Try to arrange the symbol such that the center of symbol is at 0 coordinates.

  6. Symbols typically have a rectangle in the middle of the symbols, which is created automatically by Symbol Wizard.

    1. A rectangle can be placed with Place → Rectangle

    2. If the rectangle is covering the pins, then it can be moved below the pins with selecting Edit → Move → Send To Back and clicking on the rectangle.

  7. When the symbol is finished, then press Add Footprint

    1. In the PCB Model window press Browse…​ and select the footprint created for the component.

  8. Press Ctrl + S to save the Schematic library.

Schematic

Placing components

  1. Open *.SchDoc file.

  2. Open Components panel

  3. Select *.SchLib from the dropdown.

  4. Drag the component on the schematic or right click on it and select Place.

  5. Symbols for some other components can be found from Manufacturer Part Search panel.

  6. Symbols for power are available on the top toolbar.

Connecting components

  • Press Ctrl + W or use Place → Wire to activate Wire tool.

Net labels

  1. Select Place → Net label to place net labels.

  2. Place net labels on the wires to change the name of the wire.

    • Wires with the same net labels are connected together.

PCB design

Importing schematic changes to PCB design

  1. Open *.PcbDoc file.

    • Use Design → Import Changes From <your project name>.PrjPcb

Rules

  • Open Rules with Design → Rules…​

Changing units

  • Press Q

    • Units can be checked in the bottom left corner.

    • Millimeters are recommended for the PCB.

Changing grid

  • In the schematic document:

    • Press G

    • Active grid is shown at the bottom left next to the coordinates.

    • It’s recommended to use 100 mil grid for components and wires as the symbols are created for that grid size. Sometimes it’s useful to use finer grid when creating schematic symbols or moving reference designators and component values.

  • In PCB layout document:

    • Press G and select suitable grid size from the list.

    • Good grid size for most of the layout is 0.1 mm. 0.025mm might work better for smaller components and thin tracks. 1mm grid is useful for changing board size.

Changing board size

  1. Press 1

  2. Select Design → Edit Board Shape

  3. Press 2 to go back to PCB layout editing.

Opening 3D PCB view

  • Press 3

Hiding rooms

  1. Press L to open View Configuration.

  2. Open View Options tab.

  3. Press on the eye icon next to the "Rooms".

Repouring polygons

  1. Select Tools → Polygon Pours → Repour All

    • Shortcut: T → G → A

Routing traces

  • Press Ctrl + W to start routing.

Changing layer stackup

  1. Go to https://jlcpcb.com/impedance for stackup descriptions.

    Recommended 4-layer stackup from JLCPCB is JLC04161H-3313. It costs the same as the default one (JLC04161H-7628), but has smaller distance between adjacent layers, which is helpful for reducing crosstalk.

    electronics jlcpcb JLC04161H 3313 1p6mm stackup
    Figure 1. JLC04161H-3313 stackup with 1.6mm thickness, 1oz outer copper and 0.5oz inner copper weight

    Dielectric constants for materials used by JLCPCB can be found here: https://jlcpcb.com/help/article/User-Guide-to-the-JLCPCB-Impedance-Calculator

  2. Open stackup editor with Design → Layer Stack Manager…​

  3. Select Top Layer and press Add.

    altium stackup step 1 top layer press add
  4. Select Below, Signal and make sure that Include Dielectrics is selected. Press Ok.

    altium stackup step 2 add inner layers
  5. Change Thickness and dielectric constant (Dk) values based on JLCPCB specifications. Rename Layer 1 and Layer 2 as Layer 2 and Layer 3. Change copper weight of inner layers to 1/2oz. Change Dielectric 1 type to Core.

    altium stackup step 3 change parameters

Controlled impedance

Using Altium Designer’s impedance calculator

  1. Open stackup editor with Design → Layer Stack Manager…​

    altium impedance profile step 1 open impedance tab
  2. Press Add to create new impedance profile.

    altium impedance profile step 2 press add
  3. On Properties panel change Type to Differential and Target Impedance to 90. 90 Ohms is the differential impedance of USB differential pairs.

    altium impedance profile step 3 properties differential 90
  4. Change Trace Gap for each layer to 0.2mm. Can be narrower or wider if needed. Same differential impedance can be achieved with different trace widths and gaps. Also on Properties panel change Covering (C2) (Soldermask thickness above traces) to 0.6mil (0.01524mm). JLCPCB has specified soldermask thickness values on this page: https://jlcpcb.com/impedance.

    altium impedance profile step 4 trace gap and soldermask thickness
  5. Manually round trace widths. This is not required, but sometimes useful on a dense board or if you like rounder numbers.

    altium impedance profile step 5 trace width rounding
  6. Save changes.

  7. Open schematic (*.SchDoc).

  8. Add net labels to differential pair signals with _P suffix for positive signal and _N suffix for negative signal. It’s possible to specify different suffixes in Project Options, but there is probably no real need for that. Enclose net labels in a Blanket and add a Differential Pair directive so that it touches the blanket. It’s possible to add separate Differential Pair directive to both nets, but it’s easier to specify common parameters with a blanket.

    altium differential pair schematic
  9. Select the Differential Pair directive and on the Properties panel add Diff. Pair Net Class named DIFF_90 for example.

    altium differential pair add class
  10. Save changes.

  11. Open *.PcbDoc.

  12. Import schematic changes with Design → Import Changes From <your project name>.PrjPcb

  13. Open Rules with Design → Rules…​

  14. Right click on Differential Pairs Routing and select New Rule…​

    altium differential pair add routing rule
  15. Name the rule as DiffPairsRoutingDIFF_90. Under Where The Object Matches select Diff Pair Class and DIFF_90. Activate Use Impedance Profile and select D90. Press OK to apply changes and close the rules.

    altium differential pair routing rule parameters

Using manufacturer’s impedance calculator

Another option, if a PCB manufacturer has an impedance calculation tool available, is to enter the calculated values manually to the rule. JLCPCB has an impedance calculator available here: https://jlcpcb.com/pcb-impedance-calculator/

  1. Open the impedance calculator.

  2. Change the input parameters and press Calculate. Calculated trace width on the outer layers for a 90-Ohm differential impedance with a 0.2mm gap and JLC04161H-3313 stackup is 0.1575mm:

    jlcpcb impedance calculator 90 ohm differential
  3. Trace width and gap values can be used to define a differential pair routing rule.

    altium differential pair routing rule parameters manual

Routing differential pairs

  1. Open *.PcbDoc

  2. Position components so that the differential pair traces can be as straight as possible. If there are other components or traces close to the differential pair traces, try to move them further away.

    altium differential pair routing component positioning
  3. Start routing with Route → Interactive Differential Pair Routing (U → I). To reduce impedance discontinuities and intra-pair skew: try to avoid bends, avoid using vias if possible or reduce the amount of vias and keep traces as symmetrical as possible.

    altium differential pair routing inital traces
  4. If needed, adjust traces manually to reduce stub lengths. This can be done with regular routing (Route → Interactive Routing [Ctrl+W or U → T]) and some manual deleting and moving of the traces.

    altium differential pair routing adjusted traces

Generating Gerber X2 files

Add OutJob to project

  1. Right click on *.PrjPcb and select Add New to Project → Output Job File.

  2. Save *.OutJob file. It can have the same name as the project.

Add Gerber X2 output to OutJob

Click on [Add New Fabrication Output] and select Gerber X2 Files → [PCB Document].

altium designer add gerber x2 output

Configure Gerber X2 output

  1. Double-click on Gerber X2 Files or right click and select Configure…​

    altium designer open gerber x2 configuration
  2. Untick Generate Reports.

    altium designer gerber x2 setup untick generate reports
  3. Make sure that Plot column is ticked for Board Outline, Copper Layers, Silkscreen, Solder Mask and Drills. Paste Mask is optional. Paste Mask files are needed for creating solder paste stencils.

    altium designer gerber x2 setup
  4. Press Apply.

Add New Output Container

  1. Click on [Add New Output Container] and select New Folder Structure.

    altium designer add new output container folder structure
  2. Name it Gerber X2.

Change output container settings

  1. Click on Change on output container.

  2. Click on [Release Managed], select [Manually Managed] and press Done.

    altium designer output container manually managed
  3. Expand Advanced and untick "Open generated outputs" and "Add generated files to project".

    altium designer gerber x2 output container settings
  4. Press OK.

Connect Fabrication Output to Output Container

With the Output Container selected click the Enabled column on the Gerber X2 fabrication output row. Green line will show the connection between the output and the output container.

altium designer gerber x2 connect output container

Generate Gerber X2 files

  1. Click Generate content on the Output Container.

  2. GerberX2 folder should be created with *.gbr files in it.

  3. Make sure to save the *.OutJob and *.PrjPcb files.