Introduction to Altium Designer
Altium Designer is a comprehensive electronic design automation (EDA) software that enables engineers to design, simulate, and produce printed circuit boards (PCBs). Known for its integrated approach, Altium Designer combines schematic capture, PCB layout, library management, signal integrity analysis, and documentation capabilities in a single platform. This unified workflow allows electronics engineers to move seamlessly from concept to production-ready designs, making it one of the industry’s most powerful PCB design tools for professionals and companies of all sizes.
Core Concepts and Interface
Workspace Organization
Panel | Purpose | Key Features |
---|---|---|
Projects Panel | Manage project files | File hierarchy, document organization |
Properties Panel | Edit object properties | Context-sensitive property editing |
PCB Panel | Component placement and organization | Filter by attributes, manage designators |
Libraries Panel | Access component libraries | Search, filter, browse components |
Messages Panel | View errors and warnings | Filter by message type, navigate to issues |
Workspace Manager | Manage multiple projects | Project grouping, version control integration |
Document Types
Extension | Description | Purpose |
---|---|---|
.PrjPcb | Project File | Root file that references all project documents |
.SchDoc | Schematic Document | Circuit diagram with components and connections |
.PcbDoc | PCB Document | Physical board layout with components and traces |
.PcbLib | PCB Library | Contains footprints (physical component layouts) |
.SchLib | Schematic Library | Contains schematic symbols |
.IntLib | Integrated Library | Compiled library with symbols and footprints |
.OutJob | Output Job File | Defines output generation for documentation |
.Harness | Harness Document | Defines connections between schematic sheets |
.BomDoc | Bill of Materials Document | Component listing for purchasing/assembly |
.PrjPcbVariant | Project Variant File | Defines board variations for manufacturing |
Schematic Design Essentials
Component Placement and Wiring
Action | Keyboard Shortcut | Tool Location |
---|---|---|
Place Component | P | Place » Component |
Place Wire | W | Place » Wire |
Place Net Label | L | Place » Net Label |
Place Power Port | P, P | Place » Power Port |
Place Ground | P, G | Place » Ground |
Place Junction | J | Place » Junction |
Place Bus | P, B | Place » Bus |
Place No ERC | X | Place » Directives » No ERC |
Place Port | O | Place » Port |
Rotate Component | Spacebar | Right-click » Operations » Rotate |
Multi-Sheet Design
Action | Method | Notes |
---|---|---|
Add Sheet | Right-click project » Add New to Project » Schematic | Creates new schematic sheet |
Sheet Symbol | Place » Sheet Symbol | References another schematic sheet |
Port Connections | Place ports with matching names | Connect signals between sheets |
Harness Connections | Create Harness document | Group multiple connections between sheets |
Sheet Parameters | Design » Sheet Options | Set sheet size, title block information |
Cross-Sheet References | Use Sheet Entries and Ports | Shows connections across multiple sheets |
Schematic Verification
Tool | Purpose | Access Method |
---|---|---|
Electrical Rules Check (ERC) | Verify schematic connectivity | Project » Project Options » Error Reporting » ERC |
Connection Matrix | Configure valid connection types | Project » Project Options » Error Reporting » Connection Matrix |
Online DRC | Real-time design rule checking | Tools » Document Options » Online DRC |
Component Rule Check | Verify component parameter consistency | Project » Component Rule Check |
Project Compiler | Check project integrity | Project » Compile PCB Project |
PCB Layout Fundamentals
Board Setup
Setting | Access Method | Purpose |
---|---|---|
Layer Stack Manager | Design » Layer Stack Manager | Define board layers and materials |
Board Shape | Design » Board Shape | Define outline of PCB |
Board Options | Design » Board Options | Set grid, units, display options |
Design Rules | Design » Rules | Define constraints for routing, placement, etc. |
Board Units | View » Grids and Units | Switch between imperial and metric |
Origin Point | Edit » Origin » Set | Set coordinate reference point |
Coordinate System | View » Coordinate System | Switch between absolute and relative coordinates |
Component Placement
Action | Keyboard Shortcut | Method |
---|---|---|
Place Component | Shift+E or P, K | Place » Component |
Move Component | M | Select and drag or Edit » Move » Component |
Rotate Component | Spacebar | Select and press Spacebar or Edit » Move » Rotate |
Flip Component to Bottom | L | Select and press L or Edit » Move » Flip |
Align Components | A | Select multiple components, Tools » Align » (option) |
Lock Component | L | Select components, Edit » Lock/Unlock |
Room Definition | D, R | Place » Room |
Component Clearance | Q | Tools » Component Clearance Check |
Arrange Within Room | A, W | Tools » Component Placement » Arrange Within Room |
Routing Techniques
Action | Keyboard Shortcut | Method |
---|---|---|
Interactive Routing | P, T or Ctrl+W | Place » Interactive Routing |
Auto Route | U, A | Auto Route » All |
Fan-out via | Ctrl+Alt+F | Route » Fan-out Via |
Multi-Trace Routing | Shift+Ctrl+T | Route » Multi-Trace Routing |
Add Via | P, V | Place » Via |
Change Routing Layer | * or + | Press during routing to change layer |
Modify Track Width | Tab | Press during routing to change width |
Push Obstacles | P, P | Route » Interactive Routing » Properties » Push Obstacles |
Differential Pair Routing | P, D | Place » Differential Pair Routing |
Teardrops | D, T | Tools » Teardrops » Add Teardrops |
Via Types and Usage
Via Type | Purpose | Configuration |
---|---|---|
Through Hole | Connects all layers | Default via type |
Blind Via | Connects outer to inner layer | Configure in Layer Stack Manager |
Buried Via | Connects inner layers only | Configure in Layer Stack Manager |
Micro Via | Small vias for HDI designs | Configure in Layer Stack Manager |
Tented Via | Covered with solder mask | Set in mask expansion rules |
Via-in-pad | Via placed inside a pad | Set rules to allow |
Design Rules and Constraints
Rule Categories
Rule Type | Purpose | Example Rules |
---|---|---|
Electrical | Control connections | Clearance, short-circuit, un-routed nets |
Routing | Control trace parameters | Width, via style, routing topology |
SMT | Surface mount requirements | Component clearance, relief entry |
Manufacturing | Ensure producibility | Hole size, mask expansion, silk clearance |
High Speed | Signal integrity | Matched lengths, differential pairs |
Placement | Component positioning | Component clearance, height restrictions |
Signal Integrity | Electrical performance | Impedance, crosstalk, length |
Creating Custom Rules
- Navigate to Design » Rules
- Select rule category from left panel
- Right-click and select New Rule
- Name the rule appropriately
- Define rule scope using query language
- Set constraint values
- Organize rule priority (higher rules override lower ones)
Rule Query Language Examples
InNet('GND') // All objects in GND net
InNetClass('USB_Differential') // All nets in USB_Differential class
IsVia // All vias
IsPad // All pads
Layer = 'Top Layer' // Objects on Top Layer
InComponent('U1') // Objects in component U1
Library Management
Component Creation Workflow
Create Schematic Symbol:
- Design » New Component
- Add pins and graphics
- Define designator and properties
Create PCB Footprint:
- File » New » PCB Library
- Add pads, silkscreen, assembly drawing
- Define origin and courtyard
Create Integrated Library:
- Create SchLib and PcbLib
- File » New » Library Package
- Add components and link symbols to footprints
- Compile to create IntLib
Library Organization Best Practices
- Use Categories: Organize by function (connectors, ICs, passives)
- Consistent Naming: Establish naming conventions
- Version Control: Track library changes with Git/SVN
- Documentation: Include datasheets and notes
- Parameterization: Define variable parameters
- Component Types: Use consistent types (standard, alternate part)
- Model Links: Associate 3D models with footprints
- Central Library: Consider Altium 365 or network location
Component Parameters
Parameter | Purpose | Example |
---|---|---|
Designator | Reference identifier | R1, C4, U2 |
Comment | Component value/description | 10kΩ, LM358 |
Footprint | Physical layout reference | SOIC-8, 0603 |
Description | Detailed component info | “Dual Op-Amp, Low Power” |
Part Number | Manufacturer part number | LM358DR2G |
Supplier | Component vendor | Digikey, Mouser |
Supplier Part Number | Vendor specific part number | 296-1014-5-ND |
Height | Component height | 1.2mm |
Type | Component classification | Standard, Mechanical |
High-Speed Design Techniques
Impedance Control
Setting | Access Method | Purpose |
---|---|---|
Impedance Profiles | Design » Layer Stack Manager » Impedance tab | Define trace impedance requirements |
Width by Impedance | Route » Interactive Routing » Properties | Route traces by impedance rather than width |
Differential Pairs | Design » Class Generator » Differential Pair Editor | Define and manage differential pairs |
Xsignal | Design » Class Generator » Xsignal | Define matched length net groups |
Length Matching
Action | Method | Purpose |
---|---|---|
Length Tuning | Route » Interactive Length Tuning | Add serpentine patterns to match lengths |
Xsignal Editor | Design » Class Generator » Xsignal Editor | Define and manage matched length groups |
Length Report | Reports » Length | View current trace lengths |
Length Rules | Design » Rules » Signal Integrity » Length | Set minimum/maximum/matched length constraints |
Phase Tuning | Route » Interactive Phase Tuning | Match phase for differential pairs |
Signal Integrity Analysis
Tool | Access Method | Purpose |
---|---|---|
Impedance Profile Plotter | Design » Layer Stack Manager » Impedance » Plot | View impedance vs width graph |
PDN Analyzer | Tools » Signal Integrity » PDN Analyzer | Analyze power delivery network |
IBIS Simulator | Tools » Signal Integrity » IBIS Simulator | Simulate signal behavior |
Crosstalk Analysis | Tools » Signal Integrity » Crosstalk Analysis | Analyze interference between signals |
Eye Diagram | Tools » Signal Integrity » Eye Diagram | Analyze signal quality |
Design for Manufacturing (DFM)
Manufacturing Output Generation
Output Type | Suggested Format | Purpose |
---|---|---|
Gerber Files | RS-274X | Layer data for fabrication |
NC Drill Files | Excellon 2 | Drill hole information |
ODB++ | ODB++ Directory | Comprehensive manufacturing data |
Pick and Place | CSV/TXT | Component locations for assembly |
BOM | CSV/PDF/Excel | Component listing for purchasing |
Assembly Drawings | Assembly instructions | |
Fabrication Drawings | Board dimensions, stackup, notes | |
3D Model | STEP | Visual representation for mechanical integration |
IPC-D-356A | .356 | Electrical test netlist |
DFM Checks
Check | Tool Location | Purpose |
---|---|---|
Design Rule Check | Tools » Design Rule Check | Comprehensive check of all design rules |
Manufacturing Testpoint | Tools » Design For Manufacturing » Manufacturing Testpoint | Verify testpoint coverage |
Layer Stack Symmetry | Design » Layer Stack Manager » Symmetry Check | Ensure balanced layer stack for warpage prevention |
Acid Trap Check | Tools » Design For Manufacturing » Acute Angle Check | Find potential acid traps in copper |
Solder Bridge | Tools » Design For Manufacturing » Solder Bridge Check | Identify potential solder bridges |
Component Clearance | Tools » Component Clearance Check | Verify physical component spacing |
Footprint Comparison | Tools » Footprint Comparison | Compare footprint with datasheet recommendations |
Documentation Best Practices
- Include fabrication notes with special requirements
- Specify material requirements (FR4 grade, copper weight)
- Define impedance requirements clearly
- Include stack-up diagram with materials
- Specify finish type (HASL, ENIG, etc.)
- Define assembly-specific instructions
- Include reference designators on silkscreen
- Provide test specifications
Project Management and Collaboration
Version Control Integration
System | Setup Location | Features |
---|---|---|
Git | Project » Version Control » Configure | Branch management, history, collaboration |
SVN | Project » Version Control » Configure | Centralized versioning, lock files |
Altium 365 | Project » Version Control » Connect to Server | Cloud-based versioning and collaboration |
DVCS | Project » Version Control » Configure | Distributed version control |
Collaboration Tools
Feature | Access Method | Purpose |
---|---|---|
Comments | Place » Comment | Add design notes and review feedback |
Compare | Project » Compare | Compare different revisions |
Variants | Project » Variants | Define product variations |
Draftsman | File » New » Draftsman Document | Create fabrication and assembly documentation |
ActiveBOM | File » New » ActiveBOM Document | Interactive BOM management |
Altium 365 Workspace | View » Workspace | Cloud-based collaboration platform |
Design Sharing | Project » Share | Share designs with team members |
Advanced Features and Extensions
Simulation Tools
Tool | Access Method | Capability |
---|---|---|
Mixed-Signal Simulator | Tools » Circuit Simulator | SPICE-based circuit simulation |
Signal Integrity | Tools » Signal Integrity | High-speed signal analysis |
PDN Analyzer | Tools » Signal Integrity » PDN Analyzer | Power delivery network analysis |
SIMetrix/SIMPLIS | Third-party integration | Advanced circuit simulation |
3D Design Integration
Feature | Access Method | Purpose |
---|---|---|
3D PCB View | View » Switch to 3D | View PCB in 3D |
STEP Model Creation | Tools » Generate STEP Model | Create 3D model of PCB |
MCAD Integration | Tools » Import/Export STEP | Exchange with mechanical CAD software |
Component 3D Bodies | PCB Library » 3D Bodies | Add 3D models to components |
Board Shape From STEP | Design » Import Board Shape From STEP | Create board outline from mechanical model |
Board Planning Mode | View » Board Planning Mode | Preliminary component placement |
Programming and Extension
Feature | Access Method | Capability |
---|---|---|
Script Editor | Tools » Scripting System » Script Editor | Create automation scripts |
DelphiScript | Built-in scripting language | Automate repetitive tasks |
VBScript | Alternative scripting language | Windows-friendly automation |
COM API | Developer documentation | Create external integrations |
Run Script | Tools » Scripting System » Run Script | Execute automation scripts |
Plugins | DXP » Extensions and Updates | Add functionality through plugins |
Keyboard Shortcuts Quick Reference
General Shortcuts
Action | Windows Shortcut | Mac Shortcut |
---|---|---|
New Document | Ctrl+N | ⌘+N |
Open Document | Ctrl+O | ⌘+O |
Save | Ctrl+S | ⌘+S |
Save As | Ctrl+Alt+S | ⌘+Option+S |
Ctrl+P | ⌘+P | |
Undo | Ctrl+Z | ⌘+Z |
Redo | Ctrl+Y | ⌘+Shift+Z |
Cut | Ctrl+X | ⌘+X |
Copy | Ctrl+C | ⌘+C |
Paste | Ctrl+V | ⌘+V |
Select All | Ctrl+A | ⌘+A |
Find | Ctrl+F | ⌘+F |
Find Next | F3 | ⌘+G |
Zoom In | Ctrl+Plus | ⌘+Plus |
Zoom Out | Ctrl+Minus | ⌘+Minus |
Fit Document | Ctrl+Home | ⌘+Home |
Cross Probe | Ctrl+E | ⌘+E |
Toggle Panels | F3 | F3 |
Schematic Specific Shortcuts
Action | Windows Shortcut | Mac Shortcut |
---|---|---|
Place Wire | W | W |
Place Power Port | P, P | P, P |
Place Ground | P, G | P, G |
Place Net Label | L | L |
Place Bus | P, B | P, B |
Place Component | P, C | P, C |
Place Junction | J | J |
Rotate | Spacebar | Spacebar |
Flip | X | X |
Compiler | F7 | F7 |
Update PCB | D, U | D, U |
PCB Specific Shortcuts
Action | Windows Shortcut | Mac Shortcut |
---|---|---|
Switch to 2D/3D | 3 | 3 |
Route Track | Ctrl+W | ⌘+W |
Add Via | P, V | P, V |
Change Active Layer | * or + | * or + |
Toggle Layer Visibility | Shift+S | Shift+S |
Measure Distance | M, M | M, M |
Design Rule Check | T, D | T, D |
Update from Schematic | D, U | D, U |
Toggle Connection Lines | N | N |
Toggle Grid Display | G | G |
Polygon Pour | P, P | P, P |
Teardrops | D, T | D, T |