Topic: Freeing Novena´s design - making it KiCad compatible

Since OpenHardware also needs OpenSource design software, and since Altium will likely not run on Novena, I started developing an Altium->KiCad converter, so that we can run and use KiCAD on Novena to browse and work on Novena´s schematics and PCB.

I now finished the second milestone, the schematics are looking good, and the PCB is starting to look good too.

The converter is available here:
https://github.com/thesourcerer8/altium2kicad/

Since I am not an experienced electrical engineer, I could need help from the community with verifying whether the schematics and PCB are converted correctly and meaningfully, and reporting any issues you can find.
I will happily accept Github Pull Requests!

Re: Freeing Novena´s design - making it KiCad compatible

Novena´s mainboard schematic converted to KiCad, plotted to PDF format:
http://www2.futureware.at/novena/01docmap.pdf

Re: Freeing Novena´s design - making it KiCad compatible

Novena´s mainboard schematic and PCB, converted to KiCad, can be opened with KiCad:
http://www2.futureware.at/novena/novena-kicad.zip

Re: Freeing Novena´s design - making it KiCad compatible

Sourcerer, what version of kicad do you use? stable, development?
Thanks for your work!

Re: Freeing Novena´s design - making it KiCad compatible

Sourcer, that's awesome!  I know it'll make my life easier, especially when I need to play "hunt-the-component" for probing for signals.

Really great work.  Thanks for writing this!

6 (edited by honos 2014-11-16 20:24:15)

Re: Freeing Novena´s design - making it KiCad compatible

Sourcerer,
Very good idea and nice work.

Thank you.

Re: Freeing Novena´s design - making it KiCad compatible

@adj: At the moment, I am using BZR5054 (testing), but it should work with any version. If you discover problems with other versions, please let me know.

I will try to be online on IRC (#kosagi) from time to time, if anyone has time to help please contact me there.

Oh, and by the way, the Schematics and KiCad files for the breakout board, which might help as a template to build new Novena compatible devices:
http://www2.futureware.at/novena/gpbb/
(But keep in mind that the converter is still in beta, and that the converted files might be still broken in various ways. Don´t trust the converted files there yet)

Re: Freeing Novena´s design - making it KiCad compatible

Awesome, thanks for doing this! Really excited to see this tool coming along.

Re: Freeing Novena´s design - making it KiCad compatible

Just wanted to say this is so awesome! I wish you'd done it in Python but a Perl tool is better than nothing.

Re: Freeing Novena´s design - making it KiCad compatible

@mithro: I have been thinking about doing it in Python in the beginning, to be compatible with the Upverter code (or even to improve the code), or to have it as a KiCad plugin, but then I would have had to reverse-engineer Altium, KiCad, Python (and even the Upverter code) at the same time, which would have likely delayed the project.
But feel free to translate it to Python. You can already take the unpack.pl and the convertschema.pl, they are likely stable from my point of view.

Re: Freeing Novena´s design - making it KiCad compatible

@Sourcerer Again, great work!  This will make it much easier for me to figure out where to probe various voltages and signals.

I'm having trouble opening them on Novena itself, though.  The version in Debian Jessie is 22-Jun-2014 BZR 4027, and opening novena_pvt2_a.kicad_pcb results in an error:

Error loading board.  PARSE_ERROR: Expecting 'number' in input...

The line number in the source file does have what looks to be an oddly-converted number:

    (pcbplotparams
      (layerselection 0x3ffff_800001ff)
      (usegerberextensions false)

If I change it to some other decimal number, such as 800000, then it continues past that parse error and gets stuck later on with all of the scientific notation, which does not seem to be valid:

  (gr_text Coilcraft-XAL7030-332-DEFAULT (at -4.31800000058047e-005 5.8419999987791e-005) (layer F.Cu)

Re: Freeing Novena´s design - making it KiCad compatible

Just FYI in regard to the pcbplotparms, see this bug, https://bugs.launchpad.net/kicad/+bug/1395594.

That is, try to update. Please stop using the old stable of KiCad if you want new features -- of course depending on your temper. I highly reccomend trying to get the latest product branch. Updates and bugfixes almost every day.

Re: Freeing Novena´s design - making it KiCad compatible

@xobs: The large (64 Bit I guess) layerselection number is necessary to have all layers automatically selected for Gerber Plotting with current KiCad versions. But I can change it to a downwards-compatible number, since this is only 2 more clicks for Gerber Plotting (Right-Click->Select All  Layers).
I had started to convert the scientific numbers to normal numbers already, I changed it for all remaining scientific numbers  now.
I have updated the novena-kicad.zip now.

Re: Freeing Novena´s design - making it KiCad compatible

@Sourcerer, Thanks for updating that.

It looks like the version present in Debian doesn't support hex values.  So in order to open the file on Novena, I had to replace0x3ffff with 262143.

Other than that, it looks really good!

Re: Freeing Novena´s design - making it KiCad compatible

@Sourcerer, Thanks again, this is amazing work.  And it's coming in handy already.

One thing I've noticed -- sometimes symbols aren't rotated, or are rotated but shouldn't be.  One example is the 24 MHz crystal on cpu_soc.  For example, "2.2M" is horizontal when it should be vertical, and "R33B" is vertical when it should be horizontal.

Also, it looks like everything is one big net on the pcblayout, but I assume that's still a work in progress?

Re: Freeing Novena´s design - making it KiCad compatible

@xobs: The rotations are all fixed, the positions are also fixed, only the alignments of the texts are sometimes wrong (left-alignment instead of right-alignment, ...)

I have implemented the nets  for the pcblayout now, but I am not sure, whether it is correct, since I still get some ratsnets.

Re: Freeing Novena´s design - making it KiCad compatible

The ratsnets issues is because some tracks do not enter the center of a pad, but the trackend just touches the pad.

Re: Freeing Novena´s design - making it KiCad compatible

Ok, can we fix the pad-to-center problem in Altium?
Can we fix it in KiCad? What if imported designs from other applications have the same problem?  Isn´t that something  the  DesignRuleCheck could detect and propose to fix?
Or do I have to invent something to fix it in the converter?

Re: Freeing Novena´s design - making it KiCad compatible

@Sourcerer, Thanks for this converter. It helps so much.

I have tried to convert a simple altium pcb to kicad pcb with only 3-Resistor (SMD - 1206) without any connection. Conversion is made successfully , But in schematic Pin is correctly converted and symbol is't. Also there is problem with kicad pcb. where i have found correct conversion, but when i have tried to make library then it shows only two pads of 1206 footprint. I have not found F.Silk layer with 1206 footprint. In kicad pcb, if i move the 1206 resistor then it will move only two smd pads(not f.silk line).  I have tried with other though-hole  part with pcb connection. Same problem found.

What's going wrong with this ?

I am using KiCad 4.0.2-4+6225~38~ubuntu14.04.1-stable.