[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.
There have been a few text formats for libraries & schematics, but xml would be the easiest and most flexible. Good stuff – can’t wait to see it start showing up in EDA packages!
It’ll make projects like Eagle3D and possibly some importing and exporting tasks easier, but the ULP system is already way more powerful with in-application interactivity if you’re interested in expanding Eagle’s functions. No, the advantage of XML is merely that your designs will not become useless far in the future, and you could theoretically create filters to convert to other PCB packages (though you could do this with ULPs anyway).
What would be a REAL breakthrough is if someone had created a universal XML standard for schematic+netlist+PCB, and then Eagle and other PCB tools adopted it. Then we’d have reason to celebrate…any PCB file would open in any PCB CAD program? That would rule. And is not what is happening here, yet.
Eagle is awesome. It has somewhat of a steep learning curve but once you learn how to use it I find it is nearly impossible to use other tools (in the same price/performance bracket) because you will always like the features in Eagle better.
So, no more viral license blacklisting anymore? Luckily it’s free for small PCBs anyway.
With XML, you will probably be able to export a partlist and whatnot by just doing XSLT. I used to write scripts and excel macro’s just for doing that. But only I knows how it worked, so it was kind of useless.
freerouting.net has an autorouter that can be indirectly used with eagle files to do a much better job than Eagle’s built-in autorouter (one thing which I find very useful is the ability to specify which way–horizontally or vertically– a given layer should try to be routed).
Only problem is, at least with the board which I tried it with, it took over a day and a half before I stopped it, then I had to route the last few (10 or so out of ~400 total) airwires by hand.
A day and a half!?!? That is ridiculous. Electra can handle anything I throw at it in less than 10 minutes (with the max number of passes)
Eagle may well be an awesome product, but its licensing is still extremely restrictive for hobbyist use – The projects I create use 150mm x 150mm boards, so I am operating outside the license if I use it personally.
At least KiCad is open.
@Doug – Don’t forget about gEDA!
A major advantage of both systems is that the files are in a text format. Not XML, but it will be interesting to see if XML is really required here. XML seems quite different from, say, the SPICE netlist (Or KiCad, or gEDA) format that I would have imagined they would choose.
@Doug take a look at fritzing.org I’m using that now. Free, cross-platform, easy to share and find parts and projects, etc etc.
@Squirrel: Eagle has the preferred directionality on a per-layer basis right there in the autoroute dialog. You can choose horizontal, vertical, either diagonal, or all combined from a pulldown next to the layer. As far as I’m aware, it’s always had that – well at least for the last 5 years or so…
Eagle is really awesome. The features in Eagle seems to be better. But I have some trouble when first use its tools, it takes me some times to get familiar with.
@Squirrel: This is why i don’t use autoroute. To be fair: I suck at configuring them and only route small PCBs.
“in programs like Python”
This hurt my brain.
Anywho maybe one they there’ll be no size restriction for non commercial use. The article got my hopes up.
@squirrel
Don’t use autoroute. It will never produce results as good as a human routed board (except maybe for some special exceptions like parts of a motherboard).
If you route by hand you can considerate things like power and data lines, interference, ground return paths, digital vs analog signals, everything an autorouter (at least one of eagle’s level) will not do.
Plus, routing by hand is fun and relaxing. Turn on the headphones and just go.
@Colecago I prefer routing in silence, I had good success doing it while laying with my eyes closed before I went to sleep, although that’s small projects only of course, and mostly done on stripboard.