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.
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!
[technolomaniac] is kicking butt over at Hackaday Projects. He’s creating a low cost Arduino based FPGA shield. We’ve seen this pairing before, but never with a bill of materials in the $25 to $30 range. [technolomaniac’s] FPGA of choice is a Xilinx Spartan 6. He’s also including SDRAM, as well as an SPI Flash for configuration. Even though the Spartan 6 LX9 is a relatively small FPGA, it can pack enough punch that the Arduino almost becomes a peripheral. The main interconnect between the two will be the Arduino’s ability to program the Spartan via SPI. Thanks to the shared I/O pins though, the sky is the limit for parallel workflow.
[technolomaniac] spent quite a bit of time on his decoupling schematic. Even on a relatively small FPGA power decoupling is a big issue, especially when high speed signals come into play. Thankfully Xilinx provides guides for this task. We have to mention the two excellent videos [technolomaniac] created to explain his design. Documenting a project doesn’t have to be hours of endless writing. Sometimes it’s just easier to run a screen capture utility and click record. As of this writing, the schematic has just been overhauled, and [technolomaniac] is looking for feedback before he enters the all important layout stage. The design is up on his github repository in Altium format. Due to its high cost, Altium isn’t our first pick for Open Hardware designs. There are free viewers available, but [technolomaniac] makes it simple by putting up his schematic in PDF format (PDF link). Why not head over to projects and help him out?
Continue reading “A Low Cost Arduino FPGA Shield”
This project is about home security monitoring, but the update is crack for electronics designers. [Simon Ludborzs] continues to work on his prototype and he’s fantastic about sharing his success and failure in a conversational manner.
In April we saw his initial design which combined a SIM900 GSM modem with his own board to let him monitor his home security system without hiring a monthly service. Above you can see a snap of his latest prototype. It’s not fully populated as he’s testing the power supply… which in this state puts out 0V. Obviously that’s not up to his design specification so he started hunting around for the issue. He tells a tale of woe which is near to our hearts. He removed Q6, which is BC807 transistor, in order to test the FET used on the board. This brought it to life and had him looking into the datasheet of the part and its footprint in Altium. The footprint is right, the schematic symbol is wrong. There’s a lucky fix though. Above you can see the original design. The fix was just to rotate the part. This is illustrated as a change in the layout, but it worked with the original pad location. They’re not square to the transistor’s legs but they do still fit the outline.
He goes on to stress test the PSU output and then discuss whether it’s enough for the rest of the project. All in all a fascinating read!
We see a lot of projects using Eagle for the schematics and PCB layout. There are a few that use Kicad, but we hear very little about other alternatives. Recently, [Limpkin] has been working with Altium and Cadence and wrote about how they compare when it comes to PCB layout. Neither are free packages so it’s good to know what you’re getting into before taking the plunge.
[Limpkin] begins his overview by mentioning that the schematic editors are comparable; the differences start to show themselves in the PCB layout tools. Here you can see that Altium always labels the pads so you know what net each of them belongs to. Cadence (whose PCB layout tool is called Allegro) will display the net if you hover over the pad with your mouse. Both have 3D rendering, with Altium’s looking a bit more pleasant but what real use is it anyway? Okay, we will admit we love a good photorealistic board rendering, but we digress. The most interesting differences show themselves once traces are all on the board and need to be rejiggered. Cadence will actually move traces on other layers automatically to avoid collision with a via that is late to the party, and Altium shows some strange behavior when dragging traces. [Limpkin] doesn’t register a final judgement, but the comparison alone is worth the read.