How to find out if you are shorting the power plane to ground

Hello,
I am currently building a board based off the ATSAMD21. I recently received them from OSHpark and noticed one painful error: the 3.3v plane (top copper) was shorted to the GND plane (bottom copper) after checking my board I found a simple mistake.
The resistor in the upper right should be connected to 3.3v, the top plane. But I forgot to press the “B” key to refill the area. The corrected image is below.
I ran DRC, examined my board a handful of times, but this error still went unnoticed and I somewhat wasted $20 on my boards. Is there any way Kicad can detect this error so it doesn’t happen again? btw I was able to salvage the boards with a razor blade and luckily only one pin is not functional.

Sadly I can only do one image a post so here is the fixed board:

I’m not quite following the issue ?
Did DRC Unconnected not report this as unconnected ?
Or was it connected, but you also had a previous flood that was ‘bad information’ ?

It sounds like a fix for this would be to always reflood before generating gerber, so as to ensure you always have current Flood info ?
I just checked this, and it seems KiCad does not warn FIood may be old, nor does it generate a new-flood.

@Mach_5 did you upload gebers or kicad file to OshPark? It is maybe something they can fix in their script.

Running DRC does an automatic zone fill, but plotting gerbers (or other output I guess) does not. That could be seen as a deficiency; maybe there are times when a zone fill is undesirable?

I have a fairly extensive checklist I follow with Kicad, so generating gerbers I always do DRC, plot gerber, plot drills.

I don’t understand why the drills is a separate operation to the gerbers, it’s an extra thing that is easy to forget. Once I did forget, but the board house picked it up.

I used to hope these sort of interface issue would get cleaned up in KiCad, maybe one day they will.

1 Like

I checked, & Gerber does not refresh fill/flood, and also ignores the no-flood display toggle, so always plots flooded.
ie you cannot turn off flood, so you should always ensure it is current-flood.

That’s what I’d call a structural design flaw that should really be fixed, that falls somewhere between a bug, and a feature request, so I filed a bug report.

Yes, that should be a tick-choice somewhere in the Generate Gerber , so you can create new copies of ALL FAB info, in one mouse click.

1 Like

I also do a fresh fill before I check out the gerbers.

Yep, but Kicad should warn you if you forget or at least warn you that VCC is connected straight to ground. :expressionless:

Hehe, yes we all would try to remember to do that, but such a step is easy to forget, and I think the tools should never use old flood info.
Other EDA tools reset their flood flags when parts are moved, or traces moved, and they either auto-reflood, or nag on the Gerber Screen.
This should be a low-effort fix, to add auto-flood on gerber entry ?

If you check for bugs (or better when KiCAD does for you) it refills before it checks.
Would be nice to have an automatic refill before you check out gerbers, sure.

1 Like

It seems easiest to me to just auto-reflood before plot, and that means you always have current fill info.
The other DRC checks should find & report not-connected issues ?

Addit : I created a bug report here


that requests the current default be changed, to always reflood on Gerber Menu Entry.
ReFlood is fast, and this always guarantees current & valid flood.

This could have an option-switch, for possible future situations where floods may be more post-flood editable.

Forced refill of zones when creating Gerbers is an absolute no-go.

For some geometries (e.g. circles) the only quick and painless way to force a user-defined pull-back for zones from the board-edge is to temporarily change the outline, then fill & go back to the real outline. This workaround would be killed off.

OK… hence my suggestion of an option, which for these rare cases. (which can be expected to be fixed over time)
Why not use an edge cut of the smaller/larger size, to define the fill border, if you need it different ?
(shifts the workaround)

Huh? I think that is exactly what I did.

I was meaning do not keep changing it, instead use two outlines, on different layers if necessary.

I understand it like tihs:
@madworm changes the circle from madworms.layer to Edge.Cuts, runs the fill operation (which now creates the zone fill as he wants it) then changes the circle back from Edge.Cuts to madworms.layer.

The only other option I could offer would be a permanent circular no-fill zone (created outside of KiCAD) - but a hassle if stuff is still on the move compared to how @madworm is doing it now.

1 Like