Symbols and Footprints#
When creating a schematic in Altium, there are many different ways to place components and use their footprints for the layout. In a project for the UltraZohm the UltraZohm component library is used exclusively. If the required components are not available in the current library status they must be added. Newly added components must fulfill the following requirements:
A
.SchLib
or.PcbLib
file must contain only a single symbol or footprint. If this requirement is not fulfilled it is impossible to resolve merge conflicts when people are working on the libraryThe footprint must follow the mapping of the mechanical layers. This is vital in order to generate high quality documentation and production output. The requirements can be found under Mapping of the mechanical layers
If the manufacturer supplies a 3D model of the component it must be included to the footprint.
If the user detects a footprint that does not follow the requirements mentioned above he is strongly encouraged to update the component or to open an issue and assign it to the maintainer (i.e. creator) of the component.
Extraction of footprints and symbols#
In the following, 4 different ways will be presented, how to create the appropriate schematic and footprint format for the Altium DB Library used in the UltraZohm project:
Separate files for symbol and footprint#
If both the schematic as well as the footprint are available from the manufacturer for Altium in separate files and if these files only contain one symbol or footprint you can start directly by integrating these components into the library. Please be aware that you will have to adjust the mechanical layers in the footprint. See UltraZohm components library for further instructions. If the desired component is combined in a library with several other components, see the following sections.
More than one symbol or footprint in one file#
If a component is in a library file (.SchLib
or .PcbLib
) with several other components this component must be separated from the other components in the schematic symbol library as well as in the footprint library.
Altium provides the Library Splitter Wizard
for this purpose so no manual extraction is required.
Open the existing schematic library in Altium
Use the Altium Library Splitter Wizard
Tools
–>Library Splitter Wizard
Press
Next
Add
the schematic and footprint lib
Select both
Press
Next
Select the Output Directory (Therefore, it might be suitable to create one folder for the schematic symbols and one for the footprints.)
Press
Next
Press
Next
Press
Next
Press
Finish
All schematic symbols are separated from the others
All footprints are separated from the others
Now all components are separated from each other and it is possible to proceed with the instructions of UltraZohm components library .
Components are included in an integrated library#
Open the integrated library in Altium and choose
Extract Sources
All included schematic and footprint libs will be listed in Altium
If more than one schematic and one footprint lib exist in the integrated library, choose the necessary footprint library and press
File
->Save as
.
Save also the necessary schematic library.
The integrated library is separated in schematic and footprint library.
Now it can be continued with the instruction: More than one symbol or footprint in one file.
Components are available as an ECAD MODEL#
Sometimes, there are no symbols or footprints directly from the manufacturer available. Then you can use the component search engine (https://componentsearchengine.com/logPartRequest.php), where you can access a large number of already existing components or request new models for Altium.
To enter these components into the database, proceed as follows:
Download the Model from the homepage - Part 1
Download the Model from the homepage - Part 2
Save the model
Ok
Extract the zip-file
5. Open Altium and a schematic file before the Altium Loader will be opened by selecting File
–> Symbols Footprints 3D Models
(If this tab does not exist, the necessary plug in is missing.
Therefore read and install the Altium Library Loader https://www.samacsys.com/altium-designer-library-instructions/)
Open the ECAD model
Navigate to the unzipped epw-file and select it
After a short load time the following message appears. Press
OK
.
The component is included in the SamacSys schematic and footprint lib (default generated)
At this point, the SamacSys lib can be reused or the respective symbols with the corresponding footprint can be stored in a temporary lib. Afterwards you have to continue with the instructions: More than one symbol or footprint in one file
Mapping of the mechanical layers#
When creating a component several layers types can be defined. Besides the standard layers like Top and Bottom copper overlay etc. mechanical layers can be defined. These layers carry information for the generated documentation output. In order to be able to reuse a certain output job to generate the documentation and production output the mechanical layers must follow a uniform mapping. The mapping is distinguished in two different categories:
Component Layer Pairs: These layers exist symmetrically on top and bottom
Other mechanical layers: These layers only exist once
Table 65 shows the mapping of the component layer pairs to the functions. Even if Altium can handle the numbering of the layers automatically when assigning component layer pairs in the UltraZohm library only components that follow this layer mapping are accepted. The mapping of the additional mechanical layers from Table 66 must be considered especially in the PCB design when putting certain meta information in the layout.
Layer |
Function |
---|---|
M3 |
3D Body Top |
M4 |
3D Body Bottom |
M5 |
Assembly Drawing Top: Component outline |
M6 |
Assembly Drawing Bottom: Component outline |
M7 |
Courtyard Top |
M8 |
Courtyard Bottom |
M9 |
Designator Top |
M10 |
Designator Bottom |
M11 |
Component Center Top |
M12 |
Component Center Bottom |
M13 |
Value Top |
M14 |
Value Bottom |
M15 |
Hard Gold Plating (e.g. edge connectors) Top. Use the predefined layer pair here. |
M16 |
Hard Gold Plating (e.g. edge connectors) Bottom. Use the predefined layer pair here. |
M17 |
Soft Gold (ENIG) Top. No predefined layer pair. Just create two additional mechanical layers. |
M18 |
Soft Gold (ENIG) Bottom. No predefined layer pair. Just create two additional mechanical layers. |
M19 |
Dimensions Top |
M20 |
Dimensions Bottom |
Layer |
Function |
---|---|
M1 |
Board Shape |
M2 |
Board Dimensions |
M31 |
Route Tool Path |
M32 |
Fab Notes |
M33 |
Assembly Notes |
M34 |
Board |
M35 |
V-Cut |
Unfortunately, the footprints that can be obtained from the manufacturer usually do not follow the mapping from the table above. Fig. 170 shows a typical mechanical layer stackup when a component is freshly downloaded from the manufacturer homepage.
In order to adapt those components to the required layer mapping there are two ways of editing your new library part:
Loading the stackup template file from the UltraZohm Altium Library
Editing the layers manually
Loading Stackup Template File#
Clone the UltraZohm Altium Library Repository to your local drive (https://bitbucket.org/ultrazohm/altium_libraries/).
Create a new PCB Library in Altium altium-designer
Import the predefined mechanical layer stackup file that is located in the Altium Library Repository under
..\altium_libraries\templates\mechanical_layers_Pcblib
After successful loading of the mechanical layer stackup template file your layer set should look like following
Editing Layers Manually#
If you prefer to editing the layers manually, then the following steps are necessary:
Create all required mechanical layer pairs. You do not need to create all layer pairs defined in Table 65
Right-click
in the layer areaSelect
Add component layer pair
and fill out the dialog with the mapping from Table 65
Move the objects from the previous layer to the new layer. Example: Moving the 3D body from layer M1 to M3
Hide all layers except M1
Select everything on M1 (Ctrl-A) and move selected objects to M3 in the properties panel.
Delete M1
Repeat step 1 and 2 for all objects that are on the wrong layer