This is an old revision of the document!
Table of Contents
Eagle cadsoft
This page is about using libraries with Eagle1) Cadsoft, a computer program which helps designing schematic diagrams (schematics) and circuit boards (pcb)2).
Custom Libraries
During a design process it is sometimes necessary to add components which are not available in the ready supplied libraries. For this, components can be created manually and imported in the design. The method for this requires some fundamental understanding how components are organized in Eagle, both in the application itself as on disk. Guidelines about library design and recommendations how to use consistent nomenclature should help a user to successfully manage such collections of components, upgrade or extend them with other packages.
Libraries within Eagle
In the Control Panel within Eagle, library folders contain files with IC manufacturers, group of generic components or group specific symbols. Eagle treats each file as a library and it contains devices or device breeds3). If it is available in Eagle and opened4) one will observe that a selected device or device breed has primarily three entities:
- device: The real component, residing in a specific package with a specific symbol
- package: Footprint in the layout
- symbol: Drawing in the schematic
Each of these entities characterize a specific aspect of a component or component breed. Please see the following example:
Recommendations from Eagle for File Locations
The default location for libraries which are created when installing Eagle, can be found when clicking on Options→Directories. On OSX, this is in $EAGLEDIR/lbr, where $EAGLEDIR represents the application installation directory from Eagle. Eagle recommends to keep this directory unchanged, as software updates may overwrite files in this folder.
Your own libraries should therefore be at another location. A suitable one would be in a subfolder within your Eagle projects folder like the following structure:
- $Home/Backup/eagle/
- eagle_custom_libraries
- dev_mylibrary1
- dev_mylibrary2
- eagle_projects
- Arduino
- PowerSupply
- etc.
In order to make Eagle aware of the main custom libraries folder, just add the directory in Options→Directories. Any subfolders within this folder will be automatically used as well. For example:
$EAGLEDIR/lbr:$HOME/Backup/eagle/eagle_custom_libraries
While configuring the libraries folder, one could do something similar for the projects folder:
$HOME/Backup/eagle/eagle_projects:$EAGLEDIR/projects/examples
Design process
Before the practical designing can be done, consideration should be made for a naming scheme. A consistent nomenclature will keep custom libraries in a healthy state.
Nomenclature
A consistent naming scheme can be best explained with the following example:
Library Folder | → | Library | → | Device(s) or device breed(s) |
---|---|---|---|---|
$HOME/Backup/eagle/eagle_custom_libraries | → | dev_marc.lbr | → | …, *555, NE5534, LM385, … |
If we now look closer to the *555, we can draw the following scheme:
On the left side from the device breed, we see a symbol from the timer IC. On the right side we see a list with devices and their packages. For each device within a device breed, Eagle designates a different package to a separate device.
The placeholder '*' is not ideal because it also refers to devices which contain the number 555 but are not timer ICs. A better example can be made for example with an LM385 voltage reference diode:
Library Folder | → | Library | → | Device(s) or device breed(s) |
---|---|---|---|---|
$HOME/Backup/eagle/eagle_custom_libraries | → | dev_marc.lbr | → | …, *555, NE5534, LM385, … |
If we now look closer to the data sheet of the LM385 or adjustable (LM385-adj), we see it contains one symbol with 3 pins and another with 8 pins, depending on the kind of package. With that information we draw the following scheme:
Component custom design
Describe library editor