How to layout parts first and then backfill a schematic?


#1

I have a layout that has a weird shape to it and a few cutouts along the inside. I’d like to place grids of LEDS all around these cutouts, so the easiest thing would be to layout a few diode-to-resistor patterns and then duplicate /create arrays out if them and place then on the board.

however, this is a Mike Smith maverick way of doing layout. However, I don’t want to have to calculate how many LEDS will fit where, and I’m not even sure how I want to wire it all up until I see them on the board to be sure what sort of layout will have to best fit…is there a way to layout repetative sections of a PCB if I promise to go back and put them in a schematic after? Can PCBNEW help to generate the annotations and net list for this "backwards " workflow?


#2

No. This has been requested, at least in the form of building a netlist editor into pcbnew (which is what you’d need to establish the connectivity), but this has met with no small amount of resistance from the developers. Here are some of the reasons they put out.

One is that when you go back to try to create a schematic from the netlist, you need to ensure that symbols exist for the footprints you’ve placed. An SOIC-8 can be an op-amp, a logic part, a timer, a cheap micro, it could be anything.

Two is aesthetic. How does the back-annotation know how to draw the schematic? you might spend more time cleaning up the auto-generated schematic than you would spend drawing it in the first place.

Finally, for such trivial designs, how hard is it, really, to plop things on the schematic and then generate the netlist and open it up in pcbnew?

There is nothing to prevent you from creating a board outline shape and placing footprints on it to see about placement.


#3

If you ignore the layout DRC then you can copy footprints as many times as you want and design your PCB the maverick way.

Now about the schematics… do you even need it?
The link between the schematics and the layout is the netlist, generated in eeschema. It is used to create footprints in pcbnew and tell which pad should be connected to which. There is no reverse netlist generation.

If you really need an updated schematics in the end, just duplicate the diode-to-resistors in the schematics like you did in the layout!
Will you need to continue developing your board? If so, you will probably want to recreate the netlist and import it at each iteration. This is the only reason I see that would require your layout and your schematics to be consistent.

To be able to update in the eeschema->netlist->pcbnew direction you will need the component references to match. Just make sure that the L1, L2, L3… series are the same in eeschema and pcbnew before you import a new netlist. You will probably have warnings about the nets being renamed, but that’s OK.

Related thread:

Note: I haven’t tried the specific scenario I described.


#4

I am brand new to KiCAD and wanted to lay out a universal connection board for the ESP32 modules I have. Then I can take advantage of the ten boards I get from China to activate many rooms in my house for home automation. I wanted to know if there was a way to layout a board without a schematic. I could not think of a good way to search the forum for previous posts. I made the lame search “no schematic” and it brought me here and I got my answer. That is a very good search engine! Glad to be part of this group. I will be doing other boards from schematic, but this time I would have to fake so many parts. Thaanks for my solution, Doug


#5

I’m happy you found something usefull in this 2 year old thread, but why revive it?
For more links in this direction, search for python scripting in PCBnew.
It seems to be popular to put lots of led’s in circles and connect traces between them from Python scripts directly in PCBnew. Some even made tutorials for this.


#6

Thanks, I will look into it.