Eagle Workflow - Page 1
Forum section: electronics / general

author: mdszy
author_rank: Unknown
timestamp: January 19, 2017, 03:53:13 am
content: 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!

author: ataradov
author_rank: Super Contributor
timestamp: January 19, 2017, 04:59:18 am
content: Quote from: mdszy on January 19, 2017, 03:53:13 amYou can assign any shortcuts you like with ULP script. I personally got used to the default configuration, and it is not that bad.Quote from: mdszy on January 19, 2017, 03:53:13 amYou 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

author: mdszy
author_rank: Unknown
timestamp: January 19, 2017, 05:08:33 am
content: Quote from: ataradov on January 19, 2017, 04:59:18 amI 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!Quote from: ataradov on January 19, 2017, 04:59:18 amThat looks very helpful, thank you!

author: ataradov
author_rank: Super Contributor
timestamp: January 19, 2017, 05:25:47 am
content: Quote from: mdszy on January 19, 2017, 05:08:33 amWhat 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.

author: mdszy
author_rank: Unknown
timestamp: January 19, 2017, 05:28:06 am
content: Quote from: ataradov on January 19, 2017, 05:25:47 amAh, that's true. Didn't really think about that, I guess.

author: jpanhalt
author_rank: Super Contributor
timestamp: January 19, 2017, 07:53:21 am
content: Eagle also has a powerful command language you can use.John

author: Jeroen3
author_rank: Super Contributor
timestamp: January 19, 2017, 07:55:46 am
content: Quote from: mdszy on January 19, 2017, 03:53:13 amYes. 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.scrThat 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_ulphttps://github.com/sparkfun/SparkFun_Eagle_Settings/tree/master/ulphttp://eagle.autodesk.com/eagle/ulp

author: Bassman59
author_rank: Super Contributor
timestamp: January 19, 2017, 08:02:11 pm
content: Quote from: mdszy on January 19, 2017, 03:53:13 amThe 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.

author: mdszy
author_rank: Unknown
timestamp: January 20, 2017, 03:02:40 am
content: Quote from: Bassman59 on January 19, 2017, 08:02:11 pmAh yeah, very good point. Thanks!

author: richardlawson1489
author_rank: Regular Contributor
timestamp: March 09, 2017, 06:18:20 am
content: 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/

author: westfw
author_rank: Super Contributor
timestamp: March 11, 2017, 09:58:39 am
content: QuoteA *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...

author: Deridex
author_rank: Regular Contributor
timestamp: March 11, 2017, 11:36:26 am
content: Quote from: mdszy on January 19, 2017, 03:53:13 amIt'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.

author: MarkS
author_rank: Unknown
timestamp: March 12, 2017, 08:59:06 pm
content: Quote from: mdszy on January 19, 2017, 03:53:13 amEagle 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.

author: Bassman59
author_rank: Super Contributor
timestamp: March 12, 2017, 11:27:08 pm
content: Quote from: MarkS on March 12, 2017, 08:59:06 pmYou'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.

author: macegr
author_rank: Regular Contributor
timestamp: March 13, 2017, 01:56:35 am
content: 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.

author: MarkS
author_rank: Unknown
timestamp: March 13, 2017, 02:56:42 am
content: Quote from: macegr on March 13, 2017, 01:56:35 amI agree. That is a limitation.Quote from: Bassman59 on March 12, 2017, 11:27:08 pmHow does this work? My experience with KiCAD is that the library does not allow for combination of symbols and footprints.

author: macegr
author_rank: Regular Contributor
timestamp: March 13, 2017, 08:19:17 am
content: 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 filesAnyway, 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.

author: MarkS
author_rank: Unknown
timestamp: March 13, 2017, 02:15:10 pm
content: Quote from: macegr on March 13, 2017, 08:19:17 am

author: Bassman59
author_rank: Super Contributor
timestamp: March 13, 2017, 10:45:53 pm
content: Quote from: MarkS on March 13, 2017, 02:56:42 amAll 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.