You are not Logged In!

Difference between revisions of "Public:GitHub/PCB"

From Illini Solar Car Wiki
Jump to navigation Jump to search
(Finished all the file types)
Line 1: Line 1:
 +
[[KiCad]] conveniently uses human readable and therefore version-able text based file types. Therefore all of our PCBs are stored on 
 +
  
 
== KiCad Files and Git ==
 
== KiCad Files and Git ==

Revision as of 21:12, 21 September 2020

KiCad conveniently uses human readable and therefore version-able text based file types. Therefore all of our PCBs are stored on


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