EEVblog Electronics Community Forum

Electronics => PCB/EDA/CAD => Eagle => Topic started by: mdszy on January 19, 2017, 03:53:13 am

Title: Eagle Workflow
Post by: mdszy on January 19, 2017, 03:53:13 am
So this coming summer I'll be taking on an internship with a company that uses Eagle for schematic work/PCB design. I'm a kicad guy myself for hobbyist stuff I've done in the past and working with Eagle seems... clunky!

It seems extremely lacking in the keyboard shortcut department. It seems everything has to be accessed with the mouse where in Kicad I could hit "a" to add a part, "w" to add a wire, "p" to add a power symbol, etc. etc. Is this just how Eagle works or does it require more customization to add in your own keyboard shortcuts?

I'm also confused by the schematic workflow. It seems almost like you *have* to choose footprints when laying things out on a schematic. In kicad, you simply choose the schematic symbol and worry about footprints later. Eagle's way of handling things really breaks my concentration and gets me distracted as I look up specific parts to use rather than just putting a generic symbol down and worrying about the exact part later. Is this, again, just something I'll have to get used to? Or is there something I can do to make this less annoying?

Are there any other tips you guys have for smoothing out the Eagle workflow? I'd like to give it a chance, especially since I'll need to use it this summer!
Title: Re: Eagle Workflow
Post by: ataradov on January 19, 2017, 04:59:18 am
Is this just how Eagle works or does it require more customization to add in your own keyboard shortcuts?
You can assign any shortcuts you like with ULP script. I personally got used to the default configuration, and it is not that bad.

It seems almost like you *have* to choose footprints when laying things out on a schematic.
You are selecting a component, which is a schematic symbol and a footprint. But you can select another footprint later, during the layout stage.

IMO, it is way better than KiCad, since there is always a link between the schematic and footprint.  I hate that 70's feel of netlists and ECOs.

Quick search on shortcuts turned up this thread: https://www.element14.com/community/thread/13907/l/useful-keyboard-shortcuts?displayFullThread=true (https://www.element14.com/community/thread/13907/l/useful-keyboard-shortcuts?displayFullThread=true)
Title: Re: Eagle Workflow
Post by: mdszy on January 19, 2017, 05:08:33 am
IMO, it is way better than KiCad, since there is always a link between the schematic and footprint.  I hate that 70's feel of netlists and ECOs.

I dunno, personally I prefer being able to worry about my schematic and that design first, and then later worry about footprints and specific parts. Thanks though, glad to know you can choose footprints later, too!

Quick search on shortcuts turned up this thread: https://www.element14.com/community/thread/13907/l/useful-keyboard-shortcuts?displayFullThread=true (https://www.element14.com/community/thread/13907/l/useful-keyboard-shortcuts?displayFullThread=true)

That looks very helpful, thank you!
Title: Re: Eagle Workflow
Post by: ataradov on January 19, 2017, 05:25:47 am
I dunno, personally I prefer being able to worry about my schematic and that design first, and then later worry about footprints and specific parts.
What about parts that have different symbol in different footprints? This happens a lot with LDOs (ADJ/EN pins missing in smaller pin count devices). I fell like you need to have a general idea of the footprint you want to use. I really don't find it taxing.

I do use package swap for passives a lot. I typically try to start with 0805 parts and move down to 0603 if I have problems with placing during layout.
Title: Re: Eagle Workflow
Post by: mdszy on January 19, 2017, 05:28:06 am
I dunno, personally I prefer being able to worry about my schematic and that design first, and then later worry about footprints and specific parts.
What about parts that have different symbol in different footprints? This happens a lot with LDOs (ADJ/EN pins missing in smaller pin count devices). I fell like you need to have a general idea of the footprint you want to use. I really don't find it taxing.

Ah, that's true. Didn't really think about that, I guess.
Title: Re: Eagle Workflow
Post by: jpanhalt on January 19, 2017, 07:53:21 am
Eagle also has a powerful command language you can use.

John
Title: Re: Eagle Workflow
Post by: Jeroen3 on January 19, 2017, 07:55:46 am
It seems extremely lacking in the keyboard shortcut department.

I'm also confused by the schematic workflow. It seems almost like you *have* to choose footprints when laying things out on a schematic. In kicad, you simply choose the schematic symbol and worry about footprints later.
Yes. You can assign them yourself. You should create a script file for this.
Like these from Sparkfun.
https://github.com/sparkfun/SparkFun_Eagle_Settings/blob/master/scr/eagle.scr (https://github.com/sparkfun/SparkFun_Eagle_Settings/blob/master/scr/eagle.scr)

That is only a problem if your library has 1 footprint per device. If your libs are complete, you can have 1 symbol with several packages. These you can swap without penalty from sch or brd.

The way eagle handles libraries and projects is a bit strange. But it's super basic, which is nice. No funny business.
Eagle is limited in paths it can use for active projects (the epf file, open it in notepad to see). It will use absolute paths, thus using the same project with multiple users causes missing lib files (only a problem with 'add'). Which you then have to "use" again. At least the libs you use are added to the actual sch and brd file. So they are never lost.

Not everything has versioned supervault with parts.

And, you can use GIT on the XML data format! Which you should.
You can't merge, but at least you have some versioning. Which is rare in cheap EDA's.

And get to know your ulps.
https://github.com/xesscorp/Eagle_PCB/tree/master/xess_ulp (https://github.com/xesscorp/Eagle_PCB/tree/master/xess_ulp)
https://github.com/sparkfun/SparkFun_Eagle_Settings/tree/master/ulp (https://github.com/sparkfun/SparkFun_Eagle_Settings/tree/master/ulp)
http://eagle.autodesk.com/eagle/ulp (http://eagle.autodesk.com/eagle/ulp)
Title: Re: Eagle Workflow
Post by: Bassman59 on January 19, 2017, 08:02:11 pm
So this coming summer I'll be taking on an internship with a company that uses Eagle for schematic work/PCB design.


I'm also confused by the schematic workflow. It seems almost like you *have* to choose footprints when laying things out on a schematic. In kicad, you simply choose the schematic symbol and worry about footprints later. Eagle's way of handling things really breaks my concentration and gets me distracted as I look up specific parts to use rather than just putting a generic symbol down and worrying about the exact part later. Is this, again, just something I'll have to get used to? Or is there something I can do to make this less annoying?

The company may very well have a standardized vetted parts list and a company library. The library components will have footprints already associated with the symbols. And you won't be able to add parts to the library without going through the company's system.

Having footprints associated with symbols is how professional organizations build their libraries.
Title: Re: Eagle Workflow
Post by: mdszy on January 20, 2017, 03:02:40 am
So this coming summer I'll be taking on an internship with a company that uses Eagle for schematic work/PCB design.


I'm also confused by the schematic workflow. It seems almost like you *have* to choose footprints when laying things out on a schematic. In kicad, you simply choose the schematic symbol and worry about footprints later. Eagle's way of handling things really breaks my concentration and gets me distracted as I look up specific parts to use rather than just putting a generic symbol down and worrying about the exact part later. Is this, again, just something I'll have to get used to? Or is there something I can do to make this less annoying?

The company may very well have a standardized vetted parts list and a company library. The library components will have footprints already associated with the symbols. And you won't be able to add parts to the library without going through the company's system.

Having footprints associated with symbols is how professional organizations build their libraries.

Ah yeah, very good point. Thanks!
Title: Re: Eagle Workflow
Post by: richardlawson1489 on March 09, 2017, 06:18:20 am
Here is a reference for you to assign ULP shortcuts. This may help you.
http://www.autodesk.com/products/eagle/blog/what-you-didnt-know-about-eagle-assign/ (http://www.autodesk.com/products/eagle/blog/what-you-didnt-know-about-eagle-assign/)
Title: Re: Eagle Workflow
Post by: westfw on March 11, 2017, 09:58:39 am
Quote
personally I prefer being able to worry about my schematic and that design first, and then later worry about footprints and specific parts.
A *good* eagle library will have a bunch of different package options associated with the same schematics symbol, so that you CAN worry about the design first (although if you're doing an all TH design, you can immediately pick a TH pinout, or all 0603 for SMT, or whatever.)
However:
1) A lot of EAGLE libraries are very old, and *not* good in this way; they'll have separate schematic symbols for SMT and TH versions of the same chip, for instance.
2) Some components CHANGE schematic symbols when in different packages.  For instance, an ATmega328p in TQFP has two extra analog pins compared to the DIP package...
Title: Re: Eagle Workflow
Post by: Deridex on March 11, 2017, 11:36:26 am
I'm also confused by the schematic workflow. It seems almost like you *have* to choose footprints when laying things out on a schematic. In kicad, you simply choose the schematic symbol and worry about footprints later. Eagle's way of handling things really breaks my concentration and gets me distracted as I look up specific parts to use rather than just putting a generic symbol down and worrying about the exact part later. Is this, again, just something I'll have to get used to? Or is there something I can do to make this less annoying?
It's quite common that symbols are bound to a footprint. Sometimes its nice (Microcontrollers as example). Sometimes its not so nice (Resistors etc.). Usally companies got there own set of libraries and i suggest to use em instead of the standard-eagle-lybraries. Some companies even got there own design-rulesets.

A few more points:
Also Eagle got a forward-backward annotion.
So make sure noone works at the layout while you edit the shematic or you might need to rework it.

Also: before you hope for it: My last info is that even Autodesk Eagle 8.0 has no push&shove-router. So it has to be routed the "old" way.


Title: Re: Eagle Workflow
Post by: MarkS on March 12, 2017, 08:59:06 pm
I'm also confused by the schematic workflow. It seems almost like you *have* to choose footprints when laying things out on a schematic. In kicad, you simply choose the schematic symbol and worry about footprints later. Eagle's way of handling things really breaks my concentration and gets me distracted as I look up specific parts to use rather than just putting a generic symbol down and worrying about the exact part later.

Eagle was my first EDA program, so I would assume that someone coming from KiCAD would think differently. KiCAD's library structure is the one stumbling block for my adoption of the program. I do understand what the designers were going for, but it is extremely flawed. You are not designing a schematic; You are creating a schematic to tell the PCB layout program what pins are connected to what. The point of an EDA software package is the board layout, and the library manager bridges the gap between the schematic and PCB programs. You are not choosing a schematic symbol, you are choosing a component for a PCB. For simple components, selecting a footprint in a schematic editor may seem pointless, but not so when you get into dense pin count devices with hundreds to thousands of pins. By the time you are starting your schematic, you should have all of the major components sorted out. I'm not going to design a computer and at some random point in the schematic design, decide what CPU to use. I'm not going to design a project around a high-end Xilinx FPGA and not know if I'm going to be using the 1000+, 2000+ or 3000+ pin count BGA package. Neither will I start a much simpler project with 74xx00 series logic chips an not know if I'm going to be using through hole or SMD.

Eagle's library management system is far more powerful that KiCAD's and is its major strength. Once you get the hang of it, I am sure you'll agree and find KiCAD's implementation severely lacking.
Title: Re: Eagle Workflow
Post by: Bassman59 on March 12, 2017, 11:27:08 pm
Eagle was my first EDA program, so I would assume that someone coming from KiCAD would think differently. KiCAD's library structure is the one stumbling block for my adoption of the program. I do understand what the designers were going for, but it is extremely flawed. You are not designing a schematic; You are creating a schematic to tell the PCB layout program what pins are connected to what. The point of an EDA software package is the board layout, and the library manager bridges the gap between the schematic and PCB programs. You are not choosing a schematic symbol, you are choosing a component for a PCB. For simple components, selecting a footprint in a schematic editor may seem pointless, but not so when you get into dense pin count devices with hundreds to thousands of pins. By the time you are starting your schematic, you should have all of the major components sorted out. I'm not going to design a computer and at some random point in the schematic design, decide what CPU to use. I'm not going to design a project around a high-end Xilinx FPGA and not know if I'm going to be using the 1000+, 2000+ or 3000+ pin count BGA package. Neither will I start a much simpler project with 74xx00 series logic chips an not know if I'm going to be using through hole or SMD.

You're working with the assumption that the only workflow for Kicad is to draw a schematic, use CvPCB to associate footprints with the symbols, and then export a netlist for layout.

I agree with your assertions -- when you sit down to design something, you already know what parts you will use.

Thus, a lot of experienced users ignore both the "standard" Kicad libraries and CvPCB, and instead build their own libraries. The symbols in my schematic libraries all have footprints associated with the parts. Part names are unambiguous, too.
Title: Re: Eagle Workflow
Post by: macegr on March 13, 2017, 01:56:35 am
Eagle's library approach is better if you are always having to make some weird package. The annoying part is when you have to keep duplicating or re-making common footprints like TSSOP or SOT-23-5. If you tweak a footprint in one library to make it a little better, everything else still has older, slightly different variants.

Kicad's approach works better for common footprints but really sucks for oddball packages. Plus all of Kicad's premade libraries put the part centroid on a pin or pad, rather than the actual center of the part...it has the ability to pick and move from the center of a pad anyway, so why not put the centroid in the middle? argh.
Title: Re: Eagle Workflow
Post by: MarkS on March 13, 2017, 02:56:42 am
Eagle's library approach is better if you are always having to make some weird package. The annoying part is when you have to keep duplicating or re-making common footprints like TSSOP or SOT-23-5. If you tweak a footprint in one library to make it a little better, everything else still has older, slightly different variants.

I agree. That is a limitation.

Thus, a lot of experienced users ignore both the "standard" Kicad libraries and CvPCB, and instead build their own libraries. The symbols in my schematic libraries all have footprints associated with the parts. Part names are unambiguous, too.

How does this work? My experience with KiCAD is that the library does not allow for combination of symbols and footprints.
Title: Re: Eagle Workflow
Post by: macegr on March 13, 2017, 08:19:17 am
A lot of the Eagle library annoyance would be solved if you could include packages from a different library when creating a "device" and choosing connections. And have an update command to go re-pull those footprints. That would let you have one single place where you keep the most up to date versions of your footprints, while still allowing oddball variants (they pretty much just get copied in from the other libs). Really it could be managed with some careful scripting on the text files :)

Anyway, that's the last free improvement idea I put out there for Eagle to use, if Autodesk wants any more ideas from a 10+ year user they can rent them from me for $20/mo.
Title: Re: Eagle Workflow
Post by: MarkS on March 13, 2017, 02:15:10 pm

Anyway, that's the last free improvement idea I put out there for Eagle to use, if Autodesk wants any more ideas from a 10+ year user they can rent them from me for $20/mo.


 :-+ :-DD
Title: Re: Eagle Workflow
Post by: Bassman59 on March 13, 2017, 10:45:53 pm
Thus, a lot of experienced users ignore both the "standard" Kicad libraries and CvPCB, and instead build their own libraries. The symbols in my schematic libraries all have footprints associated with the parts. Part names are unambiguous, too.

How does this work? My experience with KiCAD is that the library does not allow for combination of symbols and footprints.

All symbols have a Footprint field. When you create or edit a library symbol, you can associate a footprint with that symbol. The result is that the Footprint field for the schematic symbol in the schematic library now has an entry instead of being empty. See the image. The easiest way to populate the footprint field is to click "Browse Footprints," and the footprint browser window pops up and you can select the footprint library and the footprint.

Symbol libraries and footprint libraries remain separate entities.