Exporting Eagle Libraries to FOSS Tools

Since Autodesk’s acquisition, Eagle has been making waves in the community. The de facto standard for Open Hardware PCB design is now getting push-and-shove routing, a button that flips the board over to the back (genius!), integration with Fusion360, automated 3D renderings of components, and a bunch of other neat tools. However, Eagle is not without its warts, and there is a desire to port those innumerable Eagle board layouts and libraries to other PCB design packages. This tool does just that.

The tool is an extension of pcb-rnd, a FOSS tool for circuit board editing, and this update massively extends support for Eagle boards and libraries. As an example, [VK5HSE] loaded up an Eagle .brd file of a transceiver, selected a pin header, and exported that component to a KiCad library. It worked the first time. For another experiment, the ever popular TV-B-Gone .brd file was exported directly to pcb-rnd. This is a mostly complete solution for Eagle to KiCad, Eagle to Autotrax, and Eagle to gEDA PCB, with a few minimal caveats relating to copper pours and silkscreen — nothing that can’t be dealt with if you’re not mindlessly using the tool.

While it must be noted that most Open Hardware projects fit inside a 80 cm2 board area, and can therefore be opened and modified with the free-to-use version of Autodesk’s Eagle, this is a very capable tool to turn Eagle boards and libraries into designs that can be built with FOSS tools.

Thanks [Erich] for the tip.

Friday Hack Chat: Eagle One Year Later

Way back in June of 2016, Autodesk acquired Cadsoft, and with it EagleCAD, the popular PCB design software. There were plans for some features that should have been in Eagle two decades ago, and right now Autodesk is rolling out an impressive list of features that include UX improvements, integration with MCAD and Fusion360, and push and shove routing.

Six months into the new age of Eagle, Autodesk announced they would be changing their licensing models to a subscription service. Where you could pay less than $100 once and hold onto version 6.0 forever, now you’re required to pay $15 every month for your copy of Eagle. Yes, there’s still a free, educational version, but this change to a subscription model caused much consternation in the community when announced.

For this week’s Hack Chat, we’re going to be talking about Eagle, one year in. Our guest for this Hack Chat is Matt Berggren, director of Autodesk Circuits, hardware engineer, and technologist that has been working on bringing electronic design to everyone. We’ll be asking Matt all about Eagle, with questions including:

  • What new features are in the latest edition of Eagle?
  • What’s on the Eagle wishlist?
  • What technical challenges arise when designing new features?
  • Where can a beginner find resources for designing PCBs in Eagle?

Join the chat to hear about new features in Eagle, how things are holding up for Eagle under new ownership, and how exactly the new subscription model for Eagle is going. We’re looking for questions from the community, so if you have a question for Matt or the rest of the Eagle team, put it on the Hack Chat event page.

If you’re wondering about how Altium and KiCad are holding up, or have any questions about these PCB design tools, don’t worry: we’re going to have Hack Chats with these engineers in the new year.


Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This Hack Chat is going down on noon, PST, Friday, December 15th. Time Zones got you down? Here’s a handy count down timer!

Click that speech bubble to the left, and you’ll be taken directly to the Hack Chat group on Hackaday.io.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.

Exploring the BBC Micro:Bit Software Stack

The BBC micro:bit has been with us for about eighteen months now, and while the little ARM-based board has made a name for itself in its intended market of education, we haven’t seen as much of it in our community as we might have expected.

If you or a youngster in your life have a micro:bit, you may have created code for it using one of the several web-based IDEs, a graphical programming system, TypeScript, or MicroPython. But these high level languages are only part of the board’s software stack, as [Matt Warren] shows us with his detailed examination of its various layers.

The top layer of the micro:bit sandwich is of course your code. This is turned into a hex file by the web-based IDE’s compiler, which you then place on your device. Interestingly only the Microsoft TypeScript IDE compiles the TypeScript into native code, while the others bundle your code up with an interpreter.

Below that is the micro:bit’s hardware abstraction layer, and below that in turn is ARM’s Mbed OS layer, because the micro:bit is at heart simply another Mbed board. [Matt] goes into some detail about how the device’s memory map accommodates all these components, something essential given that there is only a paltry 16 kB of RAM in hand.

You might wish to program a micro:bit somewhat closer to the metal with the Mbed toolchain, but even if that is the case it’s still of interest to read a dissection of its official stack. Meanwhile, have a look at our review of the board, from summer 2016.

We’re Using the Word Firmware Wrong

I had an interesting discussion the other day about code written for an embedded system. I was speaking with Voja Antonic about ‘firmware’. The conversation continued forward but I noticed that he was calling it ‘software’. We later discussed it and Voja told me he thought only the parts of the code directly interacting with the microcontroller were firmware; the rest falls under the more generic term of software. It really had me wondering where firmware stops being firmware and is merely software?

The topic has remained on my mind and I finally got around to doing some dictionary searches. I’m surprised that I’ve been using the word differently and I think most of the people I’ve heard use it are doing the same — at least as far as dictionary definitions are concerned. My go to sources are generally Merriam-Webster and Oxford English dictionaries and both indicate that firmware is a type of software that is indelible:

Permanent software programmed into a read-only memory.

computer programs contained permanently in a hardware device (such as a read-only memory)

According to this definition, I have never written a single bit of firmware. Everything I have written has been embedded software. But surely this is a term that must change with the times as technology progress so I kept digging.

Continue reading “We’re Using the Word Firmware Wrong”

Live Stream to YouTube by Pointing a Box and Pressing a Button

YouTube has the ability to do live streaming, but [Tinkernut] felt that the process could be much more straightforward. From this desire to streamline was born the Raspberry Pi based YouTube live streaming camera. It consists of a Raspberry Pi with some supporting hardware and it has one job: to make live streaming as simple as pointing a box and pressing a button. The hardware is mostly off-the-shelf, and once all the configuration is done the unit provides a simple touchscreen based interface to preview, broadcast live, and shut down. The only thing missing is a 3D printed enclosure, which [Tinkernut] says is in the works.

Getting all the software configured and working was surprisingly complex. Theoretically only a handful of software packages and functionality are needed, but there were all manner of gotchas and tweaks required to get everything to play nice and work correctly. Happily, [Tinkernut] has documented the entire process so others can benefit. The only thing the Pi is missing is a DIY onboard LED lighting and flash module.

PrusaControl: The Beginner’s Slicer

There are two main applications for managing 3D prints and G-Code generation. Cura is a fantastic application that is seeing a lot of development from the heavy hitters in the industry. Initially developed by Ultimaker,  Lulzbot has their own edition of Cura, It’s the default software packaged with thousands of different printers. Slic3r, as well, has seen a lot of development over the years and some interesting hacks. Do you want to print non-planar surfaces? Slic3r can do that. Slic3r and Cura are two sides of the CAM part of the 3D printing coin, although Cura is decidedly the prettier side.

The ability to combine the extensibility of Slic3r with the user interface of Cura has been on our wish list for a while now. It’s finally time. [Josef Prusa] has released PrusaControl, a 3D printing CAM solution that combines the best of Slic3r into a fantastic, great looking package. What are the benefits? What’s it like? Check that out below.

Continue reading “PrusaControl: The Beginner’s Slicer”

The GNU GPL Is An Enforceable Contract At Last

It would be difficult to imagine the technological enhancements to the world we live in today without open-source software. You will find it somewhere in most of your consumer electronics, in the unseen data centres of the cloud, in machines, gadgets, and tools, in fact almost anywhere a microcomputer is used in a product. The willingness of software developers to share their work freely under licences that guarantee its continued free propagation has been as large a contributor to the success of our tech economy as any hardware innovation.

Though open-source licences have been with us for decades now, there have been relatively few moments in which they have been truly tested in a court. There have been frequent licence violations in which closed-source products have been found to contain open-source software, but they have more often resulted in out-of-court settlement than lengthy public legal fights. Sometimes the open-source community has gained previously closed-source projects, as their licence violations have involved software whose licence terms included a requirement for a whole project in which it is included to have the same licence. These terms are sometimes referred to as viral clauses by open-source detractors, and the most famous such licence is the GNU GPL, or General Public Licence. If you have ever installed OpenWRT on a router you will have been a beneficiary of this: the project has its roots in the closed-source firmware for a Linksys router that was found to contain GPL code.

Now we have news of an interesting milestone for the legal enforceability of open-source licences, a judge in California has ruled that the GPL is an enforceable contract. Previous case-law had only gone as far as treating GPL violations as a copyright matter, while this case extends its protection to another level.

The case in question involves a Korean developer of productivity software, Hancom Office, who were found to have incorporated the open-source Postscript and PDF encoder Ghostscript into their products without paying its developer a licence fee. Thus their use of Ghostscript falls under the GPL licencing of its open-source public version, and it was  on this basis that Artifex, the developer of Ghostscript, brought the action.

It’s important to understand that this is not a win for Artifex, it is merely a decision on how the game can be played. They must now go forth and fight the case, but that they can do so on the basis of a contract breach rather than a copyright violation should help them as well as all future GPL-licenced developers who find themselves in the same position.

We’re not lawyers here at Hackaday, but if we were to venture an opinion based on gut feeling it would be that we’d expect this case to end in the same way as so many others, with a quiet out-of-court settlement and a lucrative commercial licencing deal for Artifex. But whichever way it ends the important precedent will have been set, the GNU GPL is now an enforceable contract in the eyes of the law. And that can only be a good thing.

Via Hacker News.

GNU logo, CC-BY-SA 2.0.