I am unsure why the GND pad 12 and the GND copper fill on the front of the board are being reported as not connected. For good measure I added a track from the pad to the via but that didn’t make a difference.
Two layer board, KiCAD 6.0.7
The first two screenshots show me selecting the pad and then the copper fill in turn in the DRC Control window.
The last screenshot is after I ctrl-clicked on the pad to highlight the GND net.
According to DRC, the GND of F.Cu and GND of B.Cu are not connected. Don’t you have even one THT hole connecting the two layers? If not, then you need to connect them with at least one via.
It seems it is treating it as an island, but I can’t see why. Here I traced a continual path from the GND pad 12 to another THT that is connected to GND on F and B:
When you did the fills did you specify GND to connect to or did you connect them later? My experience is that it will not create an island if the connection cannot be made, leaving a blank patch.
But then I haven’t used any complex features like priority so don’t know all the ropes.
I am also guessing that you have a bunch of islands on this PCB. The routing of your tracks cuts the GND planes into a lot of pieces.
I would have expected that would get rid of at least a few of the (presumed) islands, but just throwing on a grid of via’s is far from ideal. Also, did you re-generate the zone boundaries (with b) after placing the via’s. I’m not sure if the via’s are recognized by DRC otherwise.
What do you think of this yourself. Can you see why KiCad marked it as unconnected / island?
Thanks. I understand the island issue, but why would one of the errors be that an SMD pad is not connected to the GND pour right next to it when it has extended the pour to the pad as part of the filling process?
KiCad does not know what the “main” part of a net is. If KiCad detects that not all pads in a net are connected to each other, it just takes a random pad of that net and puts that in DRC. When hunting for islands, it does not help to zoom in and post screenshots to show that a pad is connected to some part of a copper zone. Do it the other way around. Take two pads which KiCad shows as “unconnected”, and then try to follow the copper from one of those pads to the other.
Also, connections though thermal spokes can be troublesome. KiCad has: PCB Editor / file / Board Setup / Design Rules / Constraints / zone fill strategy / Minimum thermal relief spoke count By default it is set to 2, but I am not sure whether KiCad accepts it if one spoke goes to a zone section on the left, and the other zone section is on the right, and if that is the only connection between those parts. I spent a few minutes to make a test, and KiCad seems to accept this without complaining:
Also, overall you have made a maze of your PCB. Using horizontal tracks on one layer and vertical tracks on another layer was a very common technique … 40 years ago. In these modern times and with EMC regulations it is much more common to have one or more layers dedicated for a GND plane, and then do as much routing as possible on another layer. For a two layer boards it often is not possible to keep all routing to the other layer, but cutouts in the GND layer are kept to a minimum. (Preferably never longer then 5 to 10mm)