Assigning new packages to Eagle PCB components

adafruit-eagle-component-creation-tut

If you’ve spent any time at all laying out your own circuit boards we’re sure you’ve run into the issue of not having the right component or package available in the standard libraries. If it’s a common part, chances are the symbol definition will be there.  But perhaps the footprint you want to use is missing? Here’s an easy to follow tutorial which demonstrates how to assign new packages to existing Eagle PCB components. It even shows the basics of how to tweak the footprint to fit your needs (like making SMD footprints easier to hand solder).

This will not teach you how to make your own custom symbols, or how to build packages from scratch. But it will let you locate the package you want to use from a different component, then copy it to your own library for use with different parts. And the techniques shown make this a quick and relatively painless process.

We certainly don’t want to start another comment quagmire like the recent PIC v. AVR discussion. But we’ve used both Kicad and Eagle rather extensively and feel that neither one has really mastered part/footprint creation in a user-friendly way. We like Kicad’s total separation of footprints from components, and it’s myriad of parameters which can be used to tweak the layout. But if you use the same components frequently, Eagle’s standard of linking parts and footprints does end up saving a lot of time. What do you think?

Taking the pain out of making custom Eagle parts

eagle

Cadsoft’s Eagle is a great tool for the independent maker. It’s a relatively easy to use PCB layout program with a ton of part libraries available for just about any project. If you’re using a part this isn’t included in these libraries, though, creating them by hand is a pain. [Dave] sent in a project he’s been working on that makes parts for Eagle with a Perl script, allowing for easy creation of custom parts that aren’t included in any library.

One thing that’s really convenient for custom Eagle parts is that most components are DIPs or some sort of leaded SMD component. [Dave]‘s script takes the dimensional data from any chip’s datasheet and creates a custom outline for each part. The inputs and outputs can also be ripped directly from the datasheet and assigned to the footprint, making for a relatively automated process that creates custom parts in Eagle. Now for someone to use this script with a little OCR to make a ‘create Eagle part from PDF’ app…

Panelizing PCBs in Eagle

final_panel

A lot of the board houses out there including Seeed and ITead studios have a fixed size for circuit boards before the price goes up. A one-inch square board costs the same as a much larger 5cm x 5cm board, making panelized PCBs a great way to get more boards for the same amount of money. Trying to panelize a board in Eagle with copy and paste is a chore without the right tools, though, so we’re happy to see a great panelization tutorial from [Victor].

To panelize one of his boards for a PCB order, [Victor] used one of Eagle’s User Language Programs to duplicate the part names on the additional boards. After that, it was a simple matter of running a CAM job to generate the necessary Gerber files.

Of course once the boards arrive, you’ll have to cut them apart from each other. This can be done with everything from a Dremel to a hack saw to a metal shear, but we’re wondering what other Hackaday readers are using to cut up PCBs. Leave a note in the comments with your preferred method of depanelization.

Making Eagle work with circuits.io

IO

Ever so slowly, we’re inching towards a world of Internet-based electronic design tools. The state of these tools, including Upverter and other cloud-based solutions, hasn’t been all that great until now; with any new piece of schematic capture and PCB layout software, the libraries will be woefully inadequate in the beginning. This is about to change, because circuits.io is now allowing Eagle libraries to be imported.

As you may well be aware, Eagle is the de facto standard for homebrew and hobbyist schematic capture and board layout software. Even though Eagle isn’t open source and is limited to rather small PCBs with the free version, somehow Eagle has retained its popularity, most likely due to the huge number of component libraries available.

By allowing users and designers to import Eagle libraries, the folks at circuits.io are capitalizing on a huge amount of work done by designers and engineers over the years in creating custom Eagle parts for just about every component imaginable. It’s a great accomplishment for the circuits.io team and a boon for anyone wanting to move their PCB design tools over to the cloud.

Automatic, custom Eagle schematics

sch

It’s a simple fact that for every circuit you design, someone else has done it before. If you’re working on a high altitude balloon project, there’s already a project out there with a microcontroller, barometric pressure sensor, and an SD card somewhere out there in a corner of the Internet. Google will only help so much if you want to copy these previous builds, which led [Ben] to come up with a better solution. He took dozens of building blocks for basic digital projects and put them all into one really great interface called HackEDA.

The premise is simple: most electronic projects are just electronic Lego. You connect your microcontroller to a sensor, add in a battery, throw in a few caps and resistors for good measure, and hopefully everything will work. HackEDA takes all those basic building blocks – microcontrollers, power sources, and sensors – and creates a custom Eagle schematic with all the parts your project needs

HackEDA is still very much in beta, so there aren’t a whole lot of building blocks to choose from. That said, being able to generate an Eagle schematic with all the parts necessary for your next project is a boon. With this, all you need for a final circuit board is to create a new board file, hit the autorouter, and spend a half hour fixing whatever mess the autorouter made.

Script lets you import Eagle boards for use in FreeCAD

eagle-designs-imported-for-freecad

[Christian Aurich] wanted to use his Eagle CAD circuit board design in a proper CAD program in order to design enclosures. There are already a few options along these lines, but they didn’t quite fit his needs so he developed a script to import Eagle boards into FreeCAD. The script is packaged as a python macro for FreeCAD.

In describing the shortcomings of what’s already out there [Christian] does mention the use of EagleUp to model boards in Google SketchUp. But he feels the way the data is produced by SketchUp makes these models work well with 3D printing, but says they’re not easy to use with mechanical design CAD software. He also feels that the photo-realistic renderings are useless when developing enclosures.

It’s worth mentioning that this approach is only possible because CadSoft’s migration to XML makes it dead simple to get at the data.

Renaming parts in Eagle CAD by editing the XML directly

eagle-xml-find-and-replace-script

There’s a lot of ways to burn up your time when designing PCBs, but renaming components can be one of the most frustrating. [Joe Pinzone] wrote in with his solution to the problem. Instead of hunting for each part on the schematic to change them one at a time, he makes a list of the substitutions and then uses a script to make all the changes in the XML files. He didn’t publish a post about his work, but you’ll find the source code he wrote embedded after the break.

The straw that finally broke the camel’s back was a project that included about two hundred components which didn’t seem to have a naming order that made any sense with the actual values of the components. The script is written in C++ (for Windows but [Joe] says this should be easily ported to other systems as well). To use it he creates a CSV file with the current component names in the first column. He then goes through and types what he wants for the new name in the second column. This CSV, along with the BRD and SCH files are then given as inputs for the script (through selecting them all and dragging to the script or as CLI arguments) and it automatically makes the changes.

Of course this is only possible because Cadsoft transitioned to using XML files in Eagle 6.

[Read more...]