Schematic Symbol and Footprint Guidelines

Introduction

The following text is a general guideline for schematic symbols and footprint creation in WARG. Your company standards may and likely will differ from those shown here so be sure to check with your supervisor if you choose to use these in any potential co-op position.

This document is basically required reading for using our library. There are some recordings that give walk throughs on how to do this as well!

Preliminary Checks and Steps

  • Before creating a part, check the component library to see if it already exists to avoid duplicate parts.

    • Try searching the exact part number you’re looking for

    • Try to select the component category that best describes the component you are working with and hunt around for the component you want a bit.

    • Do not add duplicate manufacturer part numbers to the library ….

Within the New Component Creation Menu

Name Field

Put the part number that is given on Digikey or another provider.

Altium may prompt you to automatically import a bunch of garbage for the component, politely declining is the best path forward. It is better to have no parameters then it is to have so much trash nobody knows what is going on.

Description Field

The description field for certain standard parts is as follows:

  • Resistors: RES [RESISTANCE] OHM ±[TOLERANCE]% [POWER RATING]W [PACKAGE]

  • Capacitors: CAP [TYPE (ALUM, CER, TANT, TANT POLY, FILM, ETC.)] [CAPACITANCE]F ±[TOLERANCE]% [VOLTAGE RATING]V [TEMPERATURE COEFFICIENT] [PACKAGE]

    • Note: The temperature coefficient is typically only seen in ceramic capacitor datasheets so don’t sweat it if you can’t find it if you are using a different type of capacitor.

  • Inductors: [TYPE (FIXED, ADJUSTABLE, ETC.)] IND [INDUCTANCE]H ±[TOLERANCE]% [CURRENT RATING]A [DC RESISTANCE] OHM [PACKAGE]

    • Note: Although fixed inductors are typically used, some of the above fields might be harder to find for adjustable inductors (namely current rating and DC resistance). Once again, don’t sweat it if you can’t find it.

For most other common components, copying the Digikey description is sufficient but you might run into certain components like voltage regulators or ICs that have important information missing. An example would be the explicit inclusion of “ISOL” in the description of a switching regulator if it is of the isolated variation. Don’t hesitate to reach out to a team member if you are not sure about the relevancy of something you want to include. Also refer to things that are already in the library

Parameters

Aim to have fewer rather than more as you do not want to clutter your component parameter section. Try to add the ones that matter or are important in general use cases based on the component type.

For Common Components please use exactly the parameters in . This is done so the parameters show up correctly with our common symbols.

For non common components Some general ones include but are not limited to:

  • Value

  • Mount type

  • Package name

  • Voltage Rating

  • Current Rating

  • Tolerance

  • Operating Temperature Range

Part Choice Box

Add it if it is available. Useful to add it here as it will come in handy in the process of assembling your bill of materials (BOM).

Schematic Symbol and Footprint Creation

Within the component creation menu, you can add the component schematic symbol and footprint for the new component. You are given the option to either create a new one from scratch, use the symbol or footprint creation wizard, or select an existing one.

Existing

Do not import existing footprints from resources on the web!!

  • Check for existing schematic symbols and footprints based on the component package name and check that it matches the one shown in your component datasheet. That way, you won’t need to spend time creating a new one.

    • There are existing footprints for all common components. If there are multiple that appear identical this is because people have made mistakes when using our library. Select the “where used” field to see what components use a given symbol or footprint and ensure that you use the one that is most commonly used. The others should be deleted eventually and the components moved over to the common symbol or footprint.

  • Searching for existing footprints based on package name can oftentimes yield more than 1 footprint with the same package name. You can access filter options through the cog-wheel button to show only the latest footprints in hopes that the newer ones fit the most recent standards.

  • You can also check the “Where used” tab at the bottom of the menu to see which components are used across the various boards in the electrical repository. Typically, the components used on an actual board or in more places are more reliable than the ones that have not been used.

  • If you add a part choice when creating your part, Altium will often find and automatically load symbols and footprints for you. THESE ARE OFTEN WRONG. If you would like to use these, carefully check and refer to your datasheet to make sure to make sure all the pads and dimensions are correct. Also, ensure that the footprint is using the WARG stackup (details on this under “Component Stackup and Dimensions” in this document). If you aren't sure, make the footprint or ask for help. This likely won’t be checked closely during a design review and will be costly if it is incorrect when we order the boards.

Wizard

  • The wizard is quite an easy tool to use for generic parts but be sure to

    • you must import our layer stackup after using the wizard and manually reassign the layers for wizard generated footprints

    • double-check the resultant schematic symbol or footprint to ensure that they match the specifications.

    • check that they match the standards highlighted below in the manual method.

  • The wizard is not as good for more unique components that do not fit in any exact component category, especially for footprints. You might find yourself taking longer to create the component than the manual method with trying to match datasheet measurements with the most likely fields requested in the wizard and any fixing you might need to do after if the footprint does not match the one shown in the datasheet.

    • Knowing how to draw a footprint or symbol manually is a great skill and is often required. Do not be worried.

Manual Method

  • You can choose to manually create the schematic symbol or footprint for your part by selecting the “New” option in the drop-down menu for each respective section in the New Component Creation Menu.

    • To preface, all schematic symbols should be created using a mils grid and specifically a 100mil grid for pins and component bodies while

    • all footprints should be done in an mm grid,

      • all of layout is done in mm with the exception being impedance matching for differential pairs where the standard is mils for manufacturing purposes.

    • hit q to switch units.

  • Do not do this for resistors, capacitors, inductors, and other common components.

    • We have pre-existing symbols and footprints for these. Do not create or clone any symbols or footprints for these common types of components.

Within the Schematic Symbol Editor

Pin Configuration

  • Base the schematic symbol off of what is given in the datasheet, be it the actual symbol with the pinout if you are lucky and it is given, or a pinout table with the nets paired with their respective pin number.

  • If the pinout table has skipped pin numbers within a series (ex: 1, 2, 6, 7, 8, 9, 14), do not worry about the missing pin numbers, use the exact ones described in the table.

  • Parts should show ALL pins - ex: if a MOSFET has 4 drain pins, all 4 should be included as separate pins.

  • Power should be in the top left and GND should be in the bottom right. If the part is a voltage translator, input power should be in the top left, and output power should be in the top right.

  • After placing the appropriate number of pins, the following apply to their respective property fields:

    • Designator: Fill in the pin number as denoted in the pinout table or datasheet symbol.

    • Name: Fill in the pin name or mark given in the pinout table or datasheet and make sure to enable the visibility icon. Capitalize any uncapitalized letters.

      • Some pins may denote an inverted pin or output using a line over a letter in the pin name. You can add the line above a letter by using a backslash before the letter in the name field (ex: \C\T\R\L).

      • Active low pins are indicated with an overbar notation or with a “_n” following the pin name.

  • If the schematic symbol is not given in the datasheet, place the pins in an orientation that reduces clutter in the schematic editor or the amount of overlap between wires.

Main Symbol Body Configuration

  • After placing the rectangle or main body of the component, the following apply to their respective property fields:

    • Designator: Put the designator letter for your appropriate part followed by a question mark. This allows Altium to automatically number parts when in the schematic editor and subsequently in the PCB layout editor. If you are unsure about what letter to use, the appropriate letter based on the component type can generally be found here: Reference designator - Wikipedia

  • The center point of the schematic symbol is denoted by the intersection between the two black lines. This will be the point at which your cursor will be relative to the rest of the symbol. For this reason, move your symbol relative to the center point that allows for convenient placement, be it at the top left corner of the main body or in the middle of the main body.

Figure 1: Example of a component-specific schematic symbol addition with the dashed red line
  • Sometimes, you will have components with more specific features that improve the symbol. Figure 1 shows an example of this with an IC that features a dashed red line down the middle denoting the isolation of the pins on either side. This helps during the PCB layout process as a constant reminder to maintain the isolation between the nets on both sides. If you are creating a non-standard component, feel free to reach out to other team members if you are unsure about missing something that would improve the symbol.

Within the Footprint Editor

It is highly recommended to design your own footprints. If you use an off the shelf one from a random website, confirm it’s validity with the manufacturer’s datasheet and manually transfer everything over to use our layer stack below. using a different layer stack will cause problems when someone goes to do layout.

Component Stackup and Dimensions

  • Before starting with anything, import the WARG stackup through Tools → Import Mechanical Layers and choose the stackup in the following path within the WARG electrical repository: https://github.com/UWARG/hardware/blob/master/Templates/warg.stackup

  • Create the footprint based on the dimensions from the datasheet. Usually, the units will be given but you might need to guess if they are not or get into contact with the manufacturer to confirm the units.

Figure 2: Example dimension of a 5mm line
  • Dimensions are measured from end to end of a given line without taking into account the radius of the rounded ends of the line. For example, Figure 2 depicts a line created using a 5mm dimension.

  • 0.2mm is generally a good line width to go with for all lines in the footprint, but this may change with smaller components.

  • The center of the footprint should always be at the center of the main body of the footprint with the exception of connectors/headers where the origin goes to pin 1. This is important as the origin is the axis of rotation when designing the PCB. Like the schematic symbol center point, this will also be the point at which your cursor will be relative to the rest of the footprint during placement.

General Tips for Spacing and Aligning Components

  • Place the components roughly first, then check using the measurement tool (R + M) to see how far off you are. (Shift +C) clears all measurements to avoid clutter when you are finished using them. If your measurement tool is unable to snap to the desired place on a pad or line like the pad edges, adjust the snapping options in the properties tab when you have nothing selected.

  • (X) flips the selected objects across the x-axis and (Y) flips the selected objects across the y-axis.

  • (Shift + S) to toggle between the viewing layer option (ex: Showing all layers, only current layer, etc.).

  • Selecting one object and then (TAB) selects everything else touching the selected object within the layer.

  • (E + A) with the “Paste on current layer” option selected for pasting the selection you want to copy from a different layer onto the layer you are currently on. Otherwise, just doing (Ctrl + V) will paste the copied selection on the original layer, creating a duplicate on that layer.

  • The datasheet will oftentimes not give the comprehensive dimensions and spacings for the component. It just comes down to careful geometry and math as one wrong measurement could ruin your component.

Top Layer: Pad Configuration

  • After placing the appropriate pads, the following apply to their respective property fields:

    • Designator: Put the appropriate pad number based on the initial rough placement of your pads and their respective pad shown in the datasheet. Altium will automatically link the footprint designator with the pin designator in the schematic symbol and its appropriate net so be sure to get this correct.

    • Corner radius: A corner radius of 10-15% is generally used but this is solely for aesthetic purposes so do what you will with this field. Do keep in mind that if you make the corner radius too small, then it may not be manufacturable and will end up just being your standard 90° corners.

    • Paste Mask Expansion: Usually set to Rule with 0mm but if it is not 0mm, manually set it to that. Verify in the Top Paste layer that it is present for all pads.

    • Solder Mask Expansion: Usually also set to Rule with 0.05mm but if not, manually set it to that. Verify in the Top Mask layer that it is present for all pads.

Component Outline and Courtyard Layers

  • The component outline layer is based on the outermost dimensions of the component in the datasheet.

  • It is also recommended to a + sign at the center point in the component outline layer as a useful indicator during placement.

  • Generally, the top courtyard layer is the same as the component outline layer, but it deviates when there are overhanging components; for indicating the space taken up by components in the air above the board rather than the actual space on the board.

Top Overlay Layer (Silkscreen)

  • You want this layer to be visible when the component is soldered, hence it should be wider than the component itself; wider than the component outline layer. A general guideline is to copy the component outline layer and add the general tolerances for dimensions given in the datasheet to each of the lines.

  • If the resultant top overlay layer comes into contact with any of the pads, delete or shorten the problematic line until it no longer does or expand the entirety of the outline. This is done as the manufacturers do not make silkscreen on top of the pads as you would not be able to solder the components onto them. Check out other existing components and their silkscreens to get an idea of how the silkscreen is shortened or cut out whilst maintaining symmetry.

  • Add a pin 1 indicator. This is typically done using a 0.25mm radius circle next to pin 1 for ICs or an arrowhead pointing at pin 1 for headers/connectors. You might also see certain components using notched corners or inline dots to indicate pin 1 with the existing PCBs. Just try to keep to one convention on a single board for consistency purposes unless it is inconvenient for dense ICs or other components.

  • For through-hole pads, verify both Top Solder and Bottom Solder layers show the solder mask.

Top Designator Layer

  • Add a string close to the center of the main body of the component and adjust the following fields:

    • Text Height and Stroke Width: Scale these based on the component for visibility and clarity.

    • Text: Put “.Designator” which tells Altium to replace it with the component designator from the schematic with its appropriate letter and number.

Top 3D Body

  • You can download the 3D body of the component from the component on the site you found it at (like Digikey) or you can find it on SnapEDA.

  • If you cannot find anything for your component, you can go to Place → Extruded 3D Body and manually draw out the 3D body on this layer. You can adjust the desired extruded height in its Overall Height field. In 3D view, which you can access by clicking 3 whilst in the footprint editor, you will be able to see the extruded body that you drew.

  • If the 3D model is available, download the .step file, and import it using the Place 3D Body icon in the top toolbar. Oftentimes, the imported 3D body will not be orientated correctly. To fix this, you can go to Tools → 3D Body Placement → Align Face With Board and select a surface that comes into contact with the board (this is often times the bottom face of a pin). You can also select the layer in the 2D view and rotate it about the Z axis by using the space key if that is also not orientated properly.

  • Back in the 2D layer view, place the 3D model at the center of the component.

All other layers

Ensure all other layers do not have garbage in them. This can cause problems. Refer to this as an example.

Finished With Creating the Component?

  • When finished with creating a new component, be sure to save it to the server.

    • you should be saving to server early and often, we don’t want to lose work!!

  • Oftentimes, Altium will show any detected errors with your component when your try to save it to the server. Although it is often false alarms, it is always to check the contents of the error in the messages tab to ensure that it is not actually a problem.

  • When creating a new component, just put “initial release” in the release notes.

  • When updating an existing component, put a meaningful description specifying what you changed before clicking OK.

    • This is relevant to people who are unsure if they should update the component in their project from the libraries.

    • Brevity is key.