Hello all. I have a panel board that I have been working on, and just recently I have noticed that most of my footprints have had their nets removed or reset. This happens whenever I do a copy and paste. I have saved the file, so I guess there is no going back too easily. It is a layout i require for assembly and soldering ease. See the below shots:
The big problem is that is a board that I want start a small production run on. If I go through and manually change the footprints so that they connect back to 5v and ground on every footprint, I will take some caution. But if there is an easier way to go about this, or some other better method, I would be keen to learn.
Thanks.
I am using PCBNEW version (5.1.4)-1, release build
In my opinion copy and paste in the layout is not a good idea. I guess you have three C4 and D4 footprints for one C4 and D4 in the schematic.
If the circuit is small, just duplicate also those components in the schematic with new references.
I recommend the use of hierarchical sheets and the replicate layout plugin by MitjaN if the circuit is not too small.
There are some scripts for this, and you have apparently used them (Guess from you mousebites)
For the WS2812 I currently see:
2x D1
1x D3
3x D4
How would you like your netlist to handle that?
On top of that, another limitation in KiCad is that there is no way (that I know of) to directly add new nets in the PCB itself. You can add pins to existing nets, but not new nets.
Maybe you will learn to make backups some day…
If you’re lucky then you can just load the project.kicad_pcb-bak file.
With no nets and over ruling DRC, you can make “something” but will it be a working PCB?
On some parts you have placed the capacitor near to Pin 1 of the LED, while near to Pin 3 on others. It may be working since it’s apparently +5V and GND. but it easily adds to confusion.
How big is your board? How many of those LED’s are on it?
If you want to learn how to get something like this done in KiCad, then a small board to experiment until you get your workflow right is very much preferable.
If you have some 100+ leds on a panel, well, it’s 100 x the work of a single led.
The replicate layout script works quite well, and may be usable to repair your current work. If you use it however, all RefDes values through your panel will be different. If this is OK for you it might be a good starting point.
If you want to use the "Replicate Layout script you still have to fix the RefDef’s.
If you want to go this way my recommendation is:
Save your current work as a backup.
Use a copy of your work to experiment with “Replicate Layout” script.
If you know how to work with the script, use it on the backup you made in 1).
For experimenting with “Replicate Layout” script I recommend:
Make a hierarchical sheet design.
Main sheet just has sub sheets.
A sub sheet has components for 1 board.
Make a handful of copies of the sub sheet on your main sheet.
Do the annotation. Figure out a RefDes numbering that works.
In the Pcbnew, preserve one complete component placement, and one reference component for each of the copies in your panel.
Delete all other components and tracks. (But keep the board outline).
Manually renumber your reference components according to what you got in 2).
Eeschema / [F8] to update the netlist in the PCB.
Make sure to use the “Re-associate footprints by reference” setting:
You should now have re-imported all the Footprints you deleted in step 4). but now with the correct RefDes. Just place them somewhere outside the PCB outline.
Run the “Replicate Layout” script. This places all components in the right places, and replicates all tracks from your “reference” section to all the other sections.
If you only want a very dirty hack, you can completely disable DRC and lay tracks manually. Running the script is much faster but you have to go through the initial learning curve. A few weeks ago a new user made a pdf for getting started with Replicate Layout. The whole thread is at:
Thanks all for the prompt replies and helpful information. I have decided to re-do the schematic with hierarchy sheets as suggested. This leads me to a set of new questions (I hope its ok to keep it in this topic).
What is the best way to handle boards that get connected together with wires/cables/connectors? Is it best to place the connectors on the root sheet? These are small led strip like boards. Should I use hierarchy pins for unique data in/out identifiers? Rather than use global pins/labels, I was thinking to treat the connectors as a bus. I am just a hobbiest but want to find a professional like solution. Basically I am asking, how would you do it?
Also, since I am therefore going to have to relayout my boards on the outline i made. Is there any way to amend a board and somehow use that as a reference for placing components? When I import my reference board, of course the rats nest doesnt like it. It would be nice to flag footprints to not attempt to connect to anything. And that way I can place down a reference board, and then update each component with the new one, part by part.
And to answer the question about using scripts/plugins. No those mousebites I created myself. I have drawn the layout in a CAD package before importing into KiCad.
This question answers itself if you’ve used the “Replicate Layout script” a few times. As a general rule. Every connector you want on each of the sub-boards goes into the hierarchical sheet that gets replicated by the script.
If you want to add tracks and connectors that meander through the panel to be able to test the whole panel before breaking it apart, then that part should not get replicated by the script and goes in the Top level sheet.
Start with the first block of 3 steps I mentioned earlier:
Save your current work as a backup.
Use a copy of your work to experiment with “Replicate Layout” script.
If you know how to work with the script, use it on the backup you made in 1).
Do this just to get an idea of how the Replicate Layout script works. Experimenting with a copy of your project makes it easy to mess around and experiment with no worries of damaging anything important of your project.
From your last screenshot I can see an overview of the whole panel, which is good. I also see you removed all components from the board, which is less good. I do not know the whole schematic or if you want to add stuff to test the whole panel before you break it apart. So I can not give any advise on that. Is this your intention?
Sidenote:
I’m guessing your panel may be too weak and wobbly which may lead to production problems, but that’s another problem to tackle.