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!
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
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.
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.
JSON would have been nice…
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.
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.