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 / 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
-
FuseBoard / FuseBoard.kicad_pcb
-
FuseBoard / FuseBoard.kicad_sch
-
MotorBoard / accelControl.kicad_sch
-
MotorBoard / CANCommunication.kicad_sch
-
MotorBoard / Connectors.kicad_sch
-
MotorBoard / digitalPot.kicad_sch
-
MotorBoard / EXAMPLE.kicad_sch
-
MotorBoard / ExternalClocks.kicad_sch
-
MotorBoard / InputProtection.kicad_sch
-
MotorBoard / IO.kicad_sch
-
MotorBoard / IsoCANCommunication.kicad_sch
-
MotorBoard / MCU.kicad_sch
-
MotorBoard / MotorBoard.kicad_pcb
-
MotorBoard / MotorBoard.kicad_sch
-
MotorBoard / PowerPathing.kicad_sch
-
MotorBoard / regenControl.kicad_sch
-
MotorBoard / Reset.kicad_sch
-
MotorBoard / STLink.kicad_sch
-
MotorBoard / switchingLogic.kicad_sch
-
MotorBoard / Simulation / PCB_Protection / LongWireSwitching.sch
-
MotorBoard / Simulation / PCB_Protection / MicroController.sch
-
MotorBoard / Simulation / PCB_Protection / PCB_Protection.kicad_pcb
-
MotorBoard / Simulation / PCB_Protection / PCB_Protection.sch
-
PrechargeBreakout / PrechargeBreakout / ChResistors.kicad_sch
-
PrechargeBreakout / PrechargeBreakout / DisResistors.kicad_sch
-
PrechargeBreakout / PrechargeBreakout / Precharge_Switch_Logic_CH.kicad_sch
-
PrechargeBreakout / PrechargeBreakout / Precharge_Switch_Logic_DIS.kicad_sch
-
PrechargeBreakout / PrechargeBreakout / PrechargeBreakout.kicad_pcb
-
PrechargeBreakout / PrechargeBreakout / PrechargeBreakout.kicad_sch
-
PrechargeBreakout / PrechargeBreakout / PrechargeSwitchLogic.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
FilesMotorBoardDocumentation | |
---|---|
.. | |
Importing.md | |
Layout.md | |
Libraries.md | |
Pins.md | |
TemplateDocumentation.md |
Libraries.mdLibraries
This document describes the project library management. For documentation on how to import the Template PCB into a new or existing PCB in KiCad, see the importing docs.
Organization
All symbol and footprint libraries are contained in the
Libraries/
directory.In this Template project, there is only one sub-directory in the
Libraries/
directory:Libraries/UVA_SolarCar_Template/
. This is where common components used by all teams are placed.After importing the Template PCB, all teams should place their team-specific components in a different sub-directory, named
Libraries/UVA_SolarCar_TeamName/
. New team-specific components should never be added to theLibraries/UVA_SolarCAr_Teamplate/
directory.Adding New Components
There are two main steps for adding new components. The first step is to create the team-specific library (if adding a team-specific component). This only needs to be done once. The second step is to add the component into KiCad using LibraryLoader . This must be done each time a new component is added.
Creating a Team-specific Library
- Create a new sub-directory in the
Libraries/
directory, name itLibraries/UVA_SolarCar_TeamName/
, whereTeamName
is replaced with the team's name- Download LibraryLoader. Follow the help page for more info
- In LibraryLoader's KiCad
Settings
, change theDirectory
toLibraries/UVA_SolarCar_TeamName/
created earlier- Ensure that the
Downloads Folder
in LibraryLoader is set to the folder that web downloads go to automatically- Download the new component's ECAD file. LibraryLoader should automatically add the downloaded component to the
Directory
specified earlier as a KiCad Library- In KiCad, add the Symbol Library
- Go to
Preferences > Manage Symbol Libraries...
- Go to the
Project Specific Libraries
tab- Add the file
Libraries/UVA_SolarCar_TeamName/SamacSys_Parts.lib
by clicking on the folder symbol on the bottom left (2nd from the left, saysAdd existing library to table
when hovering over it)- Change the
Nickname
toUVA_SolarCar_TeamName
, whereTeamName
is replaced with the team's name- Click
OK
- In KiCad, add the Footprint Library
- Go to
Preferences > Manage Footprint Libraries...
- Go to the
Project Specific Libraries
tab- Add the directory
Libraries/UVA_SolarCar_TeamName/SamacSys_Parts.pretty/
by clicking on the folder symbol on the bottom left (2nd from the left, saysAdd existing library to table
when hovering over it)- Change the
Nickname
toUVA_SolarCar_TeamName
, whereTeamName
is replaced with the team's name- Click
OK
- Delete the example symbol, footprint, and 3D model that was included with LibraryLoader (optional)
- In KiCad, open the Symbol Editor (2nd button on Home Screen's right side, looks like OpAmp)
- Search
uva
- Delete the example symbol
- In KiCad, open the Footprint Editor (2nd button on Home Screen's right side, looks like OpAmp)
- Search
uva
- Delete the example symbol
- In the file explorer, delete the file
Libraries/UVA_SolarCar_TeamName/SamacSys_Parts.3dshapes/EXAMPLE.stp
, whereTeamName
is replaced with the team's name andEXAMPLE
is replaced with the example part numberAdding the Component into KiCad
This is done almost entirely automatically by LibraryLoader when downloading the new component's ECAD model, as described above. The only thing Library Loader does not handle well is the 3D model: it uses an absolute path for each 3D model rather than a relative path (on Windows it also uses
\
instead of/
, which will not work on Mac and Linux).To fix this follow the steps below:
- Import into KiCad using LibraryLoader
- In LibraryLoader's KiCad
Settings
, change theDirectory
toLibraries/UVA_SolarCar_TeamName/
if adding a team-specific component, or toLibraries/UVA_SolarCar_Template/
if adding a common component used across all teams- Ensure that the
Downloads Folder
in LibraryLoader is set to the folder that web downloads go to automatically- Download the new component's ECAD file. LibraryLoader should automatically add the downloaded component to the
Directory
specified earlier as a KiCad Library- Fix the 3D model's path in KiCad
- Go to the
Footprint Editor
- Search
uva
- Double click on the newly added component
- Go to
Footprint Properties
(the first setting icon on the top orEdit > Footprint Properties...
)- Go to the
3D Settings
tab- Click on the folder icon (in between the + icon and the trash icon) and add the file
Libraries/UVA_SolarCar_TeamName/SamacSys_Parts.3dshapes/PartNumber.stp
if adding a team-specific component, or the fileLibraries/UVA_SolarCar_Template/UVA_SolarCar_Template.3dshapes/PartNumber.stp
, wherePartNumber
is replaced by the part number of the newly added component- Ensure that the added model is the correct one, uses the
${KIPRJMOD}
substitution, and uses/
instead of\
- Remove the old model by clicking on it and clicking the trash icon (to the right of the folder icon)
- Click
OK
- Save (after saving, the newly added component should not be bolded or have a * symbol next to its name)
- Add the component to the schematic
- Add the part to the correct location(s) on the schematic
- Annotate the schematic to include the new components
- Go to
Tools > Assign Footprints...
- If prompted to update the "missing lib nickname", click OK
- Save the change by clicking OK again to exit the
Assign Footprints
menu