GitHub - medd67/Altium-Library: Comprehensive library package for Altium Designer. Includes high-quality, ready-to-use, well-categorized, and tested components. Shared as a special gift for celebrating 1,000 YouTube subscribers. πŸŽ‰

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. πŸŽ‰


πŸ“œ Features

  • 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.

πŸš€ How to Use

1. Clone the Repository

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.

open Git Bash

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.

Clone the Repository

  • Then, press Enter to start the cloning operation and wait for the success message to appear.

2. Open the Library File

Open the aKaReZa.LibPkg file in Altium Designer.

Open the Library File

3. Compile the Library

To compile the library:

  1. Open the Projects from the Panels menu.
  2. In the Projects panel, locate the file aKaReZa.LibPkg.
  3. Right-click on the file and select Compile Integrated Library aKaReZa.LibPkg.
  4. Wait for the compilation process to finish.

Compile the Library

4. Verify Compilation

After successful compilation:

  • The integrated library file will be saved in the Project Outputs for aKaReZa folder.

Project Outputs for aKaReZa

  • You can now see and use the library in the Components of Altium Designer.

Components


πŸ“‚ Repository Contents

The library structure consists of the following files:

1. aKaReZa.LibPkg

  • 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.

2. BoxHeader.SchLib

  • 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.

3. Capacitor.SchLib

  • Includes schematic symbols for a wide range of capacitors.
  • Categories include ceramic, electrolytic, tantalum, and film capacitors.

4. Connector.SchLib

  • Provides symbols for various types of connectors, including programmers, Arduino, power connectors, computer connectors, signal connectors, antenna connectors, and SIM card connectors.

5. FootPrintLib_X.PcbLib (e.g., FootPrintLib_1.PcbLib)

  • Contains PCB footprints for different components.
  • Each file is categorized based on its component type or package size.

6. IC.SchLib

  • Includes schematic symbols for integrated circuits (ICs).
  • Examples: microcontrollers, regulators, and operational amplifiers.

7. Inductor.SchLib

  • Schematic symbols for inductors, including power and signal types.

8. ModSen.SchLib

  • 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.

9. Other.SchLib

  • Contains schematic symbols for motors, transformers, coil cores, heat sinks, batteries, and various electromechanical components.

10. Resistor.SchLib

  • Contains schematic symbols for resistors.
  • Includes standard resistors, arrays, and special-purpose types.

11. SemiConductor.SchLib

  • Includes transistors, diodes, optoelectronic components, LEDs, triacs, thyristors, and MOSFETs.

12. Switch.SchLib

  • Schematic symbols for switches, push buttons, relays, and optocouplers.

πŸ” Searching Components in the Library

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:

  1. Component Type: For example, Cap for capacitors.
  2. Subcategory: e.g., Elec for electrolytic capacitors.
  3. Packaging Type: e.g., SMD for surface-mount devices and THT for through-hole technology.
  4. Value and Size: For components with specific values, the value and size will also be included in the name.

To search for the component name, use the Component section in the Panel in Altium.

Note0

πŸ“¦ Component Examples
β”œβ”€β”€ Resistors
β”‚   └── SMD Resistors
β”‚       └── Res_SMD_0805 β†’ SMD Resistor package 0805
β”œβ”€β”€ Capacitors
β”‚   β”œβ”€β”€ Electrolytic Capacitors: 
β”‚       β”œβ”€β”€ Surface-mount (SMD)
β”‚           └── Cap_Elec_10u_25_SMD β†’ 10Β΅F, 25V SMD Electrolytic Capacitors
β”œβ”€β”€ 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.


πŸ” Component Parameters

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.


πŸŽ₯ Video Tutorials

For a complete video tutorial on how to use this library, visit my YouTube channel:
πŸ“Ί How to Use the aKaReZa Library

Learn how to create your personal Altium Designer library through these videos:

  1. aKaReZa 82 - PCB, Library - PART A

    • First video in the series. Learn the tools for schematic and PCB design, creating integrated library projects, designing THT and SMD resistor symbols, adding 3D models, and compiling libraries.
  2. aKaReZa 84 - PCB, Library - PART B

    • Second video in the series. Covers schematic and footprint design for capacitors and inductors (THT, SMD, power, barrel), and using the Parameter Manager.
  3. aKaReZa 85 - PCB, Library - PART C

    • Third video in the series. Learn to design schematic symbols and footprints for diodes, transistors, ICs (THT, SMD), designing multi-part components, and understand pin types and configurations.
  4. aKaReZa 86 - PCB, Library - PART D

    • Final video. Learn to design for STM32 microcontroller, AMS1117 regulator, and LQFP-48 and SOT-223 packages. Includes using Footprint Wizards, setting reference points, and testing components.

These tutorials cover everything you need to know about library creation and integration.


πŸ†• Requesting New Components

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:

Issues

New Issue

Submeet New 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.


πŸ”„ Contributing to the Library

If you want to update or modify the library:

  • Fork this repository.
  • Make your changes in a new branch.
  • Submit a Pull Request with a detailed description of your changes.
  • Ensure your changes follow the library's structure and standards.

πŸ› οΈ License

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.

⭐ Support Me

If you found this library useful:

  • Subscribe to my YouTube Channel.
  • Share this repository with others.
  • Give this repository and my other repositories a star.
  • Follow my GitHub account.

Contact Me