October 13, 2010 AT 6:00 pm

CadSoft EAGLE development team developing XML format for schematic, layout and parts libraries!

Pt 10435
Big news!

There is a growing movement in the world of electronics called “Open-source hardware” – it has rapidly become very popular over the last 5 years or so, we’re very close to defining what it is and what we need going forward. It’s been a long road with hundreds of talented people working very hard releasing their projects and helping others. Today we just got some great news from the CadSoft EAGLE development team about the their long term commitment to text based file formats in the world of electronics development. With their permission I am posting this here. It’s extremely exciting for those of us who wanted an XML format for files and we’re thrilled CadSoft EAGLE has said they’re committed to it!

Here’s the overview of what we learned:

  • CadSoft EAGLE (our preferred schematic/layout software) has told us they are committed to a text based format in the long term.
  • The CadSoft EAGLE development team is developing a new format for schematic, layout and parts libraries that is XML, this means every object and line will be written out in text description.
  • You won’t have to worry about binary file corruption, you will be able to hand-edit or generate schematics and layouts and of course the magic of version-control (such as github) will be easier than ever with real text ‘diff’s!
  • This will be a fully documented format and also of course a converter for old CadSoft EAGLE binary-type formats.

This is a great direction and I encourage you to support EAGLE as you decide which tools to use now and in the future. But that’s not all, I’ve chatted with the element-14 folks and they’re all set up for your feedback, if they’re very interested in Maker voices their product development. So here’s your chance folks – please stop by the element-14.com site and community.

I’ll post up more as there are new developments. For the folks have asked for a “file format” anyone can read for schematics, layouts and parts libraries – we’re now one step closer with a commitment from one of the most popular tool makers. Special thanks to Windel (EMSL) and Ladyada (Adafruit) and Drew from element-14!

Be sure to visit element-14 if you have feedback and/or questions!


Check out all the Circuit Playground Episodes! Our new kid’s show and subscribe!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!



3 Comments

  1. JSON would have been nice…

  2. This is really great! I like the idea of an open format, even though I guess that the specification of the format is closed and not driven by the community.

    I think the article was written by a person who never wrote a parser (binary/text/XML) and never looked at an XML file. For example, I think only a small percentage of people will be able “hand-edit” a PCB that is bigger than my thumbnail. I have seen corrupted XML files and there was not much that could be repaired. Also, it really depends how the format is defined, but I doubt that the magic of version-control (such as github) will really help. When dealing with 2.5D layouts, even smaller changes can create bigger changes in the underlaying data and I would be surprised if two people working on different part of the schematic or PCB could use a text diff to merge their work (like in source code). But maybe I will be pleasantly surprised.

    Still this is the best news in a long time and I would like to raise my glass of Pumpkin Ale that I just poured and thank everybody who was involved in this.

  3. JSON works for web pages, but for tagged data, XML is better – the libraries to manipulate, verify, edit, etc. are more mature and XML is for organizing data. JSON is an object container format. You can use either for most things, but for data interchange in different contexts XML works better. For objects, JSON.

    That said, this is a reason to celebrate.

    I can do CAD, but if I have an identical SSOP package where only the pins are different, it is much easier to use any text editor to relabel the pins than to do it one at a time selecting them (oops, wrong layer, did I save it…).

    Eagle is fine, but the hard part is always the parts library.

    If all the dimensions are in the datasheet as numbers, I can just type them in directly instead of trying to do something like the old “operation” game.

Sorry, the comment form is closed at this time.