# Missing components in Eagle Library

I am missing libraries of certain ICs for use in Eagle. Can someone guide me to a source where I can find these IC libraries? I am asking this question to find out if there is any central repository where I can find most/all of the IC libraries.

Additional Information (if required):

1. Currently missing ICs are AD8318, ADL5542, and TLV3501
2. I am using Eagle v5.6.0 for Windows

I would recommend, that you learn how you create your parts on your own. For me it is often faster than searching for a missing part. When you would find the part on the net you should check it for correct pin out, size, etc.

Here is a tutorial I found quite useful.

However there are some places where you can find libraries:

Let me add a note about creating your own part:

When your part is in a common package format, you should take a look at the ref-packages.lbr library. It contains various standard package formats, so you dont have to create these on your own. Just copy the needed package in your own library and create the rest according to the tutorials you will find on the net.

• the sparkfun link is dead – Bernardo Ramos Oct 22 '17 at 17:28

Forget about the Eagle libraries. They were apparently optimized to be made quickly so that Cadsoft can have a large list of supported parts, not for quality or clarity. In short, the supplied Eagle libraries suck.

The best is to make your own according to your own conventions. If you can live with my conventions, you may find my libraries useful. My libaries and a bunch of other Eagle utilities are in the Eagle Tools release at www.embedinc.com/pic/dload.htm. These don't include the parts you mention, but there are a lot of other parts there.

My library parts also follow a set of conventions about how to use various attributes that allow for automated BOM generation. The automated BOM tools are also included in the release I mentioned above. For example, here is the contents of the eagle_attr documentation file describing these conventions (this doc file and several others are also included in the release):

This document describes the Embed Inc conventions for using optional
attributes in Eagle, which were first made available in version 5.  In
previous versions a part could only have a few fixed attributes built into
Eagle, such as VALUE and NAME.  In version 5 these fixed attributes still
exist but arbitrary additional attributes can be created by the user.

This document specifies certain attributes that are expected by parts of
the Embed Inc system, mostly to aid in automatic bill of materials (BOM)
generation.  The process of generating a BOM from a eagle board or
schematic is desribed in the CSV_BOM program documentation file.

The Eagle optional attributes that have special meaning within the Embed Inc
system are:

MANUF

Manufacturer:partnum; manufacturer:partnum; ...

The PARTNUM fields and their leading colons may be omitted, but is a
bad idea unless only a single manufacturer is listed.

PARTNUM

Generic part number or part number within single manufacturer.

SUPPLIER

Supplier:partnum; supplier:partnum; ...

The PARTNUM fields and their leading colons may be omitted, but is a
bad idea unless only a single supplier is listed.

BOM

Whether this part should be included on the BOM.  Some "parts" are
only features on the board, like pogo pin pads for example.  These
should not be listed on the BOM because they do not need to be bought
and will not be installed.  Supported values are:

YES  -  Include this part in the BOM.

NO  -  Do not include this part in the BOM.

The default is YES if BOM is empty or does not exist.

VALSTAT

Indicates how the VALUE attribute is used.  The choices are:

VAL  -  Normal part value, like the resistance of a resistor.  The
part value will be listed on the BOM and used to distinguish
different parts.  For example, a 10K ohm resistor is a different
part than a 330 ohm resistor.

PARTNUM  -  The part number.  The value field will be shown in the
BOM and used to distinguish different parts, like VAL.  However,
the part number field will be set to VALUE unless the part number
is otherwise explicitly set.  VALSTAT PARTNUM is for generic
library devices where the value field is used to show some or all
of the part number on the schematic.  For example, the library
might contain a generic 14 pin opamp device, and the value set to
LM324 to show the type of opamp on the schematic.  In this
example, VALUE is only set to the generic part number without
package type, temperature grade, etc.  In this case the PARTNUM
attribute should be used to specify the exact part number, but
VALSTAT should still be set to PARTNUM.

LABEL  -  Label intended for the silkscreen.  The value field will
not be transferred to the BOM and will not be used to
differentiate parts.  This might be used, for example, to label a
LED on the board.  Different LEDs might be labeled "Power" and
"Error", but they are the same physical part and should be listed
on the same BOM entry.

SUBST

Sets the substutions allowed field for the part on the BOM.  Valid
values are "YES" and "NO".  The default is YES if SUBST does not exist
or is empty.

DVAL

Detailed part value.  If present and not empty, this field overrides
the part value string on the BOM and will be used to differentiate
parts.  DVAL is always assumed to be the true part value, so is not
effected by VALSTAT.  The purpose of DVAL is to provide more
information than reasonable to show on the schematic.  Generally the
standard VALUE attribute will be shown on the schematic with DVAL
shown on the BOM.

DESC

Explicit description string for the BOM.  By default, the BOM
description is derived from the library name and the device name
within that library.  If the DESC attribute is present and not empty,
its contents will override that default.

• Thank you so much for posting your libraries. I was able to use your SOIC-20 package to create a new variant of a chip I need in a snap. – Chris Laplante Jul 7 '12 at 16:46

You can download lots of libraries for EAGLE from their website, but it is often quite difficult to find a library containing the desired devices. Especially for very specialized parts, like the microcontrollers you use, often no library exists yet. Luckily, it is quite easy and straight-forward to create them yourself in EAGLE (citation needed).

An EAGLE library is split up into three parts: Devices, Packages and Symbols.

The symbol is used in the schematic. You will probably have to draw the symbol yourself, as it is very unlikely that you find a microcontroller with exactly the same symbols. This is very easy: just create a new symbol and start placing pins. Give each pin the same name as in the datasheet. You can use lines to draw the outline of the symbol.

Luckily, you will not have to create the package yourself. You just have to find the correct package in any library using the EAGLE Control Panel. Make a right click on the package and select "copy to library". That's it. (The library ref-packages.lbrcontains many commonly used packages).

Now you have the symbol and package, you have to connect them. Create a new device and add the symbol. Then click on "new package", select the correct package and connect all pins to the correct pad and your finished.

Note: This is only the basic procedure, to illustrate the workflow and what you would have to do yourself. There are more features and details to consider. It might be best if you worked through the EAGLE tutorial on creating devices before creating the large microcontrollers. I would suggest reading the corresponding chapter in the official EAGLE manual, i.e. from page 223 on. This is very detailed and shows the workflow step-by-step on two examples (how to create a resistor and later an integrated circuit).

After some practice, I would say you can create the library for such a device in under an hour, so imho it is worth the trouble ;-)

• can you point to a step by step tutorial to do the above. This will really help. Thanks – user2979872 Jan 31 '15 at 12:54
• Sure, I would suggest the official EAGLE manual, as I myself learnt it based on that tutorial. I added this to the answer. – hbaderts Jan 31 '15 at 13:00