# Altium Documentation and support files for Altium at Reykjavik University * Maintainer: Joseph T. Foley * Main Contact: `cad-admin` at RU.IS ## Students: * Get your license at [Altium Education](altium-education.md) * Getting help, particularly regarding licenses: `studentsupport@altium.com` ## Staff: * Contact `cad-admin` requesting access. We have a very limited number of staff licenses. # Overview Altium Designer is an expensive professional-grade ECAD software for schematic capture, PCB layout, and simulation. They also sell free PCB layout tools for hobbyists under the name [CircuitMaker](https://www.altium.com/circuitmaker). * Altium requires the Windows operating system. If you are on linux or OSX, you will need to run it in a 64-bit virtual machine. We recommend using VirtualBox with Windows 11 Education at the [Microsoft Azure Dev Tools for Teaching](https://aka.ms/devtoolsforteaching) * All Altium licenses and content has been moved into the official Altium Cloud called Altium 365. You will be using Altium 365 Workspaces detailed at https://www.altium.com/documentation/altium-365/workspace One large benefit is that you will be able to access Altium off campus without needing to use the VPN. ## Documentation: https://www.altium.com/documentation/ * Altium itself has a Help menu! * Altium Education ** Introduction to Altium 365: https://education.altium.com/p/altium-365-for-students ** Tutorial (after registration): https://education.altium.com/courses/unit-1-introduction-to-pcb-design * Altium365: https://www.altium.com/documentation/altium-365 * Classic Tutorial: https://www.altium.com/documentation/altium-designer/tutorial-complete-design-walkthrough * Tutorial and Hint Videos http://altiumvideos.live.altium.com * More videos: https://my.altium.com/discover # Reykjavik University Workspace 1. After getting a license, you will need to contact `cad-admin AT ru.is`: explain what class/project you are working on and that you need access to the Altium "Reykjavik University Workspace" 1. The first window is "License Management". You need to pick a license and click on "Use" before you can get started. 2. To access our Workspace, click on the "Not Connected" on the top right corner and pick "Reykjavik University". **Of note, anyone in the Workspace can see the work and parts that you have in this Workspace.** For more private work, create a new Workspace. 1. Click on the same spot again and it will open the "Explorer" so you can see what parts are already in our library. 1. If you make a particularly useful component, please share it in the Workspace so others can use it as well. 1. By default, things are public so if you need to change permissions on a project related to an assignment, please contact your instructor to change the "Share" setting on a file or directory. # Starting a PCB 1. Setup what pins are allowed to connect in the Project > Options > Connection Matrix * The most common change is to change IO to Output to be "No Report" otherwise connecting a Pi GPIO to an output will create a warning. 1. Find the Schematic Symbols and PCB layout in the Reykjavik University Workspace library * If they are missing, you will need to import them from the Manufacturer and/or create schematic symbols and footprints 1. Drag them onto your Schematic 1. Connect them together with appropriate wires and busses * Unattached inputs (for components with internal pullup/pulldown) can be left floating with a "NO ERC" marker 1. Project > Validate and look at the output in Messages 1. Test your circuit using a breadboard. **THIS IS VERY IMPORTANT to avoid wasting time later!** 1. Create a new PCB document in your project (Of note, the 2026 rover's plate has a size of 100x135mm (4x5.3 inches) 1. View > Board Planning Mode 2. Design > Edit Board shape 2. Drag handles until the size is what you want 2. View > 2D Layer Mode 2. Add a "keepout" line around the board if you want to use the Autorouter to avoid it routing off the board 1. Import the components from the Schematic by: Design > Import Changes from ... 1. It will create an Engineering Change popup showing the operations it will do 2. Click Validate (look for red X's for possible issues) 2. Click Execute # Pick a PCB manufacturer. This will determine the options for traces and vias. Some options in no particular order: ## [JLCPCB](https://jlcpcb.com/) This company is located in [Hong Kong (China)](https://jlcpcb.com/help/article/terms-%26-conditions) This The boards in the 2026 rover kits were made here. Website: https://jlcpcb.com/ ## [AllPCB](https://www.allpcb.com/) This company is somewhere in China. As of 2026-07-29 they were not accepting orders: "Due to adjustments to the Company's corporate governance structure, our website will temporarily suspend operations effective immediately. Outstanding orders and services will still be fulfilled as agreed. For more information, please contact your dedicated customer service representative. We apologize for any inconvenience and appreciate your understanding." The first iteration of the 2026 PowerMotor board was made here. Manufacturing capabilities at https://www.allpcb.com/advanced_pcb_manufacturing_capability.html * Drill hole size: 0.15-6.5mm * Minimum via/pad: * Double-side board: 0.2mm (inner diameter)/0.5mm (outer diameter) * Multi-layer board: 0.15mm (inner diameter)/0.25mm (outer diameter) * The outer diameter must be 0.1mm larger than the inner diameter, 0.15mm preferred * Preferred Min. Via hole size: 0.2mm * Minimum trace: This depends up on the copper thickness! (1OZ copper) 0.076/0.076mm(3mil/3mil). Tolerance is 20% so you probably want to set the width to 1mm * Silkscreen text minimum height 0.75mm, width 0.1mm * Silkscreen spacing from character to copper: 0.15mm ## [PCB4Less](https://pcb4less.com) This is a US PCB vendor, which may be helpful when collaborating with US partners. ## [EuroCircuits](https://www.eurocircuits.com/) Their headquarters is in Belgium. # Setup the Constraints These ensure that the vendor can make the board and the Design Rule Checker will catch the mistakes. Your chances of having a working board are very low if you skip this step! Design > Constraint Manager Clearances > All Nets Click on the dimension and set it to "0.2mm". You can go as small as 0.1mm if you are using the 1Oz AllPCB copper. Physical > All Nets Click on "Min Width" and look at the bottom of the screen Most manufacturers can handle Min: 0.2mm, Prefer: 2.5mm Max 2.5 as a default Power nets might want to have larger traces: Right click on "All Nets" > Classes > Add Class > Net Class Set the class as "Power" Select all the nets such as "GND" and "3V3" in Non-members and click ">" to make them members Click OK Click on the new "Power" class of nets Look at the bottom and set the Min: 0.5mm, Prefer 5.0mm, Max 0.9mm for some big traces Setup the layers of the board. RU CNC: Suggest doing it in one layer with jumper wires. Autoroute has an option for this. Most projects: 2 layer is cheapest and enough for most projects Fit in small space or lots of connections: 4 layers is commonly used on most modern devices Manually route wires (or use Autorouting, my favorite) to place all the wires. If you need mounting holes, create Pads with a hole of the size you want You'll have to assign it an identifier (such as S1, S2, S3,..) and match it to a pin in the "Pins" list Edit the schematic symbol and put the new pins slightly off the symbol Click on a blank spot Properties: Pins tab > click on the pencil to edit Uncheck the boxes for Show, Number, and Name on the mounting hole pads to hide them If the hole is bigger than 2.5mm, you'll have to increase the max hole constraint Constraint Manager > All Rules Scroll to Manufacturing > Hole size Expand "Advanced Rules" Increase the maximum to your mounting hole size Check for Design Rule violations and fix them Tools > Design Rule Check Click "Run Design Rule Check" which is on the bottom left! OK will just close the dialog. ## Output the job to send to the PCB manufacturer Create an Outjob to produce the files the PCB manufacturer wants (Gerber and NC drill usually) Right click on the project > Add New to Project > Output Job File Click on [Add New Fabrication Output] > Gerber Files > pick the PCB file Right click on Gerber Files and choose "Configure" Change the Units to Inches Click on "Plot Layers" and choose "Select Used" Click on [Add New Fabrication Output] > NC Drill Files > pick the PCB file Click on "Folder Structure" in the output containers on the right size Click on both of these Fabrication outputs on the right where there is a circle Click on the "Generate Content" This will put files into the folder on that container. This is usually something like "Documents\Altium\\|Project Outputs for \" Take all the files in the Gerber and "NC Drill" folder and put them in a zip file Submit the Gerber file and the NC Drill files to the PCB manufacturer and pay them the money. Some vendors have the option to have them send you the files to review before production: I choose that even if it costs more to avoid having an issue such as no holes getting drilled. Usually it takes 1 week to get your board back due to Icelandic shipping and customs. If you asked for a check before production, they will often send you a zip file with their CAM output. To check it (AllPCB example): Decompress the file somewhere easily accessible such as "AllPCB-cam". It will have two subdirectories: yg: the original Gerber files you sent in ok: the company's CAM output for you to look at Create a CAM document in your project such as "-AllPCB.cam" File > Import > Quick Load Change the filter to "all files" because the files do not have extensions (.gbl) instead the filename is just gbl Navigate to the AllPCB-cam/ok and click OK Examine the file to make sure that it looks like what you expect: no missing traces or holes When the board arrives: inspect it for missing traces, shorts, etc. (In one case, the board was missing an entire layer!) Solder one the components to the board (or send it to a fabricator for larger orders with a pick and place) Test, Share, and Enjoy! # FAQ ## How do I keep the part Comment from getting changed when the part in the library is updated? 1. In the SCH, click on the part and look at the Properties window 1. Click the lock symbol next to the Comment field 1. Click on the Comment text itself on the page 1. In the Properties window: make sure "Allow Sychronization with Database" is not checked ## How do I put the Value of resistors and other passive parts on the PCB You'll have to give up using the Comment field for this 1. Click on the part and open the Properties window 1. Under Comment, replace the text with `=Value` 1. Click on the Comment text itself on the page 1. In the Properties window: make sure "Allow Sychronization with Database" is not checked 1. Menu: Design > Update PCB Document ## How do I reuse footprints and symbols when creating a new part? Click on Existing in the dropdown Navigate to the "Models" folder Pick footprint or symbol ## My mounting holes are causing the footprint to get errors on Validation Edit the schematic symbol Click on an empty spot on the sheet Go to the Properties panel and select the Pins tab Click on the edit "pencil" Add the designators associated with the mounting hole pads Uncheck all the boxes regarding what is visible Click OK ## My mounting holes are causing the footprint to get errors on the Design Rule check "Hole Size Constraint" Open Constraint MNAGER Tab "All Rules" Scroll to Manufacturing > Hole Size Increase the Maximum to your hole size or create a new rule for your mounting holes specifically This page has a suggestion I'm still testing: https://electronics.stackexchange.com/questions/682935/how-can-i-select-mounting-holes-pads-for-design-rule-checks-or-queries-in-alti ## What if my component's pins have a missing number in the sequence? Validation fails! Oh boy. This took a while to figure out. The trick is to make a hidden pin just as you would for a mounting hole. See the suggestion above. I have a suspicion that if you make a hole with no copper, then maybe it isn't a pad. ## Surface mount components aren't working with the autorouter! Tight surfacemount components need a fanout before routing. Route > Autoroute > Setup Duplicate an existing one such as "Default 2 Layer Board" Rename your new route with "Default 2 Layer Board (SMD)" Make sure the first 3 steps (in the right panel are) Fan out signal Fan out plane Spread Click OK and OK Design > Contstraint Manager Clearances for All Nets: 0.076/3mil (if AllPCB) Physical All net: Min: 0.076mm, Prefer: 0.2mm, Max: 0.25 Make sure that if you have a Power net, it also has the same sizes In addition, the Constraints Manager is missing some of the SMT rules so the Autorouter makes some assumptions. Read the [Altium article "SMT Rule Types"](https://www.altium.com/documentation/altium-designer/pcb/design-rule-types/smt#smd-to-plane)for more information on these. Design > Constraint Manager All Rules SMT > SMD Neck-Down Create Advanced rule and keep the default neckdown of 50% ## I want to reuse my constraints to make another board without having to put all the numbers in again. How do I do this? Reference: https://www.altium.com/documentation/altium-designer/pcb/constraints-editor#new-custom-constraint-rule 1. Open the constraint manager (either on the Schematic or PCB depending upon where you set it up) 1. Open "All Rules" ab 1. Right click on "Rule Class" 1. Choose "Export all rules" 1. Pick which things to export if you don't want to include everything 1. Click on the "Export X Items" and choose which filename to put it in ## How do I move where various text shows up on the schematic symbol? https://www.altium.com/documentation/knowledge-base/altium-designer/control-component-parameter-appearance-in-schematic