Instructables

How to make a custom library part in Eagle CAD tool

Featured
The eagle cad tool is a great thing. It does have something that I see as a draw back. That is that you need to pick a package for your part while you are still working on the schematic phase of a project. I assume Cadsoft, the makers of eagle, have their reasons. Although eagle comes with an extensive part library, some times the part you want is not in the package you want, and other times neither the package or part you want is in their libraries. In these cases you are you are left with two choices. First, pick a similar part that already exists. Second, make your own part. This instructable will focus on the later option.
 
Remove these adsRemove these ads by Signing Up

Step 1: Start the Eagle control panel

That step should be self explanatory.
In linux type eagle from the command line.
In windows double click on the eagle icon.
Or start->programs->eagle layout editor (version) -> eagle

Your screen should look something like this now.

Step 2: Select or create a library

Decide where you want your new part to be. I suggest creating your own library. If you have your own library it will be easier to share your work with others.
1) To create a new library go to the menu bar and select File->New->Library

2) Add to existing library in the left pane of the control panel right click on the library you want to add the part to and select open.

Step 3: The new library

Your screen should like like this. From here on out I will assume that you created a new library, but this really doesn't matter.

Step 4: The easy way or the hard way.

To design a part in eagle you must define a device, package, and symbol. Each aspect has its own set of layers that you must keep straight. Again you are left with two choices. The easy way, in which you copy a similar part and tweak it to match your specifications. This is of course in contrast to making one from scratch. For this instructable we will design one from scratch.
1-40 of 92Next »
kirkwoodwest2 months ago

The instructions make no sense here. Nor does this grid seem to actually help with the placement of the pads.

tbarot3 months ago

This helped a lot.Thnx.

You should also mention that to move pads,parts,symbols,etc. by a small distance pressing and holding alt helps,some may know this but i had to google it.

jobo993 months ago

thank you soooooooo much i'm doing a project for school and i needed schematics but i couldn't find ANY good libraries

thank again

-jobo99

THANKS!

skyhisi made it!5 months ago

Very clear instructions, thanks :)

screenshot.png
asid611 year ago
Great instructable! I made my parts in minutes with this!
And I am a completely new user.
nice guide, really easy to follow. Thanks a lot btw
ohmware1 year ago
Great walk-through, very thorough! Thanks!
max.kostka1 year ago
Nice Job. Thanks, man!
rhicksdev1 year ago
Thanks for such an easy to follow guide - especially since you took the hard route of starting form scratch - this is exactly what I needed to make a pressure sensor and a proportional valve, neither of which are in anything like standard packages that could be copied from another library.
If you're ever going to update this you could perhaps add a name/value step for the device as you did for the package (though this was easily worked out by a novice like me).

Thanks again!
rhicksdev1 year ago
@ AngusPearson - Looks like you missed a part of step 17:

"By default the name on the pin and the symbol will show up in the device. This makes for a very cluttered look. Click on the "change" button and select "visable" from the drop down menu, and then select "Pin". Then click on every pin. It will not be obvious what you are doing but trust me the final design will be easier to use."

- You should have trusted him ;)
Hi there
I know it's probably some setting somewhere that I'm missing, but I can't seem to get rid of duplicate labels on my pins like in the picture. Any help would be very welcome!
Screen Shot 2013-01-19 at 22.47.55.png
dakoder1 year ago
Very easy to follow instructions Thanks.
Excellent work !!!
Very neat instructions, thanks :)
rclayled2 years ago
Slightly different question - can you take a part from a schematic and copy / add it to a library? The particular part(s) are not in any library that I can find - looked at Adafruit, eSawdust, Eagle, etc. Thanks!
I answered my own question - if you have a schematic with components that you cannot find in a library, you can 'export' them into a new library. It is pretty straight forward. From the schematic (not the board!) click File, Run. Select exp-project-lbr.ulp. Take the defaults. First, select 'collect data', then 'create library'. The library name is shown after the collect data step and will be created in the same folder that the board and schematic reside. Move the .lbr file to your custom library folder or just stick it with the standard Eagle libraries. From the control panel, you have to add it.
nogueira2 years ago
Saved my day, thank you.
sandborn2 years ago
You really ought to start with the easy way. I came to figure out how to do this efficiently, and your instructions don't tell me how to copy an existing part and tweak it.
nilloc sandborn2 years ago
I found a 6 minute guide to editing existing components here for those that are interested: http://www.youtube.com/watch?v=yY9WUC0oiK0
crchisholm2 years ago
OK stupid user trick here.... I have followed this tutorial and it is great. My problem is that the labels on the symbol are huge and overlap each other. Can't seem to figure out how to shrink them or move them. I am sure I'ave done something wrong but not sure what. Any ideas?
595 part.jpg
phabib2 years ago
Very detailed and easy to follow. Great job. Thank you.
How Would I go by doing it the easy way?
Thanks for this great tutorial. Is there a way to copy a symbol from another library? The command copy SYMBOLNAME@LIBRARYNAME doesn't work.
I have even a simpler way.
Open the library where you want the part to be copied into (Library->Open)
Go to the Eagle Control Panel and find the \lbr folder where the library is that you want to copy from (under Libraries).
Expand and find the device/package you want to copy and right click it.
Select "Copy to Library"
That's it. Done.
You can open the library, edit the part, select the cut tool, then select the group tool and highlight the entire symbol. Then right-click on the selected part and select "Cut: group". Return to your library, edit your part, select paste, and you should now have the part.
Thanks, I never would have figured that out. The copy command doesn't copy, and the cut command doesn't cut in that it doesn't remove the original. Non-intuitive.
rangaec012 years ago
this is just amazing tutorial for eagle thank s ..
look to see many more
mykiscool2 years ago
I have an error message in the second part where I insert the symbol please help.

Adding symbol L78L05 to L78L05 would exceed the minimum number
of pads (0) available in package variant ''

What are pads even?
Thanks it worked perfectly for me :D
Hi there, great tutorial, thanks. One thing though, I can't for the life of me get the >VALUE and >NAME tags to work, whenever I try to change the value tag, a popup comes up saying that there is no user definable data. I've made sure the layer is set right and everything, and can't think of anything else wrong. Do you have any ideas what I'm doing wrong?

Thanks,
Frazer.
Mega Thanks!

Tutorial for an old version, but still good. Nice combination of pictures and text, easy to skim to the info.

Short version: first/main window in eagle-> File-> New Library... or Open Library
See Step 7 to create a new package (notice the icons devices, packages, symbol
See Step 14 to create a new symbol
See Step 18+ on how to match the package to symbol, and match the pins

See comments below for how to cut and paste, and other tips.
Dude, awesome instructable! This keeps me from having to such the depths of the interwebz for nixie tube libraries.
AgeingHippy3 years ago
Magic!! :)

I needed to add a component (Eagle is very new to me) and this worked 100%

THANKS DUDE!
Spokehedz3 years ago
How would someone who is smarter than I am make the part PTB78560CAH

Datasheet: http://focus.ti.com/lit/ds/symlink/ptb78560c.pdf

I can't seem to get my head around the lack of a grid pattern on this part. And it's getting annoying with just having pads floating around on my schematic as I want to keep putting components where the board is going to sit on my PCB.
If you can get a list of the pin names and numbers, you can make this easier with a script, as follows:
NAME P$1 PGND_1
...and so on; one pin per line.

A programmer's editor like UltraEdit or SciTE makes it easier to add the "P$" to the numbers. When you're done, save it as an ASCII text file with an .SCR extension and load it from Eagle's File menu. Easy peasy!
It's probably a better idea to just make a tall, skinny box with pins in columns on the left and right sides. It's more compact and easier to use with Eagle's weird wire drawing tool which always assumes the horizontal component of the wire comes first (changing this behavior by right-clicking through every possible style or using the tool-bar becomes tedious quickly).

Also, the perfectionist in me cringes at your box being just off the visible grid, but that's neither here nor there ;-)
robduarte4 years ago
 any idea how to make the part "smashable"?  i want to be able to rearrange the pin names in a schematic that uses this new part.  thanks for the instructable.
aisvo robduarte3 years ago
It's probably late that I replied this question, but it might help those who have the same question.
Two special keywords need to be placed in the package drawing;
- ">NAME"
- ">VALUE"

There are a few other Special Case words, but these two should suffice for making it "smashable".
@josheeg, i think this tutorial might assume that you've already consulted cadsoft's provided tutorial for the basics of how to navigate and get things done in eagle. their provided tutorial is great for getting started, but distinctly lacks instructions on how to make a new library part, which is where this instructable comes in.

@kd7vnn, this is super helpful, but one thing that i think could also be covered to users' benefit is pin direction and why it matters to make sure you supplies are set to direction Pwr instead of I/O. (i'd offer these explanations myself, but i'm unsure of whether they're used for anything beyond DRC...)
Super, thanks!
1-40 of 92Next »