You’ll wanna pull up a really comfy chair before you dive into this one, but have you ever found yourself digging through Eagle’s 317,424 different canned footprints, hoping one is kinda, sorta, almost, maybe good enough for that new sensor you found on Digikey? Shamelessly dig and despair no more! … Our new mammoth guide on creating manufacturable footprints in Eagle is here to ween you off that nasty canned footprint habit, and get you firmly on the road to non-dependency!
I’m basically married to Eagle until the end of days, simply because I’m so hopelessly used to it that it would take a pretty darn amazing package at a pretty darn amazing price to convince me to change. That said … there are some things that annoy me (though that’s true of any complex SW package). One of my biggest pet peaves is how hard it can be to find teeny tiny little unrouted airwires. Is Eagle taunting you with 1 remaining airwire and zoom as you might you can’t find it? I used to turn every layer off except 19, but that’s annoying since I sometimes don’t remember what to turn back on. While Eagle SHOULD have a feature to highlight these airwires … I found a better solution tonight searching for a mystery wire. Zoom back … WAAAaaay back … until your board is teeny tiny. Then select the Route tool and click just about anywhere on your PCB. This should grab the airware, and you can at least get an idea of where it is. Glamourous? Nope. Functional? Yes!
Duane over at Screaming Circuits had a great little post today that reminded of a problem I recently had (again): the need for thermal relief on small surface-mount parts, particularly discretes. I’ve been working away on a basic <1GHz wireless board as a weekend project, and the first version of the board worked well, but the Balun between the RF transceiver and the antenna failed to properly reflow every time. It would shift to the bottom in the image above, and because it’s a fairly fine-pitch part (it’s the six-pin chip in an 0805 sized package), the other side was never properly soldered and wouldn’t work. A bit of magnification and some time with the soldering iron fixed it, but it was an avoidable problem and you can’t do rework in a production environment. (more…)
Eagle doesn’t always get a lot of love since it’s a proprietary SW package, etc., but having tried a variety of packages (both OS and pricey commercial ones), Eagle has a lot of little details that make it feel like a very mature package to me.
Eagle definately has it’s quirks, but once you get over them there’s an attention to detail that makes it far easier (personally speaking!) to be efficient than in some other packages I’ve tried, like being able to use the mouse scroll wheel on combo boxes to shift between layers or trace width, etc., without having to first click on the combo box. It’s a small detail, but the kind that makes a huge difference since you can focus on schematic capture and not clicking unecessarily on UI elements. Similarly, you can just start typing a command even if the command input box doesn’t have the focus. Love Eagle or hate it, that kind of attention to detail takes time to get right, and I appreciate a lot of little additions to the code like this.
I came across another little detail like that today that I hadn’t noticed before. With common parts that I use again and again in schematics (resistors, caps, GND/VCC symbols, etc.), I usually just place the part once via the ‘Add’ button, and then copy and paste it … but you can also right-click the ‘Add’ button to get a list of the last parts that you added to your schematics (any schematic, not just the current one). Have any interesting little tips yourself? Feel free to post them in the blog. I’ll have some more posts on this topic later this week as well!
If you have to work on a particularly dense board, you can’t really get away from using small vias: <=0.3mm/12mil drill bits and <=0.125mm/5mil annular rings. While unavoidable, using small vias and particularly small annular rings poses a problem during manufacturing, since there is inevitably some variability with the drill placement and the smaller the annular rings (the metal ring left around the drilled hole) the more likely you are to end up with a broken via. One easy solution to improve your yield of error-free boards is using something called ‘teardrops’. They fan the trace out before it joins the via, making a ‘teardrop’ shape, effectively increasing the size of the annular ring and reducing the risk of faulty vias.
Most packages include some means to create teardrops, and Eagle is no exception. The default installation includes a ULP called ‘teardrops.ulp’, which you can run by simply typing ‘ULP teardrop’ when your board file is open. One word of caution, though … you should only run the teardrop ULP on a seperate, renamed copy of your board file since the changes are irreversable!. Make a copy of your board names xxx_teardrops.brd, make sure the original schematic is closed, and then run “ULP teardrop”. Give it a try and you should get an idea of why they can be useful on tight-pitch boards like the image above, which was from a 6mil/6mil 4-layer board with 0.3mm drill holes and 0.1mm annulars.
Have you ever had a pin on a 0.1″ header that you just couldn’t get to reflow properly, especially with lead free solder (which requires a higher temperature to work with)? If so, it was almost certainly a GND pin connected to a large GND plane. The problem is that the GND plane dissipates a lot of the heat from the soldering iron. You can try using a much larger tip (larger tips do a better job of conducting heat that small ones), and/or you may need to jack the heat up quite a bit, but sometimes it just won’t reflow well to form a solid joint. The solution is easy, but you need to keep the problem in mind when designing the PCB. (more…)
If you’ve ever tried to make a footprint in Eagle with more than one GND, VCC, VDD, NC, etc., pin, you might have noticed that you can’t have two pins with the same names, and you ended up having to name all your GND pins GND1, GND2, GND3, etc. If you’re mildly OCD like me, this is irksome, but thankfully there’s an easy workaround to this in Eagle. When defining your schematic symbol and naming each pin, rather than naming pins GND1 take the common name that you want to appear in your schematics and append it with @n. For example. GND@1, GND@2, GND@3. This ensures that each pin has a unique name, but they will all render as GND when placed on your schematic. Read on to see an image of the the schematic symbol defined for the power pins above (an LPC4350 for the overly curious). (more…)