PCB design: modifying a part with Eagle

[Eagle vs KiCad part 3]

In the last post, I’d got as far as putting all the parts for my HexMonitor project into the schematic, albeit without actually connecting them.

There was a good reason for that: while I (somewhat surprisingly) found the connector part I needed in Eagle’s default libraries, it wasn’t labelled the way I wanted. This was a good opportunity to try out Eagle’s part editor. But first, a note about libraries.

In the library

The way Eagle uses libraries isn’t obvious. When I first installed the software, and with the Control Panel open, I went to Options –> Directories… and specified a bunch of directories I’d set up under Dropbox. Like this:

This way I can share stuff between computers. Now, having set a directory for libraries I kind of expected Eagle just to look in that directory and load any libraries it finds. But oh no…

To make libraries available – even if you’ve created them yourself from within Eagle – you need to specifically tell Eagle you want to use them. (I guess this is to avoid bloat.) The easiest way to do this is right-click on Libraries in the Control Panel and select the Library Manager. Within this, click the Browse… button, navigate to the library you want to use and open it. This puts it in the ‘Available’ section of the Library Manager. Select it there and click on the ‘Use’ button.

This is an example of how Eagle tends to make you jump through hoops to do something really quite simple. It’s easy to miss a stage and wonder why that library you know exists is somehow not available to you when you’re trying to select components.

Copying a part

If you want to create or modify parts, then you’re going to want to set up one or more libraries of your own. It’s also a good idea to create libraries of parts you use often – you can take them from existing libraries and copy them to your own.

Let me walk you through how I copied that connector part so that I could edit it.

First, in the Control Panel select File –> New –> Library. This opens an empty, unnamed library.

Do yourself a favour and save it now – you’ll be asked to give it a name. Once you’ve done that, leave this window open – don’t close the library or open another one.

Go back to the Control Panel and, in the Libraries section in the left-hand palette, delve down into the hierarchical structure until you find the part you want to copy. Right-click on it and you’ll find there’s a ‘Copy to library’ option. This always copies to the currently open library. Select this option and the part is copied to your library where you can edit it without affecting the original.

Editing the part

My issue with the part as it stood was just the naming of the pins. But it turned out I would have to do a little more work than I thought.

There are three main elements to each part (four, if you want to view your boards in 3D, but that’s a bit advanced for me right now). Each is managed in a different window. Here’s how my Speculatrix library currently looks.

Note the first four columns – Device, Package, 3D Package and Symbol. A single device might have a number of packages associated with it because it may come in several forms – for example, a chip that’s available in DIP and surface mount formats. In this case, our backplane connector has just one package (ML64ECB) and one symbol (ECB64).

The symbol is what appears in your schematic and so is diagrammatic. The package is what appears on the board layout and so replicates the physical nature of the part. I thought I would be just changing the names in the symbol, but it turned out I had to edit the package too. And I discovered this when I opened the device window.

Mostly, the device window is for naming. But note the ‘Connect’ button. This is where you relate the schematic symbol to the physical package. In the symbol editor you get to name the pins. In the package editor you name the pads – ie, where the pins of the device connect to the board.

Clicking on ‘Connect’ brings up a dialogue with a list of the pins defined in the symbol and a list of pads defined in the package and you tell Eagle which relates to which.

I decided I didn’t like the way the pads had been named and so renamed them all in the package editor. All 64 of them. That was fun.

In the symbol editor I had to rename all of the pins too. The pins that aren’t currently in use I just named with their position prefixed with ‘@’, so pin 16 in row C, for example, became @C16. The labels for pins named this way don’t show up in the schematic when you use the part.

I had to replace a bunch of the pins because they were the type without pin labels and I wanted them with the labelling.

A pin is represented by a relatively thin line and Eagle is very fussy about where you click on it in order to carry out tasks such as naming or deleting. The cursor has to be very near the end of the pin that’s outside the part. This is typical of Eagle’s fussiness about where you click and can add to the tedium and time involved with editing parts.

I haven’t yet tried creating a part from scratch, which will involve things like ensuring you get all the physical dimensions correct. However, from my experience editing this part my initial impressions about creating and editing parts in Eagle are:

  • It’s not difficult.
  • It is tedious.

Part of the reason for the latter is that it seems you can never just edit something in place – such as clicking on a name to select it and changing the text. So much involves ensuring you’re in the right mode (eg, having clicked the ‘name’ button) and then popping up dialogue boxes. This is part of what makes Eagle seem so last century.

But hey, it works. So the next stage will be to link up all the parts in our schematic.

» See all Eagle vs KiCad posts »

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.