Files
-
BatteryBoard / _autosave-PrechargeCircuit_NEW.kicad_sch
-
BatteryBoard / BatteryBoard.kicad_pcb
-
BatteryBoard / BatteryBoard.kicad_sch
-
BatteryBoard / BatteryBoard.sch
-
BatteryBoard / CANCommunication.kicad_sch
-
BatteryBoard / CANCommunication.sch
-
BatteryBoard / Connectors.kicad_sch
-
BatteryBoard / Connectors.sch
-
BatteryBoard / CurrentSensing.kicad_sch
-
BatteryBoard / CurrentSensing.sch
-
BatteryBoard / ExternalClocks.kicad_sch
-
BatteryBoard / ExternalClocks.sch
-
BatteryBoard / Extra_IO.kicad_sch
-
BatteryBoard / ExtraAnalogIn.kicad_sch
-
BatteryBoard / ExtraDigitalOut.kicad_sch
-
BatteryBoard / Fan.kicad_sch
-
BatteryBoard / Fan.sch
-
BatteryBoard / InputProtection.kicad_sch
-
BatteryBoard / InputProtection.sch
-
BatteryBoard / InputProtectionFanTach.kicad_sch
-
BatteryBoard / InputProtectionFanTach.sch
-
BatteryBoard / LightsTeam.kicad_sch
-
BatteryBoard / LightsTeam.sch
-
BatteryBoard / MCU.kicad_sch
-
BatteryBoard / MCU.sch
-
BatteryBoard / PowerPathing.kicad_sch
-
BatteryBoard / PowerPathing.sch
-
BatteryBoard / PowerTeam.kicad_sch
-
BatteryBoard / PowerTeam.sch
-
BatteryBoard / PrechargeCircuit.kicad_sch
-
BatteryBoard / PrechargeCircuit_NEW.kicad_sch
-
BatteryBoard / Reset.kicad_sch
-
BatteryBoard / Reset.sch
-
BatteryBoard / STLink.kicad_sch
-
BatteryBoard / STLink.sch
-
BatteryBoard / SwitchingLogic.kicad_sch
-
DriverBoard / CANCommunication.kicad_sch
-
DriverBoard / Connectors.kicad_sch
-
DriverBoard / CurrentSensing.kicad_sch
-
DriverBoard / CurrentSensing.sch
-
DriverBoard / DriverBoard.kicad_pcb
-
DriverBoard / DriverBoard.kicad_sch
-
DriverBoard / ECU_inputs.kicad_sch
-
DriverBoard / EXAMPLE.kicad_sch
-
DriverBoard / ExternalClocks.kicad_sch
-
DriverBoard / InputProtection.kicad_sch
-
DriverBoard / inputs.kicad_sch
-
DriverBoard / IO.kicad_sch
-
DriverBoard / LightsTeam.kicad_sch
-
DriverBoard / MCU.kicad_sch
-
DriverBoard / outputs.kicad_sch
-
DriverBoard / PowerPathing.kicad_sch
-
DriverBoard / Reset.kicad_sch
-
DriverBoard / STLink.kicad_sch
-
DriverBoard / Boost Converter Practice / Boost Converter Practice.kicad_pcb
-
DriverBoard / Boost Converter Practice / Boost Converter Practice.kicad_sch
-
DriverBoard / Simulation / PCB_Protection / LongWireSwitching.sch
-
DriverBoard / Simulation / PCB_Protection / MicroController.sch
-
DriverBoard / Simulation / PCB_Protection / PCB_Protection.kicad_pcb
-
DriverBoard / Simulation / PCB_Protection / PCB_Protection.sch
-
MotorBoard / CANCommunication.sch
-
MotorBoard / Connectors.sch
-
MotorBoard / DigitalPot.sch
-
MotorBoard / ExternalClocks.sch
-
MotorBoard / file604B3F08.sch
-
MotorBoard / InputProtection.sch
-
MotorBoard / IsoCANCommunication.sch
-
MotorBoard / MCU.sch
-
MotorBoard / Motor.kicad_pcb
-
MotorBoard / Motor.sch
-
MotorBoard / PowerPathing.sch
-
MotorBoard / PWM.sch
-
MotorBoard / Reset.sch
-
MotorBoard / STLink.sch
-
MotorBoard / switchingLogic.sch
-
PrechargeBoard / PrechargeBoard.kicad_pcb
-
PrechargeBoard / PrechargeBoard.kicad_sch
-
Template / CANCommunication.kicad_sch
-
Template / Connectors.kicad_sch
-
Template / EXAMPLE.kicad_sch
-
Template / ExternalClocks.kicad_sch
-
Template / InputProtection.kicad_sch
-
Template / MCU.kicad_sch
-
Template / PowerPathing.kicad_sch
-
Template / Reset.kicad_sch
-
Template / STLink.kicad_sch
-
Template / Template.kicad_pcb
-
Template / Template.kicad_sch
-
Template / Simulation / PCB_Protection / LongWireSwitching.sch
-
Template / Simulation / PCB_Protection / MicroController.sch
-
Template / Simulation / PCB_Protection / PCB_Protection.kicad_pcb
-
Template / Simulation / PCB_Protection / PCB_Protection.sch
FilesTemplateDocumentation | |
---|---|
.. | |
Importing.md | |
Layout.md | |
Libraries.md | |
Pins.md | |
TemplateDocumentation.md |
Importing.mdImporting
This document describes how to import the Template board into a new or existing PCB in KiCad. For doucmentation on project library management, see the libraries docs.
How to Start a New PCB
Choose whether to keep the commit history from the Template repository or throw it away, and follow the instructions for the respective choice.
Keeping Commit History
Use Git to duplicate the entire repository (note that this is different than cloning the repository). Create a new repository on CADLAB and follow the instructions here to duplicate the Template repository into the new repository.
After the entire repository is duplicated, feel free to change all files named
Template.*
orTemplate-cache.lib
to a name fitting the new repository.Throwing Away Commit History
Create a new repository on CADLAB and copy over all files and folders from the Template repository into the new repository. Make sure to copy over the
.gitignore
file too.After the entire repository is duplicated, feel free to change all files named
Template.*
orTemplate-cache.lib
to a name fitting the new repository.How to Copy into an Existing PCB
First copy the library files, then copy the schematic files. Make sure to copy over any changes in the
.gitignore
file too.Copying the Library Files
Copy the
Libraries/UVA_SolarCar_Template/
folder to the existing PCB project (make sure that theLibraries/
folder is at the same level as the existing PCB project's.pro
file). If the existing project already has aLibraries/UVA_SolarCar_Template/
folder, it can still be copied over and overwritten.If this is the first time copying the library files, follow the next two steps. Otherwise, move on to Copying the Schematic Files.
Next, add the
Libraries/UVA_SolarCar_Template/UVA_SolarCar_Template.lib
file as a Project Symbol Library to the existing PCB project in KiCad:
- Go to
Preferences > Manage Symbol Libraries...
- Go to the
Project Specific Libraries
tab- Click on the folder symbol near the bottom left (2nd from the left, it says
Add existing library to table
when hovering over it) and select the fileLibraries/UVA_SolarCar_Template/UVA_SolarCar_Template.lib
- Check that the library path is correct, it uses the
${KIPRJMOD}
substitution, and uses/
instead of\
- Click
OK
Finally, add the
Libraries/UVA_SolarCar_Template/UVA_SolarCar_Template.pretty/
folder as a Project Footprint Library to the existing PCB project in KiCad:
- Go to
Preferences > Manage Footprint Libraries...
- Go to the
Project Specific Libraries
tab- Click on the folder symbol near the bottom left (2nd from the left, it says
Add existing library to table
when hovering over it) and select the folderLibraries/UVA_SolarCar_Template/UVA_SolarCar_Template.pretty/
- Check that the library path is correct, it uses the
${KIPRJMOD}
substitution, and uses/
instead of\
- Click
OK
Copying the Schematic Files
Use KiCad's "Append Schematic Sheet Content" tool to import relevant schematic parts into an existing PCB.
To do this:
- In the
Template.sch
file, create a new heirarchical sheet and call itexport.sch
.- Copy-paste all components to export into
export.sch
.- Save.
- Open the existing PCB schematic to import into.
- Create a new heirarchical sheet and call it
import.sch
.- In
import.sch
, click onFile > Append Schematic Sheet Content...
- Find and open
export.sch
.- If asked, use relative path instead of absolute path.
- If an error message saying "A duplicate library name that references a different library exists in the current library table. This conflict cannot be resolved and may result in broken symbol library links for the schematic." appears, do NOT continue the load. Cancel it and instead do the following:
- This error message only appears if trying to append a component for which an external footprint/schematic symbol was used. If importing such components, delete them from
export.sch
and manually add them intoimport.sch
after appending.- It should now be possible to copy-paste any relevant parts of the imported schematic to the existing PCB schematic.
- Delete any unnecessary heirarchical sheets and save.