Git with Eagle: Add meaning to Diff

a-glimpse-of-git-with-eagleWe love Git. We know everyone has their favorite version tracking tools. But even those that don’t care for Git should see the value of getting meaningful Diff data from tracking Eagle layout files.

Was that last sentence just gibberish to you? Let’s take a step back. A few years ago it was impossible to use version control with Eagle at all because the schematic and PCB layout software used to save its files as binaries. But then Cadsoft transitioned to saving Eagle files as XML. This opened the door for things like scripting to rename parts en masse and to track the files under version control. One problem with the latter has been that performing a Diff on two different versions of a file results in XML changes that are probably not human readable. [Patrick Franken] wrote this script to add at least a glimmer of meaning.

We’d love to see some kind of side-by-side highlighting on the schematic or board renderings themselves. But that’s quite a ways off if we ever actually see it. For now his script will take the Diff and print out the tables seen above denoting which types of changes were made from one version to the next. It’s a start, and we hope it inspires even more work in this area.

CadSoft’s EAGLE 6 hits beta and packs goodies

Version 6 of the popular schematic and PCB layout software EAGLE is now in beta testing. The most notable change is the migration to XML file formats that we looked at last month.

[PT] didn’t waste any time getting his hands on the software and giving it a thorough test drive. The image seen above shows the files of a MintyBoost. It’s impossible to make out at this resolution, but it is indeed spitting out human-readable (well maybe) XML in the windows below instead of the ‘no trespassing’ binaries they used to use.

Earlier today when working on a feature we had to jump on a different computer that had EAGLE installed in order to look at a .SCH file. We wonder if someone will put out a rendering package that can parse the new format and spit out a quick PNG? At the very least, we expect to see some useful hacks for part replacement or pin swapping. It shouldn’t be too hard to poke around and figure out what happens when changing some of the stored values. Got anything in mind that you can do by editing these by hand?

Oh, we almost forgot! The biggest benefit you get from this is the increased version control compatiblity since programs like git will be able to perform diff functions on the files.

Cadsoft Eagle migrating to XML

[PT] posted about an exciting development from Cadsoft, the migration to XML based parts, schematics, and board layouts. The adoption of this open standard goes hand-in-hand with the open hardware initiatives people like [PT] have been pushing for.

Cadsoft Eagle is our go-to schematic and PCB software. We even have a tutorial which guides you through preparing your files for PCB manufacture. But the files containing parts libraries, schematics, and board layouts have always been binaries. A transition to XML means a lot of things. They will be easier to edit, and much friendlier for tracking changes using version control systems like SVN, CVS, Mercurial SCM, Git, etc. But immediately on our minds is the accessibility for hacking. Think of how easy XML parsing is in programs like Python. It should be snap to write scripts on a whim that will manipulate the XML files in any way imaginable. This doesn’t discount the value of Eagle, it extends the usability far beyond what any team of engineers at Cadsoft could produce by themselves. And for that, we say Bravo.

Design for manufacture

sparkfun

SparkFun has posted an excellent guide to the many different issues you could run into when you finally decide to get a circuit board professionally produced. We assume that most of you aren’t running a professional design firm and will appreciate these tips gleaned from years of experience. They provided a rule list, Eagle DRC, and CAM file to help you get it right the first time. The end goal is designing a board that won’t be prone to manufacturing errors. The tutorial starts by covering trace width and spacing. They recommend avoiding anything less than 10mil traces with 10mil spacing. For planes, they increase the isolation to 12mil to avoid the planes pouring onto a trace. They also talk about annular rings, tenting, labeling, and generating the appropriate gerber and drill files. SparkFun isn’t completely infallible though, and manages to produce a coaster from time to time.

SparkFun naturally followed up this strict tutorial with a guide to unorthodox header hole placement. If you want to learn more about Eagle, have a look at [Ian]’s overview of Eagle 5 and Ruin & Wesen’s layout videos.

Eagle 5 overview


Not sure how we missed this when it was originally published, but our friend [Ian Lesnet] at DIY Life posted an overview of Cadsoft’s new release Eagle 5. This upgrade seems to be all usability tweaks-it really took 5 versions before you could right click? They also made CTRL+Z undo. Really. Eagle3D works nearly the same as before, but has a few changes to help you figure out why certain parts aren’t rendering. We’re happy to see the OSX version is now Universal and no longer needs X11.