KICAD finest PRACTICES: library administration
One typical problem we hear from a lot of new KiCAD individuals associates with schematic as well as footprint libraries. The technique is to utilize just one schematic sign as well as footprint library each with your project. This way any modifications to the default schematic libraries will not impact your project and it will be simple to share your job with others without breaking it. I’ve spent a long time refining this method as well as I’ll walk you with the process in this article.
We have covered KiCAD (as well as other) electronic style Automation (EDA) tools a number of times in the past. [Brian Benchoff] did a whole series on building a job from begin to surface utilizing all the different EDA bundles he might lay his hands on. No CAD or EDA software application is perfect, as well as a individual has to discover to get to grips with the idiosyncrasies of whichever program they choose to use. This normally leads to a great deal of cussing as well as hair pulling during the preliminary stages when one can’t figure out “How the hell do I do that?”, particularly from new converts who are utilized to doing things differently.
Read on to discover the very best methods to utilize when utilizing KiCAD as well as its library management.
Project Management
KiCAD keeps schematic signs as well as element footprints in separate libraries as well as you requirement to link a sign to a footprint utilizing one of a number of different methods. This puts off a great deal of folks, however it works rather well when you get utilized to it.
In the old days before computers, a lot of designers would very first swiftly draw out a schematic, then produce a “bill of materials” where they flesh out the specs of the elements to be used. This would then assist them to select the element footprints, leading to the board design phase. KiCAD tries to comply with this work-flow. Here’s a normal folder structure I utilize to organize a KiCAD project, having fine-tuned this method over lots of years of working with the software.
doodad
↳3d_models // .STEP as well as .WRL design data for all footprints
↳datasheets // data sheets for elements used
↳gerber // final production files
↳images // SVG pictures as well as 3D board renders
↳lib_sch // schematic symbols
↳lib_fp.pretty // footprints
↳pdf // schematics, board layouts, dimension drawings
Managing Schematic Libraries
When you draw a schematic utilizing signs from the built-in libraries bundled with KiCAD, EESCHEMA produces a regional backup library — doodad-cache.lib. when you’re done drawing your schematic, copy this data to the ↳lib_sch folder and rename it to doodad.lib.
Next, go to ↳PREFERENCES↳Component Libraries , choose “CURRENT browse path LIST” to point to your regional job folder ~/doodad/, click the add button at the top of the appear window (NOT the add button in the middle of the pop up), as well as lastly choose doodad.lib. It gets added below the currently chosen library in the list.
KiCAD reads these libraries in sequential order, so you requirement to choose doodad.lib as well as bring it to the top of the listing utilizing the UP button. If there’s a sign with the exact same name in different libraries, then the very first instance of it gets used. At this point, you can either eliminate all the other provided libraries, or just neglect them as long as you make sure that every sign you utilize gets added to doodad.lib as well as get’s called only from that file.
Your job now utilizes just one schematic sign library — ~/doodad/lib_sch/doodad.lib — as well as any type of modifications to the default schematic libraries will not impact your project. Moreover, utilizing the above defined folder structure, it’s simple to share your job on GitHub. When your job gets cloned or downloaded, this makes sure there are no library conflicts.
All of the above may modification when KiCAD implements s-expression styles in EESCHEMA as well as schematic libraries (already implemented in PCBnew), so we’ll revisit this at that time.
Assigning Footprints to Symbols
There’s a number of methods of doing this, however essentially, you choose a schematic symbol, as well as designate it a footprint from one of the default libraries. ever considering that KiCAD moved footprint libraries to GitHub, this has been a cause of heartburn for many. For one, all libraries are held online, as well as KiCAD needs to look them up whenever you terminate it up. For those who don’t modification this behaviour, it slows down the program during startup, if you’re not linked to the web. on the internet libraries are a great concept since footprints stay updated, however it is a sure terminate method to break your styles must one of the footprints utilized in your style change. This won’t show up for you immediately, since you will have to explicitly re-read the net-list as well as get KiCAD to replace altered footprints. however for somebody else who clones your design, as well as their KiCAD version tons up the updated footprint, it will break things.
The option is to clone all the KiCAD libraries to a regional place on your computer, as well as then point KiCAD to this location. however when you do this, it negates the advantage of having gain access to to updated libraries. I don’t believe there’s an suitable method to make it work, however here’s what works for me.
I clone the GitHub libraries to my regional computer, as well as keep them updated by routine pulls. This assists me utilize existing footprints or customize them to fit my requirements. however my job does not utilize any type of of those cloned libraries directly. Instead, I produce a job certain footprint library that contains all of the footprints (~/doodad/lib_fp.pretty) utilized in the project. when again, this makes sure that when the job gets cloned, all of the ideal footprints are already offered without depending upon outside source libraries.
How to Make KiCAD Footprints regional as well as Project-Unique
Start by cloning (from GitHub) the KiCAD footprint repository to your computer. This is finest done utilizing the ‘Footprint Libraries Wizard‘ from within PCBnew. In my case, I have cloned it to ~/kicad_sources/library-repos. In KiCAD’s PCBnew, choose ↳PREFERENCES ↳CONFIGURE paths as well as edit KISYSMOD to point to the regional footprint library path (~/kicad_sources/library-repos).
path to fp-lib-table
In some cases, extra steps may be needed to make things work. Select ↳PREFERENCES ↳FOOTPRINT LIBRARIES MANAGER and figure out the place of the “fp-lib-table” data utilized by PCBnew. This is a text data that tells PCBnew where to look for footprint libraries – on Github, regional path etc. open this data in a text editor, as well as inspect if it utilizes KISYSMOD as the path. If not, do a browse as well as replace for all instances of present path as well as replace it with KISYSMOD.
Now, you can edit each schematic symbol, as well as add a footprint to it — either from within EESCHEMA, or utilizing the stand alone Cvpcb module. when all footprints have been assigned, make sure you re-generate the netlist before moving on to PCBnew.
MODE : footprint
You can now begin PCBnew as well as checked out the netlist, which dumps all the footprints in a stack on the canvas. choose the mode : footprint icon, then context-click on any type of ONE footprint, choose ↳Global spread as well as location ↳Spread out all footprints.
This spreads out all the footprints making it much easier to choose as well as step them around. when you’re made with your board layout, as well as all of your footprints are locked in, choose data ↳Archive Footprints↳Create library as well as Archive Footprints as well as supply the path/name to the .pretty folder in your job (~/doodad/lib_fp.pretty). This copies all the footprints utilized in your design to the target folder.
Then, Preferences↳Footprint Libraries Wizard↳Files on my computer↳(navigate to ~/doodad/lib_fp.pretty) as well as make sure you choose “To the present job Only” before hitting Finish. At this point, you have utilized footprints from KiCAD’s worldwide libraries as well as used them to schematic symbols, made a netlist, imported netlist in PCBnew, put the footprints as well as directed the board, made an archive of all the footprints used, as well as configured PCBnew to utilize that archive library.
Replace library paths
Next, return back to EESCHEMA, as well as edit the footprint association of each sign to point to the new lib_fp.pretty folder instead of the regional GitHub repository on your computer. The simplest method to do this is to open the .SCH data in a text editor as well as do a search/replace. In our present example, we will replace instances such as “Capacitors_ThroughHole” or “Resistors_ThroughHole” or “LEDs” with our regional job library folder “lib_fp”
Open the schematic one last time, save a fresh netlist, open PCBnew, checked out this netlist, however this time around choose the modification choice under exchange Footprint. Your board design will now be utilizing footprints saved in your lib_fp.pretty folder, as well as modifications to the KiCAD worldwide libraries will not impact the layout.
Wrapup
This may noise a bit convoluted in the beginning, however over time it becomes rather easy, as well as you can get rid of some steps as you get better. For example, I already have my own library for a lot of of the typical parts that I use, as well as copy these footprints before starting off on a new project. Over time, as you get much better at it, you will begin building your own schematic signs as well as footprints from element data sheets instead of utilizing outside versions. like I stated at the beginning, it’s not perfect, as well as for me this process works extremely well. If you have comments or tips on making this better, chime in as wellas let us know.