You are not Logged In! |
Public:GitHub/PCB
KiCad conveniently uses human readable and therefore version-able text based file types. Therefore all of our PCBs are stored at IlliniSolarCar/PCB on GitHub.
KiCad Files and Git
KiCad has a lot of files of different file types it generates. Unlike other programs, that might put these all in temp, KiCad puts many of them in the project repo. For the target audience of KiCad, that is Engineers, this makes sense as it gives us the power to use these files as we may need them.
KiCad has a bit of a habit of adding more of these, so this page might be out of date. You can see the up to date list for the current release version on the KiCad Website. Luckily, this is supposedly addressed in KiCad v6.
KiCad files are intentionally human readable and compatible with version control, allowing better collaboration than other tools. We take significant advantage of this in our workflow, but we don't need all your files on git - it can get messy with how many KiCad has. Read below for which files to include or not include. This should mostly be handled by the .gitignore if you don't override it.
Project File Types
File Name / Extensions | Type | Include on Git | Description |
---|---|---|---|
projectName.pro | KiCad Project Meta File | REQUIRED | This file contains information about the KiCad project. There can only be one project file per project! (If you see others associated with your hierarchical schematics, get rid of them and don't open your schematic files straight from your file browser.) |
projectName.sch | KiCad Schemaatic File | REQUIRED | This is the top-level schematic for the project. You can add additional schematic files to your project and include them as heirarchical schematics, or "schematics within a schematic" |
projectName.kicad_pcb | KiCad PCB File | REQUIRED | This is the physical layout of your circuit board. There can only be one PCB per project! |
projectName_subSection.sch | KiCad Schematic File | Optional | It is normal to have more than one schematic file. Since each schematic file is the size of one page of paper when printed, it is common to have multiple-page schematics for larger projects |
sym-lib-table | KiCad Library Database | REQUIRED | This tells KiCad what symbol libraries your project uses. If it doesn't exist, all your components will be '?'. |
fp-lib-table | KiCad Library Database | REQUIRED | This tells KiCad what footprint libraries your project uses. If it doesn't exist, you won't be able to add new footprints or update them from library changes. |
Title_Block.kicad_wks | KiCad Page Layout Description | REQUIRED | This tells KiCad how to make your pages look, especially the title block in the corner. Helps us keep a consistent ISC look to projects |
projectName_specs.md | Illini Solar Car PCB Specs Document | REQUIRED | The document outlining the specifications and requirementsof your board. Should be complete before you start and also updated as you go. This is needed for project management, reviewing boards, and for people in the future to understand boards |
symbols/ | Folder | Optional | This folder contains any local symbol libraries you create. You can put stuff here that you don't want to commit to the main libraries, for example, a board specific symbol. See the Symbols Libraries section below for more information on what goes in here. These are uncommon |
footprints.pretty/ | Folder | Optional | This folder contains any local component footprints you create. You can put stuff here that you don't want to commit to the main libraries. See the Footprint Libraries section for more information on what goes in here. These are more common for board specific physical components. |
models.3dshapes/ | Folder | Optional | This folder contains 3D CAD models of components. See the 3D Model Libraries section for more information on what goes in here |
bom.ini | BOM Settings File | Optional | This file is generated by the KiCad BOM generator plugin if it can't find a settings file. It contains information on how the BOM plugin parses the component list to generate the BOM |
schematicName.bak | KiCad Schematic Backup File | NEVER | This file contains a backup of your schematic when it's saved. If you really mess something up and the previous git commit is not up-to-date at all (in this case, shame on you!), then you can change the name of this file to have a .sch ending and open it in KiCad |
projectName.kicad_pcb-bak | KiCad PCB Backup File | NEVER | This file is a back-up of your PCB when it is saved. If you really mess something up and the previous git commit is not up-to-date at all (in this case, shame on you!), then you can change the name of this file to have a .pcb ending and open it in KiCad |
_saved_anyName.sch | Autosave | NEVER | This file is an autosave file from KiCAD to restore from crashes. YIf you have one of these, you should fix things that may have broken due to the crash. We don't need them on git. |
projectName-cache.lib | KiCad Library File, Automatic | NEVER | This file will be generated automatically by KiCad to store a local copy of schematic symbols. This lets you view the schematic even if the main libraries are unavailable (but should not replace using them!), and it protect you if symbols in a library change |
KiCad has a lot more temporary type files not listed here, you shouldn't have any issue with those - they typically get cleaned up by KiCad
Manufacturing Files
File Name / Extensions | Type | Include on Git | Description |
---|---|---|---|
projectName_gerbers.zip | Zip File of Manufacturing Files | REQUIRED | The zip file of all manufacturing files (.gbr and .drl) used to make this board. |
projectName-LayerName.gbr | Gerber File for a specific layer of the board | NEVER | Gerber File format for PCB Layers. Not version-able, and redundant after the zip file. Do not put on git. |
projectName.drl | Drill File for the PCB | NEVER | File for specifying where the board needs to be drilled through (such as for mounting holes). Redundant after the zip file, Do not put on git. |
Symbol Library Files
File Name / Extensions | Type | Include on Git | Description |
---|---|---|---|
LibraryName.dcm | KiCad Symbol Library Descriptions | REQUIRED | This includes all the meta-data about the parts in the library - their data-sheet, name, descriptions, etc. |
LibraryName.lib | KiCad Symbol Library File | REQUIRED | This includes the actual symbol drawing and all of it's electrical characteristics including the outline, pins, pin type, etc. |
LibraryName.bak | KiCad Symbol Library Description Backup | NEVER | .dcm file back-up |
Footprint Library Files
File Name / Extensions | Type | Include on Git | Description |
---|---|---|---|
LibraryName.pretty | KiCad Footprint Library Folder | REQUIRED | This is the folder extension for a KiCad Footprint Library. Within this folder is the footprint files that make up the Library. KiCad footprint files are much to large for many parts to be in one file (like Symbol Libraries) while maintaining the ability for a human to work with it |
FootprintName.kicad_mod | KiCad Footprint File | REQUIRED | This is a KiCad footprint. It contains all of the information about a specific footprint |
3D Model Library Files
File Name / Extensions | Type | Include on Git | Description |
---|---|---|---|
PartName.wrl | VRML 3D Model | REQUIRED | This is a visual 3D model used by the 3D viewer to represent parts. We don't make models for all of our parts just major mechanical ones, KiCad provides a lot of the common stuff. This needs to be associated with a footprint (and aligned) before it is added. |
PartName.stp
PartName.setp |
STEP 3D Model | REQUIRED | This is a STEP model of a part which is used for integration with Mechanical CAD as it provides a 3D model of the part. KiCad can export 3d model of a PCB that includes all the step models for parts used on the PCB (if they exist). This needs to be associated with a footprint (and aligned) before it is added. |
Credit to Byron Hopps for the content pre- 10-07-18