Eagle-KiCad conversion

483 views
Skip to first unread message

al...@alexgibson.net

unread,
Jul 4, 2016, 3:39:13 PM7/4/16
to reading-...@googlegroups.com
Hi all

I am struggling to convert files from Eagle to KiCAD format for editing.


This is what I need to convert...
http://reprap.org/mediawiki/images/b/b0/ArduinoMegaPololuShield.zip

I need to use something that is not Eagle as I explicitly want to make
the PCB much bigger.

Here is a Hackaday article I tried to follow. It lied. It wasn't easy
at all!
http://hackaday.com/2015/12/27/eagle-to-kicad-made-easy/

I got as far as Step 6 of the instructions here:
https://github.com/lachlanA/eagle-to-kicad

This left an Eagle window open at a description of Pin header
ULTIMACHINE_3PIN-HEADER

I then carried out step 7, opened pcbnew from the command line, and it
refused to open the Eagle .brd file. The option to open an Eagle format
file was there, but I got this error when I tried:

Error loading board.
IO_ERROR: /home/startup/Documents/RAMPS_1-41.brd(1): expected <
from /build/kicad-fW3pRG/kicad-4.0.2+e4/kicad/pcbnew/eagle_plugin.cpp :
Load() : line 1192


Any ideas?

I was using Eagle 7.6.0 for Linux 64-bit, not 6.x.x as is mentioned by
the instructions - if that helps...?

Cheers
Alex

Gavin Gaunt

unread,
Jul 4, 2016, 3:43:07 PM7/4/16
to reading-...@googlegroups.com
Was under the impression that if you start the KiCad component programs - eeschema and pcbnew - independently of the project explorer thing, you can import Eagle files directly into them from the menus.

Doesn't give you a coherent KiCad project with a netlist etc, but you can at least inspect and copy


From: al...@alexgibson.net
Sent: ‎04/‎07/‎2016 20:39
To: reading-...@googlegroups.com
Subject: [RDG-Hack] Eagle-KiCad conversion

--
You received this message because you are subscribed to the Google Groups "Reading Hackspace" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reading-hacksp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Ryan .

unread,
Jul 4, 2016, 3:45:31 PM7/4/16
to reading-...@googlegroups.com
It would almost certainly be better to redraw it from scratch in KiCad. It's not a complicated circuit. 

Also, make sure you keep to the GPL and release your stuff too. 

James Belchamber

unread,
Jul 4, 2016, 4:17:24 PM7/4/16
to reading-...@googlegroups.com
IANAL but I don't think, if he redrew the circuit from scratch, he would be bound by the GPL. It would be like creating a piece of software that looked identical to another application, but written in a different language.

Still, it would be a nice thing to do :)

Alex Gibson

unread,
Jul 5, 2016, 5:26:42 AM7/5/16
to reading-...@googlegroups.com, reading-...@googlegroups.com
Thanks...  So is the consensus that I am better starting from scratch?

The rest of my 3D printer was a from scratch design, so it would be consistent for me to do the same with the electronics.  I will learn a lot in the process.  

Normally when you reinvent the wheel, it is still round, so doubtless my eventual design would have some similarities with existing designs - but I have a particular design philosophy in mind if I do go from scratch which will ensure it is differentiated.  

I had really hoped that the first iteration at least of my electronics would be a straight remix of RAMPS 1.4, fully subject to its GPL licence and properly published under the same.  This would save a lot of time.  

But the only value of that to me is guaranteed compatibility, so if I can't reliably convert the Eagle to KiCAD I would have to check it a so carefully I may as well start with a blank sheet.

Unless anyone has any further tips I will look at Gavin's suggestion, and also try the same in DesignSpark.

Cheers

Alex



Tapped on my mobile phone.

Ryan .

unread,
Jul 5, 2016, 5:28:02 AM7/5/16
to reading-...@googlegroups.com

Oh man, designspark....

Also, why is there so much through-hole?!

Good luck Alex.

Richard Ibbotson

unread,
Jul 5, 2016, 6:14:43 AM7/5/16
to reading-...@googlegroups.com

I would agree you are best to start from a blank sheet. To make a successful design transfer, you actually need a greater level of competancy in the target package than you need to do the design from scratch.

It also does not save time, so is only really justified if you need the result to be identical. When you do the transfer a lot of information is lost. The base netlist and pads are usually OK, but you lose a lot of error checcking and contextual information, which makes checking and subsequent modification much more difficult and risky

We did a transfer from Eagle to DesignSpark on the Superman project. Even working with a DesignSpark  consultant, we wished had not gone that route.

Richard

Ryan .

unread,
Jul 5, 2016, 12:17:51 PM7/5/16
to reading-...@googlegroups.com
Interesting comment from James re. GPL. 

IMO it'd be more a code refactoring than a different language, if the circuit and layout were simply redrawn. The language of the schematic and the layout are the same across all ECAD tools...maybe it's like using a different IDE?

And yeah, as the original design is GPL'd, it would be a nice thing to do, whether or not it's required is another matter. 

Hugo Mills

unread,
Jul 5, 2016, 12:41:27 PM7/5/16
to reading-...@googlegroups.com
On Tue, Jul 05, 2016 at 05:17:49PM +0100, Ryan wrote:
> Interesting comment from James re. GPL.
>
> IMO it'd be more a code refactoring than a different language, if the
> circuit and layout were simply redrawn. The language of the schematic and
> the layout are the same across all ECAD tools...maybe it's like using a
> different IDE?

I think the key phrase here is "derived work" (as it usually is in
questions of copyright). There will be copyright IP in both the
circuit design itself, and in the layout of the circuit board. Even if
you laid the board out differently, it would not affect the fact that
it's the same basic circuit design. You therefore have a derived work
of the original, and you would be bound by any copyright license terms
of the original work -- in this case, GPL, with the viral nature of
the license.

As to redoing the circuit and layout in different software... IMO,
the copyright which vests in each of the circuit design and the layout
would probably be viewed as being independent of the software used to
design or represent it. As an analogy, you wouldn't be able to take,
say, the Disney logo and redraw it yourself and then claim that it's
not a derived work on the grounds that they used Illustrator and you
did yours in Inkscape. It feels to me that the same principle would
probably get applied to the circuit design. However, as with all these
things, it could probably be made into as messy and expensive a case
as you like, in practice.

Hugo.

> And yeah, as the original design is GPL'd, it would be a nice thing to do,
> whether or not it's required is another matter.
>
> On Mon, Jul 4, 2016 at 9:17 PM, James Belchamber <ja...@belchamber.com>
> wrote:
>
> > IANAL but I don't think, if he redrew the circuit from scratch, he would
> > be bound by the GPL. It would be like creating a piece of software that
> > looked identical to another application, but written in a different
> > language.
> >
> > Still, it would be a nice thing to do :)
> >
> > On Mon, 4 Jul 2016 at 20:45 Ryan . <ry.w...@gmail.com> wrote:
> >
> >> It would almost certainly be better to redraw it from scratch in KiCad.
> >> It's not a complicated circuit.
> >>
> >> Also, make sure you keep to the GPL and release your stuff too.
> >>
> >> On Mon, Jul 4, 2016 at 8:42 PM, Gavin Gaunt <gavi...@gmail.com> wrote:
> >>
> >>> Was under the impression that if you start the KiCad component programs
> >>> - eeschema and pcbnew - independently of the project explorer thing, you
> >>> can import Eagle files directly into them from the menus.
> >>>
> >>> Doesn't give you a coherent KiCad project with a netlist etc, but you
> >>> can at least inspect and copy
> >>>
> >>> ------------------------------
Hugo Mills | Hail and greetings. We are a flat-pack invasion
hugo@... carfax.org.uk | force from Planet Ikea. We come in pieces.
http://carfax.org.uk/ |
PGP: E2AB1DE4 |
signature.asc

Jeremy Poulter

unread,
Jul 5, 2016, 12:55:54 PM7/5/16
to rLab List

IMHO (and IANAL) the PCB layout is the only real thing that could be considered as IP, the actual schematic is really basic stuff that is just common stuff for interfacing the two (types of) modules. IE anyone tasked with creating a board to do that job would come up with a schematic that would be more or less the same. It would be like trying to licence a Hello World program.

But that being said (and to quote Adam Hill) don't be a dick and open source anything you do based on the schematic.

Cheers,

Jeremy

Hugo Mills

unread,
Jul 5, 2016, 12:59:56 PM7/5/16
to reading-...@googlegroups.com
On Tue, Jul 05, 2016 at 05:55:52PM +0100, Jeremy Poulter wrote:
> IMHO (and IANAL) the PCB layout is the only real thing that could be
> considered as IP, the actual schematic is really basic stuff that is just
> common stuff for interfacing the two (types of) modules. IE anyone tasked
> with creating a board to do that job would come up with a schematic that
> would be more or less the same. It would be like trying to licence a Hello
> World program.

I'm a software person, not a hardware person. _Any_ circuit diagram
looks like deep magic to me. :)

> But that being said (and to quote Adam Hill) don't be a dick and open
> source anything you do based on the schematic.

Agreed.

Hugo.
signature.asc

James Belchamber

unread,
Jul 6, 2016, 3:31:21 AM7/6/16
to reading-...@googlegroups.com
Yeh, it's not an opinion I'm willing to defend to the hilt. I'd argue that the 'source code' is really the file, and if you convert it then the license follows the conversion. However, if you just write it from scratch you wouldn't be subject to the same licence, even though the resultant circuit still looks the same.

Honestly this probably shows up the limitations on using the GPL for things that aren't software. Again though, IANAL.

Alex Gibson

unread,
Jul 6, 2016, 4:44:31 AM7/6/16
to reading-...@googlegroups.com

I think this is where the Adam Hill ‘don’t be a dick’ test applies.

 

I have an objective, which is to make a working 3D printer controller in a certain form factor, with additional functions compared to RAMPS and with better RF shielding. 

 

If I could have achieved this more quickly and reliably by easily modifying RAMPS, which had to involve reliably transferring it to free software with a larger PCB capability, and just changing the layout, I would have done so and complied with all the requirements of the GPL, at least for the first iteration – my plans for future iterations always involved a total rework.

 

Now, since it appears I would need to re-draw the circuit fully anyway in order to be sure it will work, I am going to ignore RAMPS and design a new board completely from scratch, which I will licence myself.  There are bound to be some superficial similarities at a schematic level with RAMPS (and its many variants), as it will be compatible with Arduino Mega and Pololu drivers, and form follows function, but I will start from first principles (the datasheets) for my own sanity, and there will be clear differences obvious to anyone familiar with 3D printer control boards, as my approach to modularity is quite different.

 

From this conversation it seems that by taking that decision now, and starting from scratch, I’ll be doing myself a favour by more clearly making a new work that is not a derivation of RAMPS, whereas my initial approach could be seen as a derivative work, via my own first version!

 

 

 

From: reading-...@googlegroups.com [mailto:reading-...@googlegroups.com] On Behalf Of James Belchamber
Sent: 06 July 2016 08:31
To: reading-...@googlegroups.com
Subject: Re: [RDG-Hack] Eagle-KiCad conversion

 

Yeh, it's not an opinion I'm willing to defend to the hilt. I'd argue that the 'source code' is really the file, and if you convert it then the license follows the conversion. However, if you just write it from scratch you wouldn't be subject to the same licence, even though the resultant circuit still looks the same.

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.6201 / Virus Database: 4613/12565 - Release Date: 07/05/16

Stuart Livings

unread,
Jul 6, 2016, 5:31:58 AM7/6/16
to reading-...@googlegroups.com

"Intent" is a concept that is supported in law.  If it's apparent that you intended to derive something from RAMPS, however that ended up, then you could be liable.  If you used RAMPS to inspire features in a new design then you're clearly not contravening copyright/copyleft.

Incidentally, the concept of design (solution/invention) protection is covered in patent, the concept of manufacturing protection (duplication/cloning) is covered in copyright.  Software licencing and copyright is very complicated (and hence expensive) in law (see recent Riverbed/Silverpeak and Arista/Cisco cases) and there are hundreds of companies violating GPL licences without any real enforcement in play.

Obviously the fact that hundreds of people are getting away with contravening licencing is no excuse to do it yourself, but it might be time to society to acknowledge that the concepts of patent, copyright and licencing have become largely irrelevant in modern society and join the Pirate Party: https://en.wikipedia.org/wiki/Pirate_Party

*sidesteps slowly out of the room*

Matthew Daubney

unread,
Jul 6, 2016, 5:37:41 AM7/6/16
to Reading Hackspace
tl:dr don't use software licences for hardware. Doing so just makes a mess.

Stuart Ward

unread,
Jul 7, 2016, 9:58:59 AM7/7/16
to Reading Hackspace

On 5 July 2016 at 10:26, Alex Gibson <al...@alexgibson.net> wrote:
Unless anyone has any further tips I will look at Gavin's suggestion, and also try the same in DesignSpark.


here was an interesting episode of The Amp Hour talking about PCB design for hobbyists talking to Jonathan Hirschman of PCB-NG 


There is a code in the podcast to get past the invite page on their website. http://pcb.ng/

Stuart


-- Stuart Ward M +44 7782325143

mikethebee

unread,
Jul 10, 2016, 10:18:13 AM7/10/16
to Reading Hackspace
I mentioned https://solderpad.com/ which was set up to address the issue of hardware licensing, but it does not seem to have advanced much since 2013 unfortunately.
-MtB

Manoel Trapier

unread,
Jul 10, 2016, 4:37:36 PM7/10/16
to Reading Hackspace
I haven't see a comment about that.

There is a script for converting a schematic/PCB from eagle to KiCad, it works ok, it's not miraculous, but I've used it two times with fairly good results:


You have to stricly follow the step by step how to to use it, it's easy to forget something and get wrong results.

Manoel

Alex Gibson

unread,
Jul 10, 2016, 5:26:35 PM7/10/16
to reading-...@googlegroups.com, Reading Hackspace
I tried it but hit errors.  I think that it depends a lot on which version of every component of the chain you are using.  I am done with trying to port a PCB from one tool to another.  It's my perception that none of the tools is truly mature and user friendly within itself, let alone expecting them to play nicely with each other!

@stuart  - your point about intent is a good one.  

I now intend to make a new board entirely from scratch, as it is more straightforward, and will allow me to own my whole design.  


Tapped on my mobile phone.

Richard Ibbotson

unread,
Jul 10, 2016, 6:51:07 PM7/10/16
to reading-...@googlegroups.com

I think we all know there are scripts to do this, but they are not very clear on the capability and risks.

 

I still question why a conversion is needed, Kicad is probably better at PCB routing, Eagle better at error control and libraries. Mixing packages, gives the lowest common functions.

 

While I try to follow the secondary thread here on licensing, I am concerned that the idea of convesion from Eagle to KiCad in some ways fixes the licensing issues.

 

Developers under Eagle who use the non commercial license, do so in good faith that the files they publish also follow that license. It would be unethical for users to convert to KiCad to subvert that intent.

 

I guess I still struggle to see a technical or ethical reason to justify conversion, but am open to fuel discussion.

Alex Gibson

unread,
Jul 11, 2016, 3:53:47 AM7/11/16
to reading-...@googlegroups.com

Classic forum post scope creep J  As OP I only asked about the practicalities of conversion.

 

A friendly reminder spawned an interesting discussion about licensing ethics, which was rather helpful! 

 

I agree it’s clear that the licence of the original PCB design work should be respected throughout, regardless of conversion to another package/format.  It may even prevent this, without getting the author’s permission.  If you translate Shakespeare into French, it’s still Shakespeare.  A conversion of RAMPS to KiCAD would be a useful thing to do, but the moral ownership would remain with RAMPS, subject to its GPL.

 

It was interesting to get perspectives on whether a work is derivative if it’s similar and carries out a similar function.  I ended up realising that the practical barrier to me taking a short cut to a working board by porting RAMPS in KiCAD and then editing it has probably done me a big favour,  because the tweaks I made to it would be a derivative, via my own first versions. 

 

Instead I’m going to start from a blank sheet in KiCAD, follow the chip pinouts and datasheets only, and make a new work, and with a different feature set which reflects only my own printer’s requirements.  My mindset will be to ignore any legacy conventions and build what function dictates.  So while there might be a passing similarity to any of the mass of existing 3D printer driver boards simply due to having similar sockets, it will be a clearly new work.

Version: 2015.0.6201 / Virus Database: 4613/12593 - Release Date: 07/10/16

Lachlan Audas

unread,
Aug 24, 2016, 3:26:19 PM8/24/16
to Reading Hackspace

Hi Alex,  I wrote the ULP/ scripts, https://github.com/lachlanA/eagle-to-kicad
Post your problems there, I may be able to fix the problem, there are many corner case's with the conversion.
But I can't fix them unless your report the bugs.

Lachlan
Reply all
Reply to author
Forward
0 new messages