This repository contains a comprehensive library package for Altium Designer, designed for my personal PCB design projects.
It has been shared as a special gift for reaching 1,000 subscribers on my YouTube channel. π
In this video, youβll learn about the structure of the library, how to find specific components, the installation process, and how to request new parts that are not yet available. |
|
|
Tip If you're looking to better understand how to navigate and use my GitHub repositories β including exploring their structure, downloading or cloning projects, submitting issues, and asking questions, |
|
|
Caution It is absolutely critical that you carefully read every single word of this document, line by line, to ensure you don't miss any details. Nothing can be overlooked. |
- High-Quality Components: Includes optimized symbols, footprints, and 3D models for various designs.
- Ready-to-Use: Easily integrated with your Altium projects.
- Organized Structure: Well-categorized components for quick search and reuse.
- Compact and Lightweight: This compact library includes the most commonly used components, making it efficient and easy to work with.
- Tested Components: The majority of the components in this library have been tested in practical projects to ensure reliability and functionality.
To use this library, follow these steps:
-
Clone the Repository:
- Use Git Bash or download the ZIP file to get the repository on your computer.
-
Open the Library File:
- Open the aKaReZa.LibPkg file in Altium Designer.
-
Compile the Library:
- Compile the library in Altium Designer.
-
Verify Compilation:
- Ensure the integrated library file is saved and accessible in Altium Designer.
To access the repository files and save them on your computer, there are two methods available:
-
Using Git Bash and Cloning the Repository
- This method is more suitable for advanced users and those familiar with command-line tools.
- By using this method, you can easily receive updates for the repository.
-
Downloading the Repository as a ZIP file
- This method is simpler and suitable for users who are not comfortable with command-line tools.
- Note that with this method, you will not automatically receive updates for the repository and will need to manually download any new updates.
First, open Git Bash :
- Open the folder in File Explorer where you want the library to be stored.
- Right-click inside the folder and select the option "Open Git Bash here" to open Git Bash in that directory.
Note
If you do not see the "Open Git Bash here" option, it means that Git is not installed on your system.
You can download and install Git from this link.
For a tutorial on how to install and use Git, check out this video.
- Once Git Bash is open, run the following command to clone the repository:
git clone https://github.com/aKaReZa75/Altium-Library
- You can copy the above command by either:
- Clicking on the Copy button on the right of the command.
- Or select the command text manually and press Ctrl + C to copy.
- To paste the command into your Git Bash terminal, use Shift + Insert.
- Then, press Enter to start the cloning operation and wait for the success message to appear.
Important
Please keep in mind that the numbers displayed in the image might vary when you perform the same actions.
This is because repositories are continuously being updated and expanded. Nevertheless, the overall process remains unchanged.
Note
Advantage of Cloning the Repository:
- Receiving Updates: By cloning the repository, you can easily and automatically receive new updates.
- Version Control: Using Git allows you to track changes and revert to previous versions.
- Team Collaboration: If you are working on a project with a team, you can easily sync changes from team members and collaborate more efficiently.
If you prefer not to use Git Bash or the command line, you can download the repository directly from GitHub as a ZIP file.
Follow these steps:
-
Navigate to the GitHub repository page and Locate the Code button:
- On the main page of the repository, you will see a green Code button near the top right corner.
-
Download the repository:
- Click the Code button to open a dropdown menu.
- Select Download ZIP from the menu.
-
Save the ZIP file:
- Choose a location on your computer to save the ZIP file and click Save.
-
Extract the ZIP file:
- Navigate to the folder where you saved the ZIP file.
- Right-click on the ZIP file and select Extract All... (Windows) or use your preferred extraction tool.
- Choose a destination folder and extract the contents.
-
Access the repository:
- Once extracted, you can access the repository files in the destination folder.
Important
- No Updates: Keep in mind that downloading the repository as a ZIP file does not allow you to receive updates.
If the repository is updated, you will need to download it again manually. - Ease of Use: This method is simpler and suitable for users who are not comfortable with Git or command-line tools.
Open the aKaReZa.LibPkg
file in Altium Designer.
To compile the library:
- Open the Projects from the Panels menu.
- In the Projects panel, locate the file
aKaReZa.LibPkg
. - Right-click on the file and select Compile Integrated Library aKaReZa.LibPkg.
- Wait for the compilation process to finish.
After successful compilation:
- The integrated library file will be saved in the
Project Outputs for aKaReZa
folder.
- Now, right-click on the aKaReZa.LibPkg file in the Projects panel and select Close Project.
Important
This step closes the library project, ensuring that the integrated library file is ready for use and any subsequent modifications are avoided.
This is a crucial step before using the library in your designs.
Additionally, this step ensures that no extra files are displayed in the Components panel and only the compiled library file is visible.
- If this step is not done, you might see additional files in the Components panel, which can be confusing and undesirable:
- By completing this step, you will only see the compiled aKaReZa library in the Components panel.
Tip
The compiled library aKaReZa.LibPkg remains accessible in the Components panel even after closing the aKaReZa.LibPkg project.
Note
You may see additional libraries in the Components panel, depending on how many libraries you have previously installed.
However, if you follow the steps above, my library will only appear as a single file named aKaReZa.IntLib in this panel.
The library structure consists of the following files:
- This is the main integrated library package file.
- Used for compiling all symbols, footprints, and 3D models into a single file.
- Once compiled, it generates an integrated library ready for use in Altium Designer.
- Contains schematic symbols for box header connectors.
- Includes various pin configurations such as 2x3, 2x5, and others.
- This file also includes male and female header pins, as well as FPC connectors.
- Includes schematic symbols for a wide range of capacitors.
- Categories include ceramic, electrolytic, tantalum, and film capacitors.
- Provides symbols for various types of connectors, including programmers, Arduino, power connectors, computer connectors, signal connectors, antenna connectors, and SIM card connectors.
- Contains PCB footprints for different components.
- Each file is categorized based on its component type or package size.
- Includes schematic symbols for integrated circuits (ICs).
- Examples: microcontrollers, regulators, and operational amplifiers.
- Schematic symbols for inductors, including power and signal types.
- Contains schematic symbols for various sensors, including temperature, light, and humidity sensors.
- Includes communication modules such as WiFi, Bluetooth, GPS, GSM, LoRa, and display modules like seven-segment displays and LCDs.
- Contains schematic symbols for motors, transformers, coil cores, heat sinks, batteries, and various electromechanical components.
- Contains schematic symbols for resistors.
- Includes standard resistors, arrays, and special-purpose types.
- Includes transistors, diodes, optoelectronic components, LEDs, triacs, thyristors, and MOSFETs.
- Schematic symbols for switches, push buttons, relays, and optocouplers.
In this library, components are named using specific conventions to make searching and identifying them more efficient. By following these structured naming conventions, you can quickly locate and understand each component within the library.
The naming conventions are as follows:
- Component Type: For example,
Cap
for capacitors. - Subcategory: e.g.,
Elec
for electrolytic capacitors. - Packaging Type: e.g.,
SMD
for surface-mount devices andTHT
for through-hole technology. - Value and Size: For components with specific values, the value and size will also be included in the name.
Tip
To search for the component name, use the Component section in the Panel in Altium.
π Component Examples
βββ Capacitors
β βββ Electrolytic Capacitors:
β βββ Surface-mount (SMD)
β βββ Cap_Elec_10u_25_SMD β 10Β΅F, 25V SMD Electrolytic Capacitors
βββ Resistors
β βββ SMD Resistors
β βββ Res_SMD_0805 β SMD Resistor package 0805
βββ Microcontrollers
β βββ STM32F103C8T6:
β βββ IC_MCU_STM32F103C8T6 β 32bit ST Microcontroller, based on ARM Cortex-M3 core
βββ Transistors
β βββ BJT Transistors
β βββ SMD
β βββ Semi_BJT_2N2222_SMD β SMD Transistor 2N2222
Note
For better search results in Altium, it is recommended to use *
instead of _
. For example, searching for Res*0805
will bring up all 0805 resistors, whereas searching for Res_0805
may not return any results.
When using underscores (_
), you need to enter the exact name of the component as it appears in the library.
However, with an asterisk (*
), you can search for partial matches, and Altium will find and display all similar components based on the entered terms.
The overall structure of the aKaReZa library is as
π aKaReZa Library Structure
βββ Capacitors
β βββ Electrolytic Capacitors: `Cap_Elec`
β βββ Bipolar Capacitors: `Cap_Bipolar`
β βββ MKT Capacitors: `Cap_MKT`
β βββ Multi-Layer Capacitors: `Cap_Multi`
β βββ Polyester Capacitors: `Cap_Poly`
β βββ Tantalum Capacitors: `Cap_Tantalum`
β βββ Variable Capacitors: `Cap_Var`
βββ Resistors
β βββ THT Resistors: `Res_Value_THT`
β βββ SMD Resistors: `Res_Value_SMD`
β βββ Multi-Turn Resistors: `Res_Multi`
β βββ Network Resistors: `Res_Network`
β βββ Potentiometer: `Res_Pot`
βββ Inductors
β βββ THT Inductors: `Ind_THT`
β βββ SMD Inductors: `Ind_SMD`
βββ Semiconductors
β βββ Transistors
β β βββ BJT Transistors: `Semi_BJT`
β β βββ Mosfet: `Semi_Mosfet`
β βββ Diodes
β β βββ Generic Diodes: `Semi_Diode_STD`
β β βββ Fast Diodes: `Semi_Diode_Fast`
β β βββ Shottky Diodes: `Semi_Diode_Sch`
β β βββ Zener Diodes: `Semi_Diode_Zener`
β β βββ LED Diodes: `Semi_Diode_LED`
β β βββ TVS Diodes: `Semi_Diode_TVS`
β β βββ Diac: `Semi_Diode_Diac`
β β βββ Full Bridge Rectifier: `Semi_Diode_Bridge`
β βββ Thyristors
β β βββ Thyristor: `Semi_SCR`
β β βββ Triac: `Semi_Triac`
βββ Integrated Circuits (ICs)
β βββ Microcontroller: `IC_MCU`
β βββ Logic IC: `IC_Logic`
β βββ Driver IC: `IC_Driver`
β βββ Converter IC: `IC_Converter`
β βββ Operational Amplifier: `IC_Opamp`
β βββ Regulator: `IC_Reg`
βββ Switches and Relays
β βββ Push Button: `SW_PushButton`
β βββ On-off Switch: `SW_Power`
β βββ DIP Switches: `SW_THT`
β βββ Relays: `SW_Relay`
β βββ Opto Coupler: `SW_Opto`
βββ Connectors
β βββ Arduino Connector: `Con_Arduino`
β βββ Audio Connector: `Con_Audio`
β βββ FPC Connector: `Con_FPC`
β βββ Female Pin Header Connector: `Con_FPH`
β βββ Male Pin Header Connector: `Con_MPH`
β βββ IDC Connector: `Con_IDC`
β βββ Portable Computer Connector: `Con_PC`
β βββ Power Connector: `Con_Power`
β βββ Programmer Connector: `Con_Prog`
β βββ RF Connector: `Con_RF`
β βββ USB Connector: `Con_USB`
βββ Modules and Sensors
β βββ 7Segments: `ModSen_7Seg`
β βββ Communication Modules: `ModSen_Com`
β βββ Display: `ModSen_LCD`
βββ Other Components
βββ Crystals: `Other_Elec_Xtal`
βββ Oscillators: `Other_Elec_Oscillator`
βββ Batteries: `Other_Elec_Battery`
βββ SMD Fuses: `Other_Elec_Fuse_SMD`
βββ THT Fuses: `Other_Elec_Fuse_THT`
βββ Cores: `Other_Core`
βββ Enclosure: `Other_Mech_ENC`
βββ Heat Sink: `Other_Mech_HEATSINK`
By adhering to this convention, you can quickly locate any component while maintaining clarity and consistency in your designs.
Each component in the library includes the following parameters:
Parameter | Description |
---|---|
Inflow | Internal inventory code of the component for warehouse management. |
Package | The package type of the component (e.g., 1206, SOIC-8). |
Rating | Power rating of the component (e.g., 0.25W for resistors). |
Type | Specifies the type of component (e.g., NPN/PNP for transistors). |
Validation | Indicates whether the component has been tested (Valid/NT - Not Tested). |
Value | The key value or identifier (e.g., resistance for resistors, IC name). |
Note
For more information about Inflow and its usage, click aKaReZa 29 - Q-A, The best way to manage Electronics Components Inventory.
Learn how to create your personal Altium Designer library through these videos:
These tutorials cover everything you need to know about library creation and integration.
To request a new component:
-
Go to the Issues section of this repository.
-
Create a new issue with the following details:
- Component name
- Package type
- Key specifications
- Additional notes or links to the datasheet.
-
Example:
- Letβs say we want to request the addition of the STM32L431CC microcontroller. Hereβs how you can structure the issue:
Additionally, you can include:
- Component Image: If available, you can attach an image of the component to help visualize the part.
- Other Data: Feel free to add any additional relevant information such as application notes, pinout diagrams, or other resources that may help in designing the schematic and footprint.
Once the request is reviewed, it will be added to the library in future updates.
Tip
While the examples provided above are in English, feel free to ask your questions in Persian (ΩΨ§Ψ±Ψ³Ϋ) as well.
There is no difference in how they will be handled!
Note
Pages and interfaces may change over time, but the steps to create an issue generally remain the same.
To contribute to this repository, please follow these steps:
- Fork the Repository
- Clone the Forked Repository
- Create a New Branch
- Make Your Changes
- Commit Your Changes
- Push Your Changes to Your Forked Repository
- Submit a Pull Request (PR)
Note
Please ensure your pull request includes a clear description of the changes youβve made. Once submitted, I will review your contribution and provide feedback if necessary.
If you found this repository useful:
- Subscribe to my YouTube Channel.
- Share this repository with others.
- Give this repository and my other repositories a star.
- Follow my GitHub account.
This project is licensed under the GPL-3.0 License. This license grants you the freedom to use, modify, and distribute the project as long as you:
- Credit the original authors: Give proper attribution to the original creators.
- Disclose source code: If you distribute a modified version, you must make the source code available under the same GPL license.
- Maintain the same license: When you distribute derivative works, they must be licensed under the GPL-3.0 too.
- Feel free to use it in your projects, but make sure to comply with the terms of this license.
Feel free to reach out to me through any of the following platforms:
- π§ Email: aKaReZa75@gmail.com
- π₯ YouTube: @aKaReZa75
- πΌ LinkedIn: @akareza75