Can't understand why these pads did not connect... and no DRC error

[?Maybe this should be under a different category, please let me know and I’ll happily change it.]

I must be doing something wrong. All looked correct in Schematic with my battery holder,
image

…but in layout, the pads were not connected to the ‘Filled Zones’.
image

image
LiPo-8,4V_Out_MIC2253-2025-08-26_120838.zip (284.7 KB)

After getting the PCBs and populating them, nothing worked and discovered that these did not connect (I did not get any DRC errors). Fixing the isolated pads fixed the issue on these PCBs, but I’m hoping to understand what error I made, so I can keep from repeating it and can help worn others.

I’m guessing my issue was in my footprint, but I’m not sure. I was able to change the net manually…
image

image

… but I would not have thought to look closely to be sure as I saw no warnings. Is this a bug?

Windows 11
v9.0.4

Did you assign the correct net to each filled zone at creation?

Yes. GND and ‘Net -(BT1-+)’

On the second set of screenshots, you can see that the zones filled fine once I manually set the pins’ nets.

FYI- The zip file was a backup from before I manually set the pins’ nets, if that helps any.

Sorry I’m still on v8 so someone else will have to look at your design. But if you had to set the pads’ nets manually, something is wrong. They should acquire their nets from the schematic. Maybe there was a mismatch between the symbol and footprint. Normally symbols have pins numbered from 1 up as should the footprint pads. Otherwise there will be a message when updating the PCB from the schematic.

Where did you get that footprint with the trapezoidal pads from? Sorry if it’s all in the zip file. Hope someone can look at it.

I made the footprint and thought it would be interesting to mess with the wild pad options.
I thought I kept the pins numbered the same as the battery symbol so all would jive, but I may have hosed something.

image

Not connected to the Zone, after B . . .

image

Again, not connected to the zone . . .

image

and again after B . . . .

image

Follow up . . .

If you don’t have “Refill all zones” set in DRC you would get Unconnected items . . .

image

But generating burgers, er gerbers, would have triggered a zone refill and the boards should have been correct.

I’m suspicious of the step to assign nets to the pads manually. A correct workflow doesn’t need this.

2 Likes

From what you write and show (I’m like others in V8) it looks that you set net of zone fill using KiCad generated net name. I have never tried it, as KiCad generates wire net names based on any pin connected to the wire so I assume it can change at any time. Whenever I use zone for any net I set net name myself and not wait for KiCad for its random net name.

I am a bit confused by this post. bgwiz is on this forum since 2016, and I assume he’s got enough experience to “skip the obvious reasons”.

I do agree with Piotr. Using auto generated net names for zones is bad practice, but it should still trigger DRC violation messages.

But still, Everybody forgets things now and then. Maybe a final run of DRC was skipped somehow. But it’s mostly speculation and guesswork.

1 Like

What I mean by set/assign manually…

image

…if it helps any.

Yeah, I appreciate the idea, but I had that checked…
image

For some unknown reason it just did not assign the net name to those pins. I made the footprint so I likely screwed something up. Trying to learn so as not to repeat this (and be able to trust the DRC!)

Not sure if this would help any…
image

Maybe missing something obvious ¯_(ツ)_/¯

There’s a bit of a weird thing here. How does KiCad devise the Net-(BT1-+) net name? This implies that the pin name of BT1 in your schematic is + but you used a footprint with pad numbers 1 and 2. As a result, KiCad will trow up an error / warning during Update PCB from Schematic [F8], but it can’t add the battery pads to the netlist, because the pad numbers/names don’t match with the schematic. That means that while working on the PCB, the battery terminals are not part of the netlist, and DRC also treats the battery as a footprint with no wires attached. and that is why you had to add them manually.

KiCad would have shown the pin name mismatch with the footprint number during Update PCB from Schematic [F8]. But there can be a lot of messages in that dialog, and it’s easy to skip them.

It all seems pretty clear in retrospect.

1 Like