Create schematic from programmatically generated netlist

Does anybody know of any plugins that will take a programmatically defined netlist and make a schematic from it? :slight_smile:

So you have a list of components and connections and you want some plugin or piece of code to design a schematic for you?

Query 1: have you asked chatgpt yet? :joy:

Query 2: Even if ā€˜itā€™ exists I highly doubt that it can do a better job than yourself. It is not likely that it will yield a good looking schematic. So that raises the question: why do you want this?

Query 3: how have you generated the netlist? Usually it comes from schematics.

Bas

The confusion is partly because I moved the post from a another thread where the original question was about problems in a project that used Ergogen, a keyboard layout generator. The back link to the original topic is below the first post.

I think the main problem with generating a schematic from the netlist is that while you may have the netlist and the components, you donā€™t have the XY coordinates of the symbols as you would from a drawn schematic. So any processing software would have to create some kind of 2D graph. Maybe you can get a starting point for XY coordinates from the layout. Otherwise I have no :eye: :deer:.

Why do you want a schematic anyway? Itā€™s not clear that it will help you notice the error you missed.

Ah, I missed this started in the thread mentioning Ergogen.
The question reminds me of SKiDL, but like Ergogen, this skips the schematic completely and just creates the netlist.

I quite like the Idea of SKiDL, although I have not used it myself. I donā€™t use it because the sort of schematics I draw are not suitable for SKiDL.

In principle, Schematics could be generated from scripts in a similar way to PCB footprint placement and routing. There are for example a bunch of forks of the ā€œStudio Clockā€ created with SKiDL, and which has lots of leds in a circle and tracks drawn by a script. See for example:

(Python) scripting inside the schematic is being very slowly adopted though it has been in the PCb editor for a lot of years. It is possible to open a python console in the Schematic editor in KiCad V8, but I have never used this myself and donā€™t know what you can do with it.

A problem with the scripted approach is that itā€™s quite easy to do some parts of a project, but quite difficult to do it completely. I guess it would gain more acceptance if the two methods could be combined. For example have the script generate a big keyboard matrix with lots of leds on a separate hierarchical sheet, and draw the microcontroller with itā€™s power supply, and all the other fiddly bits manually on a separate sheet.

SKiDL does have the ability to generate a KiCad V5 schematic.

when talking about mechanical keyboards and ergogen exclusively, Iā€™m working on some utilities improving design flow. One of them is basic layout file to key matrix schematic converter:

https://raw.githubusercontent.com/adamws/kicad-kbplacer/master/resources/example-schematic.svg

I described ergogen based flow here: adamws.github.io - Keyboard PCB design with ergogen and kbplacer
The collection of results (pcbc & schematics) can be viewed here: https://adamws.github.io/keyboard-pcbs/

I also have skidl based package for generating netlists: GitHub - adamws/kle2netlist: Keyboard's layout json to KiCad netlist - it is focused on matrix part of the keyboard but Iā€™m experimenting (develop branch) with including common controller circuits together with an option to export template for positioning and routing of such predefined circuits (most keyboards were using atmega32u4 back when I started - with potential community support this could probably include most of todayā€™s popular choices)