[Solved] Pad and Copper Fill Not Connected

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.

Thanks, Andy

Tried version 7.0.10 and it doesn’t like the situation either, so something is wrong with my board layout, but not sure what.

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.

1 Like

I noticed that too and yes, I indeed do have a through hole. See images. Andy

Screenshot 2024-01-24 215312

Screenshot 2024-01-24 215329

Maybe you have an island there.

Use the cross-tracing facility to check that your GNDs are really only one GND in the schematic.

1 Like

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:

Obviously I need to add some stitching vias but I do that after getting everything connected, which is where I am at.

Adding the arrowed via has fixed the problem for GND pad 12 which seems to indicate KiCAD thinks the copper pour next to GND pad 12 is an island…

Screenshot 2024-01-24 222112

Andy

Here is another one of the unconnected errors.

It says the via I’ve marked as “1” is not connected to Zone [GND] on F.Cu, but there is no error for the via I’ve marked as “2”. ???

Screenshot 2024-01-24 223115

Andy

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.

1 Like

I specified GND when I created them. I’ve also deleted and recreated the F copper pour and still the same errors.

Thanks for your continued help with this - much appreciated.

Andy

I went crazy and added 502 stitching vias in a 4mm grid - no change, same unconnected errors.

Andy

In the Copper zone properties popup dialog there is a dropdown for Remove islands (Always/Never/Below area limit). What have you set it to?

I think this is beyond my pay grade. :person_shrugging:

1 Like

It’s a bit difficult to tell what is going on with just a few screen shots.
Really need the big picture.

1 Like

copper zone clearances under the QFP are tight. I think I’d bump them up 50%…

1 Like

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?

I’ve seen the occasional spurious Unconnected error in the DRC . . . never been able to re-create them and they have usually resolved themselves.

As I’ve not been able to reproduce the errors I can’t say for sure what fixed them . . . but I would try the following:

  • Update the PCB from the schematic
  • Re-fill the pours
  • Save all KiCad files, close all KiCad files and restart KiCad.
1 Like

jmk: What do you need? A screenshot of the board? The project?

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?

It is set to “always”. So that means I don’t have an island problem, right?

I tried all three of these - still have the unconnected errors. Worth a try though! :slight_smile:

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:

image

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)

1 Like