Cadsoft Eagle 4.0 Editor Tutorial
Kevin Bolding
Seattle Pacific University

The Eagle PCB layout software enables you to produce a schematic, turn this schematic into a PCB board, and, optionally, have an autorouter lay out the signal traces on the PCB for you.  This tutorial covers a few basics of using the schematic editor and includes a section on producing custom (user-defined) parts.  It is expected that the reader is familiar with schematic layout programs.


Making a Schematic

To begin a schematic, start up the Eagle software.  This will bring up the Eagle control panel showing a list of pre-configured libraries.  To begin using Eagle, you’ll need to set up a project. Start by clicking Options/Directories and changing the Project default to a location you will use for your files. In the MSLC, you will find your personal netspace mapped to drive H:.


Click on File/New/Project to create a new project.  Click on File/New/Schematic to open up a new schematic file within your project.  Use File/Save As to assign a name to the schematic. 

Note on Backup Files

Whenever you save a library, schematic, or PCB design, Eagle copies the previously-saved design to a backup file (e.g. mylib.l#1 for mylib.lbr).  Up to ten previously-saved versions are kept, named #1 through #9.  These files can help if you make a mistake and need to revert to an earlier version.  You should keep backup copies of all of your work on external disks (floppy, ZIP, your home computer) whenever you finish a session.  I also recommend archiving all of your project once a week.  Keep all of the archives!  You never know when you might need to revert to a design made several weeks ago.

Adding Parts

You’ll first want to place a few parts on your schematic.  Click on the Add button  to select a part.  Select the MICRO-MOTOROLA library and then choose the 68HC11E9 part.  You’ll immediately be dragging a big HC11 around - left click once to place the part.  You may rotate the part around by right-clicking. Click on the Stop Sign  to go back to select mode.  Check out the tools on the tool bar - most are self-explanatory. 

Connecting Parts with Nets

Add a second part to the drawing (choose a hex inverter (74LS04N) from the 74XX-US library – notice that you’ll have to choose 74*04 and then select a sub-part).   Place several copies of the inverter around the drawing - notice that the parts are named IC2A, IC2B, … , IC2F.  These are all multiple gates in the same six-inverter package.  If you add a seventh gate, it will be designated IC3A.  To draw nets (wires) in, choose the Net tool  (this is the one on the right side of the toolbar).  Do not use the wire function – it just draws lines, but does nothing electrically! Left-click to begin drawing, double-click when the net is done.  Use the stop sign to end the Net function.  You may name a net by choosing the Name tool  .  Click on the net to name and enter a new name.  I recommend that you show the name of each net by using the label tool  . 

Making a Bus

The Bus tool  can be used to signify a bus.  You’ll need to give a bus a name that includes an index, for example, PORTE[0..7] indicates a bus for Port E that has indices 0 through 7. Go ahead and draw a bus near Port E of the HC11 and give it the name PORTE[0..7].  Use Label to display the bus name.  Now, you’ll want to connect the individual nets in the bus to Port E.  Click on the Net tool and then left click the PORTE bus in line with the HC11 pin PE0.  When you do this, a menu to pick from PORTE0 to PORTE7 will pop up; choose PORTE0 and continue drawing the net to the PE0 pin.  See the diagram below for an example. Double click to complete the net.  Continue doing this for the remaining nets, choosing PORTE1 through PORTE7 as appropriate.  Use the label tool to display the net names (otherwise, you’ll have no idea which nets from your bus are connected).


Dealing with Hidden Pins (Power and Ground)

Many parts have hidden pins that are used for power and ground connections. For instance, a 7400 NAND gate only shows the input and output pins, but not the Vcc and GND pins. By default, these will be connected to the Vcc and GND power supply symbols in your schematic. However, you may need to display these pins for some reason (maybe your power supply is called +0 and +5). Use the Invoke command to do this. Click the Invoke button and then select the part you are interested in (the 7400 in this case). You will see a like of parts you can show – in the case of the 7400, there are four gates to a device, so you can select any one of them. However, more important is the fifth part, the PWRN part – this is the symbol that has the power and ground pins. Select it, and the Vcc/GND symbol for that device will be shown. You can then connect directly to the pins as needed. Note that there is only one PWRN part for the entire package – you can’t have different power supplies for the gates in one device. Advanced note: If you are trying to use gates from the same device on different pages of a schematic, you’ll need to use the Invoke command to select the appropriate symbol from the correct device. 


Adding New Parts to a Library

While the Eagle libraries have a large number of standard parts, it is almost certain that you’ll need a part that isn’t already made for you.  To do this, you’ll need to create your own library and build your custom parts there. 

What’s in a Library?

First, let’s look at an existing library to see what is in a library.  From the main Eagle control panel window, choose File/Open/Library… and choose C:\Program Files\Eagle\lbr\74XX.lbr.  Each library contains three types of elements:

1.      Symbols - These are the symbols that show up on a schematic. An inverter symbol  is an example.  Click the Symbol tool  (from the top menu) and choose 7404 to see the inverter symbol.

2.      Packages - These are the package outlines that will be used to make a PCB. A 14-pin DIL (Dual In-Line package) is an example. Click the Package tool  and select DIL14 to see the DIL14 package.

3.      Devices - Devices are groups of symbols that exist in a package.  For example a 7404 hex inverter is an example.  It consists of six inverters, power and ground pins and contains a link to several packages including a 14-pin DIL package. Click the Device tool  and select 7404 to see the 7404 hex inverter package.


Most devices contain only one symbol, but some (such as 74xx gates) have multiple symbols in the same device.

Making a Symbol from Scratch

There are two ways to make a new part: Make the new part from scratch, or copy an existing part and modify it.  We’ll start with the hard way (from scratch) since it covers a larger number of concepts.  In practice, you’ll make most of your parts by copying old ones and editing them.


Lets make a new part for a Gizmogate.  Gizmogates have one input and one output and come three to an eight-pin DIL package.  First, let’s create a new library: File/New/Library.  Now, create a new symbol by clicking the Symbol tool .  In the pop-up menu, enter GIZMOGT under the New field.  Now we can draw our Gizmogate symbol. Draw the symbol as below (or make any shape you like).  Add the text “>NAME”, “>VALUE”, and “GIZMO” to the drawing by choosing the Text tool .  The “>NAME” field is special - it will be substituted with the name you give the part in a schematic.  Signify this by putting it on the Names layer: Choose the Change tool  and select layer.  Choose Names and then click on the text “>NAME”.  It should become gray.  Do the same for the “>VALUE” text, except put it on the Values layer.

Now, add an input and output pin to the Gizmo.  Choose the Pin tool  , select the length of pin you want from short to long  and rotate the pin by right-clicking.  When you’re happy with the pin style, left click to place it.  Now, assign it a direction of input by choosing the Change tool  and selecting Direction/In.  Click on the pin and it will become an input-only pin.  Name the pin in by using the Name tool.  You may want to make the name invisible to un-clutter things: Choose the Change/Visible/Off and click on the pin.  Add a second pin to the bottom, but choose it in the inverted (bubble) style by choosing  from the pin style menu.  Make it an output-only pin and give it a name of outb.  You may want to make it’s name invisible, too.

Save your new Gizmogate symbol and you’re done with this step.

Copying a Symbol from another Library

Sometimes you’ll want to copy a symbol from another library instead of making it from scratch.  You can then edit the copy as much as desired.


The first step in copying a symbol is to open up the library that has the existing part.  Use File/Open to open the 74XX-US.lbr library.  Choose the Edit Symbol tool  and select the symbol 7400.  We are going to copy this into our library to make a new gate called the 999.  First, make sure all layers are visible by choosing the Layers button and selecting All.  Now, make the entire symbol into a group by using the Group tool  and drawing a rectangle around everything visible.  Finally, select the Cut tool  to and click on the group to copy the group onto the clipboard.


Now we can copy the symbol into our own library.  Open up your custom library.  Click on Edit Symbol  and enter “999” for the new symbol name.  Now, use the Paste tool  to paste a copy of the 7400 Nand gate into the new symbol.  You may now edit it as you like (for instance, change one of the input pins to be inverted by using the Change tool  to change the function from None to Dot.  Click one of the pins and it will change as shown below:


You may now save your symbol and use it as part of other devices.

Making a Package from Scratch

Save your work and select package . Enter “DIL8” in the New field to make a dual-inline 8-pin package. For this part, it is best to work with a 0.025 inch (25 mil) grid. Click the Grid tool  and select a grid of 0.025 with a multiple of 2.  This will draw grid lines every 50 mil, but allow you to draw on a smaller grid.  You may want to zoom in a bit so you can see about 15 gridlines across the screen.


For through-hole parts, pads are round holes that the pins will go in.  The most important part of drawing a package is to get the pads (holes and metal) in the right place. DILs have pins spaced 100 mil apart on a side, and the two rows of pins are 300 mil apart. Select the Hole tool  and left click in the pin 1 position (150 mil (3 gridlines) to the left of the center and 150 mil below the center crosshair).  Click again for pin 2 (100 mil to the right) and so on until all eight pins are placed.  Be sure to place them in the usual pin-number order (counterclockwise from the bottom left). You may want to change pin 1 to an octagon by using the Change tool  and choosing Shape/Octagon. Your package should now look like:

If you are using a surface-mount part, you’ll need to use the SMD Pad tool  instead of the hole tool. 


Now we will draw the outline of the package.  The outline will be printed on top of the board with ordinary paint; it is used solely for aesthetics and to help when placing the parts on the PCB.  Be careful not to draw any of the outline on top of the holes as it will interfere with the soldering process. The outline should be drawn on the layer tPlace. Choose the Layers tool  to make sure that tPlace is selected. (The t stands for top, as in top of the board.)


A typical 8-pin DIL package is 200 mil wide and 350 mil long. Draw a rectangle within the pads that is the appropriate size.  You may want to add the notch to indicate pin 1 as shown below.




Now place “>NAME” and “>VALUE” text labels on the part.  Put the “>NAME” label on the tName layer and the “>VALUE” label on the tValue layer by using the Change tool  and changing the layer. You may also want to add labels for pins 1 and 8 on the tPlace layer (change the size to a smaller size if needed).  Your package should now look like the following diagram.  Save your work and we’re done with the DIL8 package.

Copying a Package  from another Library

Most common packages (such as the DIL8 we just made) already are defined in some library or another.  You’ll find it easiest to copy them rather than re-make them.  Copying packages is the same as copying symbols.  You might want to try copying the DIL8 package from the 74XX-US library into your new library.  (Of course, you won’t want to copy over your existing DIL8, so name the copy DIL8A.)

Putting Gates and Packages Together Into Devices

The final task in making a part is to create a device that has information on how symbols are placed inside of a package.  For many devices, there will be only one symbol.  However, many devices contain multiple symbols, as well as hidden power pins.  This is the case for the Gizmo device, which contains three Gizmogates and hidden power pins.


Make a new device by clicking on the Device button .  Enter “GIZMO” in the New field.  Now, add three copies of the Gizmo symbol, since the Gizmo device will contain three Gizmo gates.  Change the names of the three Gizmos to “A”, “B” and “C” by clicking the Names tool .


Since the Gizmo package will have Power and Ground pins, but the symbols don’t include the pins explicitly, we need to add a Power/Ground symbol to the device as well.  To save some time, we’ll copy the PWRN symbol from another library and use it instead of creating a new symbol.  Follow the directions for copying a symbol from another library above and copy the symbol PWRN from the library 74XX-US.lbr.  Give the new symbol the name PWRN in your library.  Now you can put the PWRN symbol in the Gizmo package by using the Add tool .  Give the symbol the name PWR by using the Name tool . 


Since there are multiple symbols in this package, we need to specify how they are added to a schematic.  Normally, we just add the next symbol as needed.  In other words, the first symbol is Gizmogate A, then Gizmogate B, and so on.  To specify this, change the Add level to “Next” by using the Change tool  and selecting AddLevel Next.  Click on the three Gizmogates to change their Add levels to Next.  The PWRN symbol usually is hidden on a schematic, so we don’t want to add it like we add the Gizmogates.  Change its Add level to Request to indicate that it will only be added if specifically requested by the designer.  It will still be in the gate, but it won’t appear on the schematic.


The final step in making a device is to specify a package and the connections from symbol pins to package pads.  First, we’ll want to specify the package we just designed, the DIL8.  Click on the NEW button at the bottom of the screen under the package variant window. Select your new package, the DIL8.  You may also want to assign a prefix of “GZ” to the symbols in this package - that way the first symbol you add will be GZ1, the next GZ2, and so on.  Use the Prefix button to change the prefix.


Now we can complete the device by assigning symbol pins to package pads.  Click on the Connect button  and a window will pop up to allow you to connect pins to pads.  Since there are three Gizmogates, you’ll see three sets of IN and OUTB pins for gates A, B, and C.  There are also the GND and VCC pins as well.  Start by connecting A.IN to pad P$1 by selecting both and pressing Connect. Connect the remaining pins to pads as follows:



















Your final device should look like the following diagram:


We’re finally done with the device.  Save it!

Using your new Part

Now that you’ve made the new part, you can use it in your schematic just like any other library part.  If you need to change the symbol, delete all of the old ones in your schematic and re-add the new versions in.