Eeschema Chapter11 JA
LibEdit - Components Management
General information about libraries
Libraries
All components used in a schematic are stored in component libraries. In order to be able to have a simple way to manage these components library files are grouped by topic, by functions or by manufacturers.
The library management menu allows you to create libraries and add, delete or transfer components. The library management menu also allows you to quickly visualize all components of a library.
Management Menus
Two library management menus are available.
- ViewLib. Allows you to visualize components giving quick access to the components. ViewLib is available via the icon [[Image:]].
- LibEdit. Allows you to manage all components and libraries. LibEdit is available via the icon [[Image:]].
Components overview
A component inside its library is composed of
- Its graphical design (lines, circles, text fields).
- Pins which must respect the usual graphic standards (regular pin, clock pin, inverted pin, or low level active) that describe electrical properties used by the ERC tool.
- Text fields such as references, values, corresponding module names for PCB design, etc.
A componet can have an alias, i.e. several names (thus a 7400 can also be called 74LS00, 74HC00, 7437 hence all these components are identical to the schematic diagram design).
The use of aliases is a very interesting method of creating complete but compact and rappresents a way to quickly built libraries.
Designing a component means
- Defining general properties: define multi-parts with possible double representations known as Morgan rappresentation or converted representation.
- Designing it using lines, rectangles, circles, polygons and texts.
- Adding pins. Carefully defining its graphical elements, its name, the number of pins and their electrical properties (input, output, 3 states, power port, etc.).
- Adding an alias if other components have the same design and pinout or removing one if the component has been created from an other component.
- Adding possible fields (the name of the module is used by the PCB design software) and/or defining their visibility.
- Documenting the component with text and www links to data-sheets, etc.
- Saving it in the desired library.
Load a component for editing
Click on the icon [[Image:]] to open the component editing Libedit. Libedit looks as shown below.
Libedit - main Toolbar
[[Image:]] | Save current library on hard disc |
[[Image:]] | Current library selection |
[[Image:]] | Delete a component in current library |
[[Image:]] | Create a new component |
[[Image:]] | Load component from current library for editing |
[[Image:]] | Create a new component from the current loaded component. |
[[Image:]] | Save the current component in current library only in RAM.
The library file on disk is not changed. |
[[Image:]] | Import one component. |
[[Image:]] | Export the current component. |
[[Image:]] | Create a new library file with the current component. |
[[Image:]] | Undo / Redo command |
[[Image:]] | Edit the component properties. |
[[Image:]] | Edit fields of component: reference, value/name in lib and/or others fileds |
[[Image:]] | Show the representation: Normal or converted (De Morgan) |
[[Image:]] | Show the associated documentation (if exists) |
[[Image:]] | Part selection (for multi part components) |
[[Image:]] | Alias selection (if the current components has aliases) |
[[Image:]] | Pin editing: independant editing for pin shape and position (for multi parts and De Morgan representation) |
[[Image:]] |
Library selection and maintenance
The selection of the current library is possible via the icon [[Image:]] which shows you all available libraries and allows you to select one.
When a component is loaded or saved, it will be put in this library. The library name of the component is also its field 「綏alue「・
Note
- You must load a library in Eeschema, in order to use its content.
- The content of the current library can be saved after modification, by clicking on [[Image:]].
- A component can be removed from the library by clicking [[Image:]].
Select and Save a component
When you edit a component you are not really working on the component in its library, but on its copy in the local computer memory. Any edit action can therefore be undone easily. Also, a component may come from a local library, or from an old component.
Selection
The icon [[Image:]] displays the list of the available components that you can select and load.
Note
If a component alias is selected, the main component will be loaded. Eeschema always displays the name of the component really loaded on the window title.
- The list of component aliases is always loaded with each component, and can thus be edited.
- When you want to edit one alias, this alias must be selected in the toolbar window : [[Image:]]. The first item of the list is the root component.
Note
Alternatively, the Import command [[Image:]] allows you to load a component which has been previously saved by the Export command [[Image:]].
Save a component
After modification, a component can be saved in the current library, or in a new library, or exported in a backup file.
To save in current library, use the update command [[Image:]]. Remember that the update command only saves the component in the local memory. By this way, you can make up your mind before you modify the library.
If one wants to permanently save the component, you have to use the save icon [[Image:]] which will modify the library file on the local hard disc.
If you want to create a new library for this component, use the NewLib command [[Image:]]. You will be asked for a new library name.
Note
If you want to be able to find your component, do not forget to add its library to the list of libraries in Eeschema (see Eeschema configuration).
Finally, one can use the export command [[Image:]] to create a file containing only this component. This file will be a standard library file which will contains only one component. In fact the NewLib command and the export command are basically identical, the first is the default option to create a library in the default library directory, and the second is used to create a library in in the user directory.
Transfer components in another library
You can very easily copy a component from a source library into a destination library using the following commands
- Select the source library with the button [[Image:]].
- Load the component to be transferred with the button [[Image:]]. The component will be displayed.
- Select the destination library with the button [[Image:]].
- Save the current component in the local memory with the button [[Image:]].
- Save the component in the local library (the destination library) with the button [[Image:]].
Cancellation of component editing
When you are working on a component, the edited component is only a working copy of the actual component in its library. This means that as long as you have not saved it in memory, you can just reload it to cancel all changes made to it.
If you have already saved it in the local memory and you have not saved it in the library file in your hard disc, you can always quit and start again Eeschema to undo all the changes.
Create a library component
Create a new component
A new component can be created with the NewPart command via the button [[Image:]]. You will be asked for a component name (this name is also the field value for Libedit and it is used as default value for the field 「綏alue「・in the schematic editor), the reference (U, IC, R。ト), the number of parts per package (for example a standard component 7400 A is made of 4 parts per package) and if a converted representation exists (de Morgan as standard).
If the field reference is left empty, the reference will default to 。ネU。ノ.
All this data can be set later, but it is preferable to set it at the creation of the component.
[[Image:]]
At the beginning, a component will look like this.
Create a component from an other component
Often, the component that you want to make is similar to one in the KiCad library. In this case it is quite usual to load and modify an already existing component. These are the steps to do so.
- Load the component which will be used as a starting point.
- Click on the icon [[Image:]] or modify its name (right click on the name and edit the text 「綏alue「・You will be prompted for a new component name.
- If the model component has aliases, you will be prompted to remove aliases from the new component which conflict with the model. If the answer is no the new component creation will be aborted.
- Modify the component name.
- Edit the new component as you need.
- Save in memory the new component with the button [[Image:]] or save to a new library with the button [[Image:]] or if you want to save this new component in an other existing library select the other library via the command [[Image:]] and save the new part.
- Save the library file to disk with the file update command via the button [[Image:]].
Editing main component features
The main features of a component are.
- The number of parts per package.
- The presence of a converted representation.
- The associated documentation.
- The update of various fields.
These features should be carefully inserted during the component creation or, alternatively they come from the model component. Either way, it is necessary to use the edit command [[Image:]].
The editing window looks like this.
[[Image:]]
The important options that define the general properties are 1) the number of units to define the number of parts per package, 2) whether the component has a double representation.
It is very important that these two parameters are correctly set because when pins are edited or created the corresponding pins of all parts will be published or created together.
If you increase the number of parts after pin creation/editing, there will be additional work introduced by this increase. Nevertheless, it is possible to modify these parameters at any time.
Graphic options.
- Show Pin Num
- Show Pin Name
defines the visibility of the pin number and pin name text. This text will be visible if the corresponding options are active.
The option 。ネPin Inside。ノ defines the pin name position; this text will be displayed inside the component outline if the option is active). In this case the Pin Name Skew parameter defines the shift of the text towards the interior. A value from 30 to 40 (in 1/1000 inch) is reasonable.
The example below shows the same component, with the Pin Inside option unchecked. Notice the position of the names and pin numbers.
Multi-part components
During the editing of component elements, and if the component has multiple parts or representations, you will have to select the different parts or representations of this component.
For the representation selection click on the icon [[Image:]] or on the icon [[Image:]].
For the part selection.
Component design
The vertical toolbar on the right-hand side allows you to place all elements of a component.
[[Image:]] | To draw a component, you can use the following graphic elements:
Pins and text fields (value, reference) are treated differently, because they are not pure graphic elements. |
Graphic elements membership options
Each graphic element can be defined as ordinary or specific, either to a type of representation (Normal or converted) or to the different parts of a component.
The options menu is accessible by the right click on the concerned element. Here you can see an example of a line.
[[Image:]]
or by a double-click on this element you can get the following menu.
[[Image:]]
The typical options of a graphic element are.
- Shared by all parts in component checked, because generally the different parts of a component have the same graphic representation, and it is thus enough to draw one part only.
- Shared by all body styles (DeMorgan) unchecked, because a double representation is introduced, to have a different graphic representation with each kind of representation.
It will then be necessary to draw each graphical representation.
For elements of the type 。ネpolygon。ノ (lines successively traced) the Fill background or Fill foreground option allow you to generate a filled polygon.
However, you can thus treat the case (fortunately rare) multi-parts components, designed with different graphic types, by uncheck Shared by all parts in component.
Each part will then have to be drawn, and if the option 。ネSpecific to the representations。ノ is checked, for each part it will be necessary to draw the two representations.
Finally it can be interesting to check the option Shared by all body styles (DeMorgan) for components drawn with the modern IEEE standard, since the graphics essentials are identical in the normal and converted representations.
Geometrical graphic elements
Their design is possible using the following tools.
- Lines and polygons, simple or filled if the option is checked.
- Rectangles defined by a diagonal.
- Circles defined by the center and radius.
- Arcs defined by the starting and ending point of the arc and its center. An arc goes from 0 deg to 180 deg.
Graphical elements of text type
The icon [[Image:]] allows for the creation of text. The text is always readable, even if the component is mirrored.
Pin creation and editing
You can click on the icon [[Image:]] to create and insert a pin. The editing of all pin features is done by double-clicking on the pin. Alternatively, you can right-click to open the fast editing menu.
Pins must be created carefully, because any error will have consequences on the PCB design. Any pin already placed can be re-edited, erased or moved.
Pins overview
A pin is defined by its form (length, graphic aspect), its name and its 。ネnumber。ノ which is not always a number. PGA socket pins are defined by a letter and a number, like A12 or AB45. In EEschema, the 。ネpin number。ノ is defined by a set of 4 letters or numbers.
For the ERC tool to work, the 。ネelectric。ノ type (input, output, 3states。ト) must also be defined. If this type is not well defined, ERC check will be inefficient.
Important Note
- Avoid spaces in pin names and pin numbers.
- A pin name with an inverted signal begins with the symbol 。ネ~。ノ.
- If the pin name is reduced to this single symbol, the pin is regarded as unnamed.
- Pin names starting with 。ネ#。ノ, are reserved for power port symbols.
- A pin number consists of 1 to 4 letters or numbers. 1,2,..9999 are valid numbers, but also A1, B3。ト (standard PGA notation) or Anod, Gnd, Wine, etc.
Multi-part components - double representation
Let us recall that, particularly for logic gates, a symbol can have two representations (representation known as 。ネDe Morgan。ノ and that an IC can include several parts (e.g. several NOR gates).
For certain ICs, you may want several different graphic elements and pins.
For example a relay can be represented with different elements.
- Coil
- Switch contact 1
- Switch contact 2
The management of the multi-part ICs, and the components with double representation is flexible.
Indeed, a pin can be.
- Common or specific to different parts.
- Common run to both representation or specific to each representation.
By default, pins are specific to each representation of each part, because their number differs for each part, and their design is different for each representation.
When a pin is common you just have to draw it once (e.g. in the case of power pins)
It is also the case of the design which is almost always identical for every part but differs between the normal and the converted representation.
Pins - basic option
Components with multiple parts and/or representations are particularly problematic for pin creation and editing. Insofar as the majority of the pins are specific to each part (because their pin number is specific to each part) and to each representation (because their form is specific to each representation), the creation and the editing of pins would thus be likely to be long and tiresome.
Eeschema allows the simultaneous handling of pins.
By default, for the multi-part components and/or double representations, these modifications are made for all pins corresponding to parts and representations when you create, edit (except for forms, and numbers) delete or move a pin (e.g. for all the pins placed at the same co-ordinate).
- For the design, the modifications made for the current representation, are for all parts.
- The pin numbers are modified for the current part, for the 2 representations.
- Names are modified independently.
This dependency was established to allow fast modifications in most of the cases.
This dependency in the modifications can be disabled in the Options Menu, allowing you to create components with parts and representations of completely independent characteristics.
This dependence option is managed by the tool.
- If the button [[Image:]] is not activated (not highlighted) the edit will apply to all parts and to all representations. This is the standard option.
- If the button [[Image:]] is activated (highlighted) the edit will apply only to the current part and in the current representation (i.e. on what you see on the screen). This option is rarely used.
Pins - defining characteristics
The pin properties window allows you to edit all characteristics of a pin.
[[Image:]]
This menu pops up automatically as you create a pin, or while you double-click on an existing pin.
Via this menu you can define or modify.
- The name and name size of a pin.
- The number and size of a pin number.
- Pin length.
- Electrical type and design.
- Its membership. Common to normal and "Morgan" representation.
- Invisible pin. Used for power pins.
Also remember that
- A pin name begins with a 。ネ~。ノ for inverted signals.
- If the name is reduced to a character only, the pin is regarded as without name.
- The pin number consists of 1 to 4 characters (letters or digits).- 1,2..9999 are valid numbers, but also A1, B3。ト (standard notation PGA) or Anod, Gnd, V.in, etc.
Pins shapes
You can see on the figure below different pin shapes.
[[Image:]]
The choice of the form has a purely graphic influence, and does not have any influence on the ERC checks or any netlist function.
Pins - electric types
The choice of the type is important, for the ERC tool. The choice is commonplace for input and output pins of IC's.
- The BiDi type indicates bidirectional pins commutable between input and output (microprocessors data bus for example).
- The type 3 states is the usual 3 states output.
- The passive type is used for passive component pins, resistors, connectors, etc.
- The unspec type (unspecified) can be used when ERC. check doesn't matter.
- The power in type is to be used for the components power pins. In particular if the pin is a power in port, and is declared as "Invisible", it is not displayed in schematic diagram, and it is automatically connected to the other pins of the same type and same name ( Invisible Power In Pin).
- Power out is for regulator outputs.
- You can use open emitter and open collector types too.
Pins - global modifications
You can modify the length of all the pins, or the text sizes (name, part number), using the Global command of the pop up menu to set one of these three parameters.
Click on the parameter you want to modify and type the new value which will then apply to all component pins for the current representation.
Pins - multi-part components and double representations
Various parts or representation (such as the 7400, 7402, etc.) can need a complementary edition.
This complementary work will be limited if the following precautions are taken.
- General option edit pin part per part [[Image:]] must remain unchecked.
- The power pins will be created with the attribute common unit and common convert active (they can be also invisible (No Draw) ).
The correct setup is as follows.
When other pins have been created, they have been created for each part and each representation.
[[Image:]]
For example the output pin of part A of a 7400 will have been created by Eeschema in 8 specimens: 2 per part (there are 4 parts A, B, C, D and for each part, the normal representation, and the converted representation known as of Morgan.)
However it will have at the beginning correctly created the part A in its normal representation. It will thus be necessary for each part
- To select the converted representation, and to edit the form and the length of each pin.
- For the other parts, to edit the pin numbers.
Field editing
For the already existing fields, you can use the fast editing commands via right-click.
[[Image:]]
For a more complete editing or empty fields, it is necessary to call the editing fields window [[Image:]]
Its dialog window will look like this.
[[Image:]]
The folder reference is selected here. Fields are text sections associated to the component, not to be confused with the text belonging to the graphic representation of this component.
These fields are always available and are.
- Value.
- Reference.
- Name of the associated module (footprint for the PCB).
- link to a documentation file (mainly intended to be used in schematics).
- Template fields defined in the schematic editor (for comments).
The value and reference fields are defined during the component creation, and can be modified here. It can possibly be useful to edit the name field of the associated module to directly generate netlists (for the PCB software) including the module (footprint) name.
The name field of the associated diagram is of particular use for some other electronic CAD software. For the library, the edition of the value and the reference fields allows the definition of their size and position.
Important remarks.
- Modifying the text of the value field equals to create a new component starting from an old one used as a model. In fact this new component has the name contained in the value field when you save it in the library.
- To edit an invisible field (i.e. empty, because even if the field has the Invisible attribute, it is displayed in LibEdit) you will have to use the general edition window above.
Create power port symbols
The power port symbols are created just like usual components. It may be useful to gather them in a dedicated library such as Power.lib. They consist of a graphical symbol (the desired form) and in a pin of the type "Power Invisible". Power port symbols will thus be handled like any other component in the schematic capture software. Some precautions are essential.
Here we can see a power + 5V symbol.
The symbol is created following these steps.
- A pin "Invisible Power" named + 5V (important because this name will establish connection to the net + 5V), of pin number 1 (number of no importance) and null length.
- The shape is of the type "Line", and obviously the type is "Power" and the attribute is "Invisible".
- As graphics, a small circle and a segment from the pin to the circle is drawn.
- The anchor of the symbol is on the pin.
- The value is + 5V like the pin name, to display the value of this symbol (the pin being invisible by default, its name does not appear ).
- The reference is # + 5V (thus displayed # + 5V) like the pin name. The reference text has no importance except the first character which must be "#". By convention, every component which reference starts with this symbol will appear neither in the components list nor in the netlist. Moreover, in option of symbol, the reference is declared invisible.
The creation of a new power port symbol is easy and fast if you use another symbol as model.
You just need to
- Load the model.
- Edit the pin name which takes the name of new power port.
- Edit the field Value (same name as the pin, if you want to display the power port value).
- Save the new component.