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

3 Answers 3


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.

  • \$\begingroup\$ the sparkfun link is dead \$\endgroup\$ Commented Oct 22, 2017 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:


    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.


    Generic part number or part number within single manufacturer.


    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.


    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.


    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.


    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.


    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.


    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.
  • \$\begingroup\$ 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. \$\endgroup\$ Commented Jul 7, 2012 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 ;-)

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.