6.6 KiB
KicED

Edwin and Kerem's KiCAD library.
Procedure of restructuring KicED
- Create structure which can be added as submoduse to any KiCAD project.
- Document the process of implementeing the submodule
- Document the process of adding (contributing) a new part.
sources for markdown: https://www.markdownguide.org/extended-syntax/
1. How to use this library
This library can be used in two different ways. It can be used in a central position (centralized) or as part of the project (git submodule).
1.1 Linking the library to your KiCad Project
The KicED library is intended to be linked relative to your KiCad project. This means, that you will not have absolute library links which are highly specific to each user. This can create problems when collaborating together. The KicED tools allows you to avoid this problem and work wherever you want in your directory. The only thing which must be defined in your project is the location of KicED relative to the KiCad project you are working on. This is all done by using the KiCad environment variable ${KIPRJMOD}\<...>
.
1.1.1 As Git Submodule
Go to the desired directory where you want to place the library inside your project. There you add KicED as submodule with the following comand.
git submodule add https://git.keydev.me/Kerem/KicED
Then go into the folder KicED\project_init_tool
. In this folder execute the KicED library linker tool by executing the follwing command.
python KicED_libLinker.py
There follow the instructions given by the tool. Once completed successfully there should be the files fp-lib-table
and sym-lib-table
created besides your KiCad *.kicad_pro
project file. These files will be recognized by KiCad as project specific libraries and contain all the relative linkages to the KicED library.
Then open your KiCAD project and go to Preferences
in the top left corner and select Manage Symbol Libraries...
.
TODO: explain how to incorperate library into KiCAD project
You will need to add the relative KicED paths with respect to your KiCAD project by using the environment variable ${KIPRJMOD}\<...>
source
- https://git-scm.com/book/en/v2/Git-Tools-Submodules
- https://www.educative.io/answers/how-to-specify-a-branch-tag-when-adding-a-git-submodule-
- https://www.youtube.com/watch?v=lnCvyGIQong
1.1.2 As a centralized library
1.2 Updating Library
1.2.1 For Git Submodule
1.2.2 For centralized
Ideas
Automated git pull on Pc Stratup (Winwods and Linux).
We can maybe write a script for both of them
Ways of using this library
Contribution Guidelines
base it on Kicad -> https://klc.kicad.org/
Centralized (deztached from the KiCAD Project)
Library is plced at a centralized point. Best place is the besides the KiCAD projects. This saves data redundancy when working on multiple KiCAD projects.
De-centralized (implemented as submodule)
Better tracking of version.Project is added as submodule to the version controlled KiCAD project.
Auto KiCAD project specific library linking script with python
this script should modfy the specific KiCAD project specific library settings. It hould referenc all paths with the shortcut ${KIPRJMOD}\<...>
For symbols add to or create sym-lib-table file.
2. Library Structure
-
0 = Passive
- 0 = Resistor
- 0 = SMD
- 1 = THT
- 2 = Array
- 3 = Mechanical
- 4 = Special
- 1 = Capacitor
- 0 = SMD
- 1 = THT
- 2 = Array
- 3 = Mechanical
- 4 = Special
- 2 = Inductors
- 0 = SMD
- 1 = THT
- 2 = Array
- 3 = Mechanical
- 4 = Special
- 4 = Oscillators
- 0 = Crystal
- 1 = Oscillator
- 2 = Resonator
- 3 = Voltage Controlled
- 5 = Potentiometer
- 0 = Adjutable
- 1 = Rotary
- 3 = Scale
- 4 = Slide
- 5 = Trimmer
- 6 = Digital
- 6 = Antenna
- 0 = Bluetooth
- 1 = Wifi
- 2 = Sub-giga
- 3 = giga
- 4 = Propritary
- 5 = GSM/GPS
- 7 = RF
- 0 = Resistor
-
1 = Active
- 0 = Transistor
- 0 = Bipolar
- 1 = FET
- 2 = IGBT
- 3 = TRIAC
- 4 = SiC
- 5 = GaN
- 1 = Diodes
- 0 = Rectifier
- 1 = Zener
- 2 = RF
- 3 = Bridge
- 4 = UF
- 5 = Variable Capacitance
- 6 = Photodiodes
- 2 = Power
- 0 = Transitor
- 1 = Diodes
- 3 = Module
- 0 = Half Bridge
- 1 = Full Bridge
- 2 = Six packs
- 4 = Opto
- 5 = Solid state relay
- 6 = LED
- 7 = Opto
- 8 = Driver
- 0 = Relay
- 9 = Switch
- 0 = High Side Switches
- 0 = Transistor
-
2 = Linear
- 0 = Op-amp
- 1 = amplifier
- 2 = Fuse
- 3 = Switches
- 5 = Supervisor
- 6 = Protection
- 7 = Power
- 8 = Special
-
3 = Power
- 0 = LDO
- 0 = Standart
- 1 = Low Noise
- 2 = Ultra Low Noise
- 1 = SMPS
- 0 = Buck
- 1 = Boost
- 2 = Buckboost
- 3 = Multiple
- 4 = PMIC
- 2 = Voltage Reference
- 3 = led Driver
- 4 = Gate Driver
- 5 = Motor Driver
- 0 = DC
- 6 = ACDC
- 0 = module
- 7 = DCDC
- 0 = module
- 8 = Protection
- 0 = Ideal Diode
- 0 = LDO
-
4 = Digital
- 0 = MCU
- 0 = 8 Bit
- 1 = 16 Bit
- 2 = 32 Bit
- 0 = Microchip
- 1 = ST
- 2 = Ti
- 3 = Toshiba
- 4 = Cypress
- 5 = Infineon
- 6 = Epson
- 3 = 64 Bit
- 1 = FPGA
- 2 = DSP
- 3 = ASIC
- 4 = Audio
- 5 = Serial
- 6 = Clocks
- 0 = MCU
-
5 = Logic
- 0 = Buffer
- 1 = Comparator
- 2 = Counter & Divider
- 3 = FIFO
- 4 = Flip Flop
- 5 = Gates
- 0 = Inverter
- 1 = AND
- 6 = Latches
- 7 = Shift
- 8 = BUS
- 9 = Special
-
6 = Memory
- 0 = EEPROM
- 1 = NAND
- 2 = EMMC
- 3 = FLASH
- 4 = SD
-
7 = Sensors
- 0 = Enviroment
- 1 = Temperature
- 0 = Digital
- 1 = Analogic
- 2 = RTD
- 3 = Thermistor
- 4 = Thermocouple
- 2 = MEMS
- 0 = Accelerometer
- 1 = Gyroscope
- 2 = Pressure
- 4 = X Dof
- 3 = Light
- 4 = Sound
- 5 = Proximity
- 6 = Hall
- 7 = Current
- 8 = Mechanical
- 9 = Special
-
8 = Mechanical
- 0 = Relay
- 0 = Monostable
- 1 = Bistable
- 1 = Connector
- 0 = Cable to board
- 1 = Board to board
- 2 = Lab
- 3 = rectangular
- 4 = Circular
- 5 = Fiber / RJ
- 6 = Terminal blocks
- 7 = Serial
- 8 = USB
- 9 = Card Edge
- 2 = Cooling
- 3 = Fans
- 4 = Cables
- 5 = Mounting
- 6 = Switches
- 7 = Button
- 0 = SMD
- 1 = THT
- 8 = Encoders
- 0 = Relay
-
9 = Boards
- 0 = Wireless
- 1 = Digital
- 3 = Display
- 4 = Sensor
- 5 = Analogic
- 6 = Power
- 7 = Mehanical
- 8 = Embedded
- 9 = Special
-
10 = Electromechanics (these parts are excluded from board)
- 0 = Contactors
- 1 = ACDC_Converters
- 2 = Resistors
- 3 = Capacitors
- 4 = Inductors
- 5 = Switches