-
Krisjanis Rijnieks authoredKrisjanis Rijnieks authored
Contributing
Please follow the KiCad Library Convention before contributing.
TODO: Use official KiCad Library Utilities to check and fix libraries.
Take a look at the KiCad File Format DEF. As for the FAB library there are a few things to keep in mind:
- In schematics, keep the IC background filled.
- Leave passive components not filled.
- Adjust the footprints so that they are easy to hand-solder.
Run
test.py
before pushing changes to reposotory.
It will check if everything is right. It will help you fix errors if any. The script is run automatically when push to the repository happens. However it is best to do it before pushing locally. The following is a list of what the script does.
- Match symbol DEF name with its F1 name
- Check if the footprint entry has a library field (fab:Part_Name)
- Check if the footprint fab.pretty/footprint.kicad_mod file exists
- Check if the footprint file name matches the name in the file
- Check if footprints are visible also on layers F.Cu F.Paste F.Mask
- Check naming structure PartName_SizeXYZmm_Pitch
- ...
This library should have all the basic components and parts for the FabAcademy and it's always under construcction. If you want to contribute and add more components to the KiCad libraries, feel free to follow this manual.
You will need to follow this 3 steps:
- Create the footprint and add it to the footprint's library
- Create the symbol and add it to the symbol's library
- Make sure they are connected and they work fine
Create the footprint and add it to the footprint's library
Create a new project in KiCad and open the Footprint Editor:
Here you can create a new component from scratch, drawing the pads of it and the vias if necessary. You can write the name of the component and its value or refer it to the schematic. This is the icon to create a new Footprint:
You can also create a new Footprint using the Footprint Wizard using this icon:
There are different predefined shapes and edit the main parameters. This is an example of a SOIC package and the parameters that you can define: