UltraZohm components library#
Before starting with the description and instructions on how to use the database system in Altium, a brief overview of the different tools is given.
The library system splits up in three different locations:
The altium_libraries repository. All schematic symbols and PCB footprints of the individual components as well as the DbLib file that is required to connect to the database on the Ultrazohm server is located in this repository
The UltraZohm server: All component parameters like Manufacturer Part Numbers etc. are managed by a MariaDB database on the server. In order to edit database records a separate database client (e.g. DBeaver) is recommended.
User’s PC: The PC of the PCB developer gets access to the locations 1 and 2 and the developer is able to place the components. In case he has write access he can also edit and add components.
In the following, the individual tools and necessary installation steps are discussed.
Note
All usernames and passwords can be obtained from the UltraZohm core developer team. Please get in touch via the Slack channel!
In order to use the database driven library for Altium, a few settings need to be made initially. In the following chapters are a guideline on how to install and set the parameter is given. The following tools are required:
Bitbucket
ODBC Data Sources (64-Bit)
Altium
DBeaver
Videos of the setup#
Note
The login information and user name in the videos do not match the real login data. Please get in touch via Slack to obtain the login information.
How to install Altium:
How to install the Altium library:
How to install DBeaver:
Bitbucket access setup#
To work with the databased library system in Altium, it is necessary to get access to the Bitbucket system of the UltraZohm, especially to the altium_libraries repository
Clone the repository on your local computer
If you intent to add new components, create a new feature branch. Follow the naming convention feature/<meaningful_name>. If the git shell interface is used the command is
git checkout -b feature/<branch_name>
If a new component was added, commit and push the new component to Bitbucket
When component editing is finished open a pull request on Bitbucket. The components will be reviewed and merged into the master branch.
Server access setup#
Altium needs to get access to the database system on the UltraZohm server. The interface to the database is an ODBC database driver.
If not done yet download and install the MariaDB ODBC 3.1 Driver
Open
the ODBC-Datasource App (64-Bit)
Add
a new User-DSN
Select the MariaDB ODBC 3.1 Driver
Create a new data source to MariaDB. Use the predefined user “altium_user” and contact your supervisor for the access data.
Connect it to the ultrazohm server
Note
The ODBC connection is read only because no changes on the database will be made from Altium directly. A separate database client e.g. DBeaver is used to edit the database (see Integration in Altium).
Do nothing and press
Next >
Do nothing and press
Next >
Force to use TLS and go back for three times
< Previous
Select the database “altium_library” and
Test DSN
Finish the settings by pressing three times
OK
Integration in Altium#
Open a schematic document in Altium
Choose the point
place
–>part
; a menu on the left or right side will open with the already installed library preferences called “components”
Click on the three horizontal lines and select the point
File-based library Preferences
Select the register Installed. While not necessary, it is strongly recommended to remove all not required libraries at this point (e.g. the standard “Miscellaneous Devices” library from Altium)
Select
Install…
and navigate to the path where the Bitbucket repository is cloned on the computer. Select the file “user.DbLib”Close
this windowAfter installing the DBLib - File, you can choose between the different integrated component tables
Now you can use all already existing components from the databased library
Setup of the database client#
If new components are required the developer will need write access to the Bitbucket repository and to the database on the UltraZohm server.
A dedicated user called altium_developer
is available on the database system for this purpose. He has write access to the whole library database.
As a graphical database client DBeaver is recommended.
Download the Dbeaver software to work with the MariaDB on the UltraZohm server
Open DBeaver
Select MariaDB
Connect it to the ultrazohm server
Download the MariaDB driver, which is recommended
These settings must be selected automatically after the download of MariaDB.
Select
use SSL
and uncheckVerify server certificate
in the SSL tab
Click
Finish
. At this time, you are able to connect to the databaseIf the connection failed, control the settings and reconnect via right click on the
altium_library
–>Invalidate/ Reconnect
If the connection was successful, the following table structure must be visible
This step completes the initial setup.
Addition of a new component#
In the following chapter the procedure to add a new component is illustrated by adding an SMD capacitor. The following chapter only explains the addition of the component to the repository and the database. Furthermore, the developer who adds the component has to make sure that the footprint follows the mapping of the mechanical layers. See Mapping of the mechanical layers for further information. If the component does not follow this mapping the pull request will not be accepted.
Note
The goal of this database system is that schematic and footprints of generic components only exist once. This means that schematics and footprints symbols of generic components only have to be in the Bitbucket repository once, even if there are multiple physical components available (e.g. different manufacturers and values). Only if the component has a different geometry or pinout, a new schematic and/or footprint must be added. The number of pins on the symbol must match the number of pins on the footprints. The mapping of the pins is done with the pin numbering (pin 1 of the symbol is mapped to pin 1 of the footprint and so on). In case of doubt the symbol and the footprint supplied by the manufacturer must be used instead of using an existing footprint.
Check if the schematic symbol already exists as a symbol in the Bitbucket system. The schematic symbols are located under
alitum_libraries\symbols
If the schematic does not exist, copy the schematic symbol in the suitable directory underalitum_libraries\symbols
. It is vital that the.SchLib
file only contains one symbol. See Symbols and Footprints on how to extract the symbol from different sources.
Follow the naming convention for the
.SchLib
file SCH - <directory> - <description>.SCHLIB
Note
The extension of the file is written in capital letters.
Check if the footprint symbol already exists in the Bitbucket system. Use the IPC-7351B naming convention when searching for the footprint. If the component does not exist copy the footprint in the suitable folder of the footprints
\alitum_libraries\footprints
. It is vital that the.PcbLib
file only contains one footprint. See Symbols and Footprints on how to extract the symbol from different sources.
Follow the naming convention for the
.PcbLib
file PCB - <directory> - <description>.PCBLIB. Try to use the IPC-7351B naming convention for <description> and make sure to use the same name for the footprint name property which is used asFootprint Ref
in the MariaDB.
Note
The extension of the file is written in capital letters.
Switch to the DBeaver tool
Choose a suitable table where the component should be added. If no table is suitable go on with the instruction given in section Addition of a new table.
Warning
This option must only be chosen after talking to your supervisor and must be announced in a pull request.
When adding a new table, the .DbLib
file, which implements the connection from Altium to the database, must be changed and all users need to update the file in order to get access to the new table.
In case of doubt put the component in an existing table. The current amount of tables should be sufficient to fulfill the requirements.
A new register on the right side with the table will appear
Switch to the “Data” register. An overview of all already added components will be shown there.
Press the
add
button and a new row highlighted in green appears.Double click on a cell to enter content.
To switch between the view of all components and the comfortable editing mode for one component –>
press tab
.
12. If all necessary cells are filled with information, save the components with the save
button (under the current table on the left side or by pressing Ctrl + S
).
Some cells are constraint to be NOT NULL
. These cells must be filled before saving is allowed. If those cells are not filled the following message will occur.
Press OK
and fill out the missing cell (in this example, “ComponentLink1Description”).
The table cells, which are here described in detail is from “Capacitors - SMD” table as an example.
Cell name |
Value |
Explanation |
Must be filled |
---|---|---|---|
PartID |
Automatically added |
||
Created On |
Automatically added |
||
Comment |
Value |
||
ComponentLink1Description |
datasheet |
Homepage/ Datasheet |
x |
ComponentLink1URL |
URL Link to homepage or datasheet |
x |
|
ComponentLink2Description |
See “ComponentLink1Description” |
||
ComponentLink2URL |
See “ComponentLink1URL” |
||
ComponentLink3Description |
See “ComponentLink1Description” |
||
ComponentLink3URL |
See “ComponentLink1URL” |
||
ComponentLink4Description |
See “ComponentLink1Description” |
||
ComponentLink4URL |
See “ComponentLink1URL” |
||
ComponentLink5Description |
See “ComponentLink1Description” |
||
ComponentLink5URL |
See “ComponentLink1URL” |
||
ComponentLink6Description |
See “ComponentLink1Description” |
||
ComponentLink6URL |
See “ComponentLink1URL” |
||
Component Type |
Type of the component |
x |
|
Description |
A descritption make the usage of the component easier to the designer |
x |
|
Device Package |
603 |
0603/ 0805… |
|
Footprint Path |
footprints/Capacitor - Chip/PCB - CAPACITOR - CHIP - CAPC_0603.PCBLIB |
Path were the footprint is saved |
x |
Footprint Path 2 |
See “Footprint Path” |
||
Footprint Path 3 |
See “Footprint Path” |
||
Footprint Ref |
C_0603 |
Name in the Altium Library |
x |
Footprint Ref 2 |
See “Footprint Ref” |
||
Footprint Ref 3 |
See “Footprint Ref” |
||
Last Updated |
Automatically added |
Last Updated |
|
Manufacturer |
muRata |
Manufacturer |
x |
Manufacturer Part Number |
GCJ188R71H103KA01D |
Manufacturer Part Number |
x |
Minimum Order |
Minimum Order |
||
Mounting Type |
SMD |
SMD/ THT |
|
Operating Temperature |
-55 - 125°C |
Operating Temperature |
|
Series |
GCJ |
Series |
|
Supplier 1 |
Mouser |
Supplier |
x |
Supplier Part Number 1 |
81-GCJ188R71H103KA1D |
Supplier part number |
x |
Supplier 2 |
Supplier |
||
Supplier Part Number 2 |
Supplier part number |
||
Supplier 3 |
Supplier |
||
Supplier Part Number 3 |
Supplier part number |
||
Supplier 4 |
Supplier |
||
Supplier Part Number 4 |
Supplier part number |
||
Supplier 5 |
Supplier |
||
Supplier Part Number 5 |
Supplier part number |
||
Supplier 6 |
Supplier |
||
Supplier Part Number 6 |
Supplier part number |
||
Library Path |
symbols/Passives/SCH - PASSIVES - CAPACITOR.SCHLIB |
Path were the schematic symbol is saved |
x |
Library Ref |
Capacitor |
Name in Altium schematic library |
x |
Type |
Standard |
Altium component types see the Altium manual |
x |
Tolerance |
10% |
Tolerance |
|
Voltage Rating |
50 VDC |
Voltage Rating |
|
Value |
0.01 µF |
Value |
x |
Created from |
MGremer |
Designer |
|
Verified by |
Verfikator |
||
Live Cycle Status |
1 |
1: new design |
x |
2: verified |
|||
3: in use |
|||
LCSC Part Number |
LCSC Part Number component description for ordering and assembly at JLC PCB |
||
Stock number |
Labor SMD Container |
Stock number of the ELSYS component stock |
If the component is saved in DBeaver, refresh the view in Altium via
F5
–> chooseplace
–>part
and select the library where the component has been added –> the new component is shown with all the inserted database information
The component can now be used in the schematic by
drag and drop
or by selecting via right-clickplace ...
If the added component is not visible in the library, refresh via
F5
againIf a new table was added in the database, open the user.DbLib File (also included in the Bitbucket folder)
At the end of the adding process of a component commit and to push the new components for other users in Bitbucket and open a pull request to the master branch.
Addition of a new table#
Warning
This option must only be chosen after talking to your supervisor and must be announced in a pull request.
When adding a new table, the .DbLib
file, which implements the connection from Altium to the database, must be changed and all users need to update the file in order to get access to the new table.
In case of doubt put the component in an existing table. The current amount of tables should be sufficient to fulfill the requirements.
If the component you intend to add does not fit in the existing tables a new table must be created. In the following this procedure is described:
Open the SQL Editor in DBeaver
On the Bitbucket system the sql File “create_tables.sql” is available
In this file you can find the syntax for creating a new table.
Create the various relevant table columns by copying the following rows:
Edit only the name of the table (in this example: “Logic - Buffer and Driver”) to the new one. Copy all rows without editing
Add between the field “Type” and “Value” all categories specific values like “power loss”, “tolerance”, “voltage rating” etc.
Excute the sql statement
Now it is possible to add new components to this table by following the instructions in section Addition of a new component.
7. If components were added to the table, it is necessary to change one setting in Altium for this table once. Therefore, open the “user.DbLib” file in Altium.
Select the necessary table.
Change under Field Settings the point Database field from “choose field” to Manufacturer Part Number
Save the new settings in the “user.DbLib” file and commit it to the Bitbucket system for all the other users.