I just received my non-functional PCBs in the mail today. After some investigation, I realized that I have a rather-overt mistake on my part in which a wire is floating and not connected to where it should. As usual, it baffles me how I could make such a mistake.
It seems that the ERC is mostly concerned with pins. That makes sense…to a point. The only flaw in this is that ERC is happy as long as the pin is connected to one other node…even if more nodes are required. I certainly don’t expect Kicad to read my mind when drawing the schematic, but it would be nice if it could tell me if I had inadvertently moved a wire in the schematic.
Is there a way to set the ERC in Kicad to give a warning for any unconnected, floating wires?
An error/warning if 2 ends of a wire are disconnected would be a start.
Can you give an example of when a pin is intentionally connected to a wire within the Kicad schematic and that wire is left floating on the other end? I’m afraid my lack of experience or imagination is limiting me here. I generally strive to make sure none of the green, unconnected boxes exist by the end of a design but I’m always winging it by that point.
Here’s an example showing a simple schematic as intended by the designer, and four ways to draw it incorrectly. Note that two faulty representations already have unconnected wire ends terminated in the small, green squares.
Case 0 should check out provided pin definitions are correct (i.e. no I/O collisions etc.)
By running an ERC case2 actually becomes case 1 since the Kicad automatically removes dots with only two connections.
After that the rest is a philosophical matter. How is any given system to assume what is meant in case 1. A rather complex analysis could be deployed to make some guesses. Tricky stuff here.
Case 3/4 should definitely raise at least two warnings. Unconnceted wire, and a loose wire end.
Hey, I think I just now have a great idea! Lets put 50mil junction dots everywhere a label is connected to green line? Should I file a bug report for this missing junction dot?
Simply speculating where this will go once certain others figure out that the junction dots are missing from labels…
Same as before with the Bug Report that I believe actually fixed this issue:
I’m fairly certain that KiCad now/currently adds junction dots to junctions with only two connections, where it did not before. Along with that change, was the change to force the size of the junction dots to minimum that that was a percentage larger than the wire width.
@Seth_h I thank you very much for the one fix I have been waiting so long for; getting rid of needless Junction Dots. I only fear that history will repeat itself and I’ll have very many big green dots in my schematic again only a short time in the future.
Hm i can not reproduce it by removing a wire in such a case (the expected way to reach that state)
Or did you mean a manually added junction is not removed by ERC? (I doubt ERC is meant to do that but could be a side effect of recalculating the schematic.)
For me, junction dots are an essential information. They signal exactly what they are named after.
So case 2 is an error. There is no junction, so the dots were placed there with a different goal that doesn’t make sense.
Case 3 is an error, because the signal ends nowhere, but why is there a line? User has to correct that.
Case 4 is an error. A signal line without any signal has no purpose.
We sometimes do have brain farts, and I really like it if the CAD at least catches a few of them.
It has to be clear, precise and strict with the rules.
I see no reason to place junction dots or dead end lines on a schematic. It only confuses others and after a few years even you.
Case 2 can not “naturally” ocour in current kicad versions. Meaning it was delibriatly constructed using the add junction tool. Maybe the add junction tool could ask if one really wants to do such a thing. (Removal at erc run seems more like treading symptoms instead of dealing with the real problem. )
That’s OK!
But why was it added deliberately? Makes no sense, possibly was a mishap, user was interrupted by $whatever. So this should generate an error.
Automatically removing it during DRC doesn’t seem to be good to me. There is a reason why the dot was there in the first place.
I don’t understand at all why junction dots are manual. They should be fully automatic: they are in every junction and nowhere else, or just nowhere (depending on preferences). And of course not in pin/wire or label/wire etc. connection points. They should be a visual feature of wire/wire junction.