Difference between revisions of "Making Parts for PCB Libraries"

From Stanford SSI Wiki
Jump to navigation Jump to search
(Created page with "This article describes how to create a new part in SSI's Altium PCB component libraries. SSI maintains a collection of Altium component libraries, many of them generously dona...")
 
(Added Creating a New Schematic Symbol section)
Line 1: Line 1:
This article describes how to create a new part in SSI's Altium PCB component libraries. SSI maintains a collection of Altium component libraries, many of them generously donated by the Stanford Solar Car Project.
+
This article describes how to create a new part in SSI's Altium PCB component libraries. SSI maintains a collection of Altium component libraries, many of them derived from libraries generously donated to SSI by the Stanford Solar Car Project.
  
 
==Introduction==
 
==Introduction==
[[File:SSIAltiumLibraryFiles.png|200px|thumb|The "Projects" pane, after opening SSI.libpkg]]
+
[[File:SSIAltiumLibraryFiles.png|200px|thumb|The "Projects" pane, after opening SSI.libpkg.]]
 
Prior to creating a part, you should have [[How to Install and Configure Altium|installed and configured]] Altium and TortoiseSVN. In Altium, open the SSI Library project - SSI.libpkg, in SSI_SVN/libraries/intlib - with File → Open Project {{altium-shortcut|f|j}}. Your "Projects" pane should now have a large number of .PcbLib and .SchLib files open (see right; open the projects pane with View → Workspace Panels → System → Projects {{altium-shortcut|v|w|s|p}} if the "Projects" pane is not visible).
 
Prior to creating a part, you should have [[How to Install and Configure Altium|installed and configured]] Altium and TortoiseSVN. In Altium, open the SSI Library project - SSI.libpkg, in SSI_SVN/libraries/intlib - with File → Open Project {{altium-shortcut|f|j}}. Your "Projects" pane should now have a large number of .PcbLib and .SchLib files open (see right; open the projects pane with View → Workspace Panels → System → Projects {{altium-shortcut|v|w|s|p}} if the "Projects" pane is not visible).
  
Line 8: Line 8:
 
* '''Schematic libraries''' (.SchLib files) store schematic symbols and the components they correspond with. Schematic libraries contain schematic editor symbols, links to footprints (from PCB libraries; see below), mapping between the pins in the schematic symbol and pads on the footprint, and links to the part supplier (most often, DigiKey)
 
* '''Schematic libraries''' (.SchLib files) store schematic symbols and the components they correspond with. Schematic libraries contain schematic editor symbols, links to footprints (from PCB libraries; see below), mapping between the pins in the schematic symbol and pads on the footprint, and links to the part supplier (most often, DigiKey)
 
* '''PCB libraries''' (.PcbLib files) contain the actual PCB layouts for library components. PCB libraries include landing patterns (the actual pad shapes that will appear on the PCB) and 3D models of the associated packages.
 
* '''PCB libraries''' (.PcbLib files) contain the actual PCB layouts for library components. PCB libraries include landing patterns (the actual pad shapes that will appear on the PCB) and 3D models of the associated packages.
* '''Integrated libraries''' (.LibPkg files) are Altium projects that combine Schematic and PCB libraries.
+
* '''Integrated libraries''' (.LibPkg files) are Altium projects that combine schematic and PCB libraries.
 
* '''Compiled libraries''' (.IntLib files) are installable files that allow you to use library parts in schematics and PCBs. Every time a part is added to a library, the Integrated library will need to be recompiled before the part can be added to a PCB project.
 
* '''Compiled libraries''' (.IntLib files) are installable files that allow you to use library parts in schematics and PCBs. Every time a part is added to a library, the Integrated library will need to be recompiled before the part can be added to a PCB project.
 +
 +
===Locking in SVN===
 +
[[File:SVNSchLibLock.png|300px|thumb|Right clicking on Connector.SchLib and scrolling down to Version Control brings up the "Lock" option.]]
 +
Prior to adding a part to a library, it's important to "lock" the library in SVN so that other people using the library don't create a conflicted copy. Locking does keep other people from making library edits at the same time, so do not lock a library unless you will be immediately editing it, and, even if a symbol or component is not completely done, commit any libraries you've locked before stepping away for an extended period of time (see [[#Recompiling_and_SVN_Management|Recompiling and SVN Management]]). To lock any library, right click on it in the Projects pane, click "Version Control," and then "Lock" {{altium-shortcut|''right click''|e|l}}. If you need to edit a locked library, mouse over the lock symbol in the Projects pane to see who has the lock, then message them in the {{slack-channel|altium}} Slack channel to ask if they still need the lock. You can override the lock, but doing so creates the risk of a conflict and will result in lost work if the lock is protecting ongoing changes.
  
 
==Creating a New Schematic Symbol==
 
==Creating a New Schematic Symbol==
 +
[[File:SchLib.png|200px|thumb|A view of the SCH Library pane after opening the Connectors SchLib.]]
 +
[[File:Schpin.png|300px|thumb|A pin in a schematic symbol. Note the small white dots on the left side mark where wires will connect in schematics; this pin is on the left side of an IC.]]
 +
[[File:PinProperties.png|300px|thumb|The pin settings dialogue brought up during pin placement.]]
 +
 +
===Drawing a Symbol===
 +
 +
To create a new schematic symbol, lock the relevant schematic library, then double click the library to open it. If not already visible, open the "SCH Library" pane {{altium-shortcut|v|w|c|b}} and look at the top field, where there should be a list of symbols. Click "Add" to create a new symbol, giving it a name consistent with the names used in the library (''this is poorly standardized, but typically consists of, in all caps, <category_of_component>_<manufacturer_part_number>''). Your new part should then become active, bringing up a blank editing window.
 +
 +
Next, you'll draw out the graphics for your symbol. Begin by setting the snap grid of the editor (the grid of points it will allow for drawing) to 10 point spacing, by opening the snap grid settings {{altium-shortcut|v|g|s}} and entering 10 for the snap grid size. This is not strictly required, and smaller grids can be used to create finer detail in symbols (5 and 2.5 are recommended), but all connection points for the symbol (added later) must be placed on a 10 point grid and thus symbols should be drawn to accommodate that.
 +
 +
For logic gates, transistors, and other components that traditionally have distinct schematic symbols, it is helpful to draw those symbols - you can often copy the graphics from an existing, similar part by simply opening the existing part from the symbols list in the SCH Library pane, selecting all of the symbol in the editing window and copying, then reopening and pasting into your own symbol. You should then delete all of the pins and replace them as described below. If no suitable symbol exists, draw a symbol by placing lines {{altium-shortcut|p|l}}, referring to existing symbols for guidelines on size and color. Altium's documentation of the line tool is available [http://techdocs.altium.com/display/ADRR/Sch_Obj-Line((Line))_AD here].
 +
 +
Integrated circuits are typically represented in schematics simply with rectangles; you can place a rectangle {{altium-shortcut|p|r}} by specifying two opposite corners. Rectangles are easy to resize; it is recommended that you start with a large rectangle and downsize after placing pins.
 +
 +
===Pins===
 +
 +
Pins are how your symbol will be connected to wires when used in schematics. Enter the pin placement tool {{altium-shortcut|p|p}}, but before clicking to place your first pin, bring up the pin placement settings window {{altium-shortcut|tab}}. If designing a footprint for an IC, enter the pin name for the first pin in "Display Name," and set the "Designator" to the first pin's pin number (typically 1). If placing a pin for a symbol where a name should not appear, uncheck the "Visible" box by Display Name, and set the Designator to the appropriate number. Finally, set "Length" to 20, and exit the "Pin Properties" dialogue. You can now place your pin - '''make sure you are using a 10 point snap grid, as failing to do so can lead to errors in boards that use your symbol.''' After clicking to place your pin, you should automatically be able to place another pin, with the designator automatically incremented - enter Pin Properties {{altium-shortcut|tab}} to set the Display Name (and Designator, if needed), and then place your next pin. Repeat until all pins are placed.
 +
 +
Next, resize rectangles and lines and move pins around until you're satisfied with the look of the symbol. You're done drawing the symbol! Make sure to save the .SchLib you're working on - if you're not going to immediately proceed to Creating a New Package and/or Finishing a Component, [[#Commit_Files_to_SVN|commit]] the library you were working on - this will release the lock and allow others to work on the library.
 +
 +
''While this is the generic approach for drawing a schematic symbol, Altium also contains [https://techdocs.altium.com/display/ADOH/Schematic+Symbol+Generation+Tool tools] for automatically drawing certain types of symbols.''
  
 
==Creating a New Package==
 
==Creating a New Package==
Line 19: Line 44:
  
 
==Recompiling and SVN Management==
 
==Recompiling and SVN Management==
 +
 +
===Commit Files to SVN===
  
 
{{altium-stub}}
 
{{altium-stub}}
 
[[Category:Altium]]
 
[[Category:Altium]]

Revision as of 16:16, 14 June 2016

This article describes how to create a new part in SSI's Altium PCB component libraries. SSI maintains a collection of Altium component libraries, many of them derived from libraries generously donated to SSI by the Stanford Solar Car Project.

Introduction

The "Projects" pane, after opening SSI.libpkg.

Prior to creating a part, you should have installed and configured Altium and TortoiseSVN. In Altium, open the SSI Library project - SSI.libpkg, in SSI_SVN/libraries/intlib - with File → Open Project AltiumLogo.png f → j. Your "Projects" pane should now have a large number of .PcbLib and .SchLib files open (see right; open the projects pane with View → Workspace Panels → System → Projects AltiumLogo.png v → w → s → p if the "Projects" pane is not visible).

Altium has several different noteworthy types of libraries.

  • Schematic libraries (.SchLib files) store schematic symbols and the components they correspond with. Schematic libraries contain schematic editor symbols, links to footprints (from PCB libraries; see below), mapping between the pins in the schematic symbol and pads on the footprint, and links to the part supplier (most often, DigiKey)
  • PCB libraries (.PcbLib files) contain the actual PCB layouts for library components. PCB libraries include landing patterns (the actual pad shapes that will appear on the PCB) and 3D models of the associated packages.
  • Integrated libraries (.LibPkg files) are Altium projects that combine schematic and PCB libraries.
  • Compiled libraries (.IntLib files) are installable files that allow you to use library parts in schematics and PCBs. Every time a part is added to a library, the Integrated library will need to be recompiled before the part can be added to a PCB project.

Locking in SVN

Right clicking on Connector.SchLib and scrolling down to Version Control brings up the "Lock" option.

Prior to adding a part to a library, it's important to "lock" the library in SVN so that other people using the library don't create a conflicted copy. Locking does keep other people from making library edits at the same time, so do not lock a library unless you will be immediately editing it, and, even if a symbol or component is not completely done, commit any libraries you've locked before stepping away for an extended period of time (see Recompiling and SVN Management). To lock any library, right click on it in the Projects pane, click "Version Control," and then "Lock" AltiumLogo.png right click → e → l. If you need to edit a locked library, mouse over the lock symbol in the Projects pane to see who has the lock, then message them in the SlackLogo.png#altium  Slack channel to ask if they still need the lock. You can override the lock, but doing so creates the risk of a conflict and will result in lost work if the lock is protecting ongoing changes.

Creating a New Schematic Symbol

A view of the SCH Library pane after opening the Connectors SchLib.
A pin in a schematic symbol. Note the small white dots on the left side mark where wires will connect in schematics; this pin is on the left side of an IC.
The pin settings dialogue brought up during pin placement.

Drawing a Symbol

To create a new schematic symbol, lock the relevant schematic library, then double click the library to open it. If not already visible, open the "SCH Library" pane AltiumLogo.png v → w → c → b and look at the top field, where there should be a list of symbols. Click "Add" to create a new symbol, giving it a name consistent with the names used in the library (this is poorly standardized, but typically consists of, in all caps, <category_of_component>_<manufacturer_part_number>). Your new part should then become active, bringing up a blank editing window.

Next, you'll draw out the graphics for your symbol. Begin by setting the snap grid of the editor (the grid of points it will allow for drawing) to 10 point spacing, by opening the snap grid settings AltiumLogo.png v → g → s and entering 10 for the snap grid size. This is not strictly required, and smaller grids can be used to create finer detail in symbols (5 and 2.5 are recommended), but all connection points for the symbol (added later) must be placed on a 10 point grid and thus symbols should be drawn to accommodate that.

For logic gates, transistors, and other components that traditionally have distinct schematic symbols, it is helpful to draw those symbols - you can often copy the graphics from an existing, similar part by simply opening the existing part from the symbols list in the SCH Library pane, selecting all of the symbol in the editing window and copying, then reopening and pasting into your own symbol. You should then delete all of the pins and replace them as described below. If no suitable symbol exists, draw a symbol by placing lines AltiumLogo.png p → l, referring to existing symbols for guidelines on size and color. Altium's documentation of the line tool is available here.

Integrated circuits are typically represented in schematics simply with rectangles; you can place a rectangle AltiumLogo.png p → r by specifying two opposite corners. Rectangles are easy to resize; it is recommended that you start with a large rectangle and downsize after placing pins.

Pins

Pins are how your symbol will be connected to wires when used in schematics. Enter the pin placement tool AltiumLogo.png p → p, but before clicking to place your first pin, bring up the pin placement settings window AltiumLogo.png tab. If designing a footprint for an IC, enter the pin name for the first pin in "Display Name," and set the "Designator" to the first pin's pin number (typically 1). If placing a pin for a symbol where a name should not appear, uncheck the "Visible" box by Display Name, and set the Designator to the appropriate number. Finally, set "Length" to 20, and exit the "Pin Properties" dialogue. You can now place your pin - make sure you are using a 10 point snap grid, as failing to do so can lead to errors in boards that use your symbol. After clicking to place your pin, you should automatically be able to place another pin, with the designator automatically incremented - enter Pin Properties AltiumLogo.png tab to set the Display Name (and Designator, if needed), and then place your next pin. Repeat until all pins are placed.

Next, resize rectangles and lines and move pins around until you're satisfied with the look of the symbol. You're done drawing the symbol! Make sure to save the .SchLib you're working on - if you're not going to immediately proceed to Creating a New Package and/or Finishing a Component, commit the library you were working on - this will release the lock and allow others to work on the library.

While this is the generic approach for drawing a schematic symbol, Altium also contains tools for automatically drawing certain types of symbols.

Creating a New Package

The component created above may already have a footprint in a PCB library; if so, skip this step and proceed to "Finishing a Component".

Finishing a Component

Recompiling and SVN Management

Commit Files to SVN

AltiumLogo.pngThis Altium-related article is a stub. You can help SSI by expanding it.