After you run through the tutorial - the next thing to do is learn how the libraries work. Libraries are processed with the subprogram called libedit.
If you are learning to use kicad, it is important to realize at step one that you will need to be able to make your own library parts (I can' think of a project where it wouldn't be true). The first thing you need to do is understand how the library parts are created, modified and extended. Libedit is where eeschema's library files (.lib) are edited. Once a part is edited you need to save it twice - into the current RAM and again to the library (not sure of the why for this?).
Like the rest of the KiCad database, libs are text files and quite readable. While libedit handles most things well, you can use a basic text editor to handle many chores, in particular if you want to make bulk changes to text size or other features, working on the text file is easier than in libedit. Of course observe all the usual cautions when manually changing a database file, but the structure is generally pretty straightforward. Do not leave any blank lines in the file, and be cautious adding comments as sometimes they will break the part (in the DRAW section, for instance).
There are quite a few libraries that come with kicad and the temptation is use them just as they are, but the best practice is to create your own library and copy the ones you want to use over. Then if you make changes or adjustments you won't lose them the next time you update the software.
In libedit select part to rename, Select edit part properties and select the fields tab. In the "Field to edit" section, choose the "Value/Chip Name" radio button. While the "Value" radio button is selected, edit the "Field Text" to the new part name. Save the library. Select the delete icon and delete the original part name.
From in EESchema select click-on go_to_library-editor" icon. Then select "New Component" icon ... go through the process of creating a part or open an existing one it by clicking on the 'Select a component to edit' icon.
Once you've have a part, use the "Create a new library and save current part into" icon. Then select a filename (ends in '.lib').
After saving - close out libedit. Next, form in EESchema add the new library to library list. You do this in "Preferences/Libs_and_Dir > ADD (button)" - browse and find the library you just created and it will be added to the selection list.
From in EESchema select click-on go_to_library-editor" icon. From within libedit click on the 'Select the working library' icon - select the lib you want to copy from and then click on the 'Select a component to edit' icon and select the part you want to copy.
Now, click on the 'Select the working library' icon again and then the 'save current loaded library on disk' icon.
Once you understand how the library works, the next thing you should do is to decide on a default set of fields that you want associated with your parts - this allows you to have the information where it is needed and helps you generate useful BOMs.
There are only a couple of field names (of course the field itself is editable) that can't be changed. These are Ref, Value/Chip Name, Footprint, and Sheet,
The rest of the fields are user fields that default to field1, field2,...field8 and can be changed to anything you want.
I recommend creating a part called 'template' that has the fields you normally use and save it. Then when you create a new part open this 'template-part' and edit it into the new part. I suggest the following fields to use:
While in lib edit you can click on the 'Edit component Properties icon to bring up a tabbed dialog box. This lets you change the details of the component.
(function, technological family.)
An alias is another name corresponding to the same component in the library. Components with similar pinout and representation can then be represented by only one component, having several aliases (ex: 7400 with alias 74LS00, 74HC00, 74LS37. ).
My way is to always start with my template part (you could have several templates made from the first one.) So instead of selecting the New component' icon use the select component to edit icon and change the Value/Chip Name field and save the part. Then start editing.
For fast, efficient pin name entry there is a nice web tool that creates a part for you from your input. http://kicad.rohrbacher.net/quicklib.php
Once you download the automatically created part you should:
Some things in Libedit are difficult to get to, such as changing the font size of the component name. Like all KiCad files, you can always just open the component .lib file in a text editor and make changes. Many fields are obvious, but the definitive reference is in your KiCad installation at ProgramFiles -> KiCad -> doc -> help -> file_formats
Associate schematic decal pins with footprint pins?
There used to be a way to do this - no longer works as of 4.0.2 - not sure why(you could update RAM)
I've tried saving to the cache lib - does not work. Reset to library default -does not work.
There should be a better way - but - for now: delete all of such components - then replace from lib.
Electrical Rule Check helps check your schematic for errors based mostly on looking for compatible pin types on a net. For instance, it will tell you if there are two outputs on a single net, or an input with no outputs. Use ERC, don't avoid it. It will save you from dumb errors (are there any other kind?)
Select the component, R-click and from the pop-up menu, "copy-component". If you need to duplicate a block of components, hold shift, L-click and drag a box around them, drag and release.
Select the block with the mouse, right-click and select "Save block" Then go to the other sheet and click the "Paste" (Clipboard icon) button in the tool-bar.
You can do this by adding the old schematic to the new as a hierarchical sheet and then copying between them.
A better solution than postscript printing is to use Plot/Plot SVG command to write scheme in SVG file format.
Best to use this script: bom_csv_grouped_by_value.py more details To use it, simply add the following line to your BOM dialog:
python <kicad_install_dir>/scripts/bom_in_python/bom_csv_grouped_by_value.py "%I" "%O"
The output is a CSV file which can be loaded into a spreadsheet. There are 4 blacklists supported, and these are documented at the top of kicad_netlist_reader.py.
Buses don't really do anything other than decorating the schematic - there is no connectivity ( probably a good thing to keep it this way ).
The above link is really a decent basic tutorial on all of KiCad, not just Hierarchy.
KiCad automatically numbers the pages in a hierarchy. Those page numbers then may be used when generating reference designators, so that you know R405 is on page 4. That's good, but if you add a page, or if KiCad renumbers pages in the midst of various editing sessions, a page that started out with R401 and R402 might later have R505. Rare on schematics of a few pages, it is fairly common on more complex hierarchies or schematics with lots of pages or lots of changes.
Unfortunately, there does not seem to be any way within KiCad to lock a page number or to force a page number if it gets changed. Nowhere in the ascii database is there a page number assigned either! KiCad assigns page numbers on the fly, based on the order of the page definitions in the top level schematic. So fixing a page numbering problem is as simple as moving around the page definitions (these are blocks demarked by $Sheet and $EndSheet). Be VERY careful when manually editing KiCad - it is a little delicate. For instance, do not leave blank lines.
The behavior of power nets follows the rules of all other nets, there is nothing magic. GND, 5V, 12V etc are examples of power nets.
All power nets are created with pins identified as "power input", including the Power Symbols you put all over the place. If they were "power output" then Kicad would complain, because there was more than one. So the Power Flag, is the ONE power output per power net, that makes the ERC happy.
A Power Symbol is really just a component with an invisible power pin. Like any component with invisible power pins, it connects to all pins of the same name. And any net you connect to it then is connected to that net.
The Power Flag can be used to connect power across sheets, but it can also be used on a single page schematic to provide the Power Output for a power net. If you want a GND net and a GND_EARTH net, you need two symbols. The GND symbol has an invisible pin named GND, and the GND_EARTH symbol has an invisible pin named GND_EARTH. Each ground net should have one PWR_FLAG connected to it.
(should not be necessary - already exists in Power.lib)
Only the pin name is used. Invisible pins which have the Power In or Power Out electrical contact are automatically connected.
For connection, the name of the symbol is not used (From this point of view, if is only a comment).
As of version (2010-03-14) has a feature that lets one turn on invisible power pins in the Preferences/Options of the main menu or by using the icon on the options tool-bar found on the left side.
Sometimes a passive device (resistor or inductor) is placed between the Power rail and a component's Power pin. This causes ERC to report that the pin is not powered. (Pin connected to some other pins, but no pin to drive it) The Power Flag can be used to fix this.
The Power Flag, as a power output, tells ERC that the component is powered, but it adds no actual component to the net.
This is substantially better than turning off the ERC check or remembering which errors to ignore (two bad practices).
Eeschema automatically connects invisible power pins, thus all invisible power pins of the same name are automatically interconnected without any effort on your part.
This presents some problems - if you want to keep the grounds separated, (lets say to control noise induced by ground currents) then you can make your own part versions with non-power-port pins (flag "Power Symbol" must be cleared (In libedit, Part Properties/Options).
Some parts call ground pins GND while others may have it as VSS - you can connect them with power symbols for these names. There is some other foot work needed with the use of a PWR_FLAG to prevent ERC from detecting them as unpowered.
Best Practice It is popular to not bring out the power pins on parts - and let power be automatic, this practice might save time, but at the cost of failing to communicate what is going on. A better way.
In the netlist file you will see global netnames appear with out any prefix. All other net names will have the sheet path as a prefix. Thus on the root schematic, the netname "mylabel" appears as /mylabel.
A label defined in the sheet "mysheet", inside the sheet "parentsheet", inside the root sheet is named /parentsheet/mysheet/mylabel. WARNING: this means that if there is a space or other typography in the sheet name ("My A/D sheet") that will appear in any net name from that sheet ("/My A/D sheet/trig"). Many CAD tools will not like this. PADS for instance will ignore text after the space, so all nets from that page would get named "/My" which is probably not what you want.
Global labels (like powers) are not prefixed because they are not defined in a specific sheet, and they are known in all sheets. They are named VCC, GND ...
Inside a complex hierarchy ( sheet used more than once) , for instance mysheet found in sheetOne ans sheetTwo, the label mylabel found in mysheet is named: /sheetOne/mysheet/mylabel and /sheetTwo/mysheet/mylabel because they are actually 2 different nets. (like 2 different files named myfile in two different directories)
|Top Page||wiki Index|
This information may have errors; It is not permissible to be read by anyone who has ever met a lawyer.
Use is confined to Engineers with more than 370 course hours of electronic engineering for theoretical studies.
ph +1(785) 841-3089
(C) Copyright 1994-2017, Transtronics, Inc. All rights reserved
Transtronics® is a registered trademark of Transtronics, Inc.
All trademarks are the property of their respective owners.