← Back to team overview

kicad-developers team mailing list archive

Re: GSOC 2022 | LTSpice schematic importer for KiCad


His Chetan,

Welcome to the mailing list!

Before you start, make sure to read through the contributing guidelines, so
that you can make sure your patches conform to the required policies (link:
https://dev-docs.kicad.org/en/contribute/ ), in particular code style and
commit message format policies. We will be asking you to correct any
non-conformances before your code changesets can be accepted.

Also, as I mentioned in the discord chat - it might be a good idea to see
if you can fix a few starter bugs first. In the gitlab bug tracker you will
be able to find some issues tagged "starter" (link:
). These are issues that should be suitable for a newcomer to address. You
could pick one or two of them and then submit a patch via a gitlab merge
request.  This will help you familiarise with a small part of the code as
well as understand the general process for submitting changes to the

As for your LTspice importer, just a few things of note:

- The KiCad file extensions from version 6.0 onwards are .kicad_pro and
.kicad_sch (.pro and .sch are v5 and earlier), but it doesn't matter
anyway: The importer should follow the architecture of other schematic
importers (e.g. Altium or CADSTAR). This means your importer wouldn't
directly generate a .kicad_sch file. Instead, it should load the input file
into an interim data structure which later gets converted into KiCad
internal objects. There is existing code already for saving KiCad objects
as .kicad_sch and .kicad_pro

- Ideally, the importer should also import the spice models as part of the
process (I'd only expect to import the unencrypted models - encrypted ones
could be troublesome in several ways).

- As Thomas (@pointhi) mentioned in the discord chat it is good to start
simple: "code a minimum KiCad plugin to show everything works on you side.
So no logic, just that a new plugin entry is shown in the import UI and
writes "Hello World" to the console when executed. I guess this should be
around 50 lines of code split a few files, most of it making a child class
of SCH_PLUGIN." Once you have this ready, you can open a "work in progress"
merge request where we can discuss the code and you can ask detailed
specific questions (so as to not bombard the mailing list).

As always - feel free to ask any questions if you get stuck!

Roberto (Qbort)

On Mon, Apr 18, 2022, 20:50 chetan shinde <chetanshinde2001@xxxxxxxxx>

> Hi all,
> I am Chetan Shinde. First of all thanks for adding me to the developer's
> group.
> It's great to be officially included in the team. 😀
> I do have coding experience in C+, Java, and Python.
> In this year's GSOC,  I am proposing writing KiCad importer for LTSpice.
> Just a quick brief, about what I am proposing.
> In the KiCad importer for LTSpice, we will be reading the LTspice
> symbols(.asy) and schematics(.asc) files
> and converting them into something that the KiCad can understand i.e
> generating the (.pro) and (.sch) files.
> I am really excited about my proposal and looking forward to connecting
> with the team. Regards Chetan
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp

Follow ups