Reverse Engineering Altium Files

Several times in the last few weeks, I’ve heard people say, ‘this will be the last PCB I design in Eagle.’ That’s bad news for CadSoft, but if there’s one thing Eagle has done right, its their switch to an XML file format. Now anyone can write their own design tools for Eagle without mucking about with binary files.

Not all EDA softwares are created equally, and a lot of vendors use binary file formats as a way to keep their market share. Altium is one of the worst offenders, but by diving into the binary files it’s possible to reverse engineer these proprietary file formats into something nearly human-readable.

[dstanko.au]’s first step towards using an Altium file with his own tools was opening it up with a hex editor. Yeah, this is as raw as it can possibly get, but simply by scrolling through the file, he was able to find some interesting bits hanging around the file. It turns out, Altium uses something called a Compound Document File, similar to what Office uses for Word and PowerPoint files, to store all the information. Looking through the lens of this file format, [dstanko.au] found all the content was held in a stream called ‘FileHeader’, everything was an array of strings (yeah, everything is in text), and lines of text are separated by ‘|’ in name=value pairs.

With a little bit of code, [dstanko] managed to dump all these text records into a pseudo plain text format, then convert everything into JSON. You can check out all the code here.

CircuitMaker from Altium

Altium recently announced CircuitMaker, their entry into the free/low-cost PCB design tool market. They’re entering a big industry, with the likes of Eagle, KiCad, gEDA, and a host of other tool suites. We had a few minutes to talk with Max in the Altium booth at World Maker Faire, and even got a bit of time with the tool itself.

Hands on, it definitely has the look and feel of Altium Designer, right down to the familiar yellow and green boxes for schematic and sheet parts. Center stage was the 3D view, a feature which Altium has had in their software since the late 90’s.

CircuitMaker’s website is pushing the collaboration aspect of the software. Design choices can be reviewed and commented on in real-time. This also suggests that the data files will live in Altium’s own cloud storage system.

CircuitMaker is still in the pre-beta phase, but they’re looking for beta testers now, so head over to the site and sign up!

Upverter 2.0 Launches

Disclosure: I currently work at Upverter

We’ve featured Upverter here in the past. At that time, the EDA tool was capable of collaborative schematic capture. Today, Upverter is launching version 2.0 of their tool which includes many new features allowing for end-to-end electronics design.

Upverter now has a PCB editor, allowing you to manufacture your designs. They are working with PCB manufacturers to make it easy to choose a fab and submit design files. Other new features include a Spice based simulation engine allowing in-browser simulation, and product lifecycle management features to help manage your project’s bill of materials.

When we last looked at Upverter, it was just a tool for creating and sharing schematics. With today’s launch, the tool can be used for designing electronics from start to finish. Since Upverter is free for open source projects, it will be interesting to see how hackers use it.

You can check out a tour of the new features. Any thoughts on using a cloud based EDA tool? Let us know in the comments.