Solved: Ground Pour - Overwriting all other tracks

Hi,

I’ve created a new footprint (PL2) by merging a SMT and THT footprint together. I’m using this on a 4 layer board, where the outer layers and one inner layer have a Ground pour across the entire layer. The other inner layer has a +5v copper pour across its entire layer. The issue I have is that when one of the PL2 THT pads is connected to GND, the entire outer layers get flooded with copper, obliterating any other tracks on that layer. If I attach a different net to the THT pad, the flood works correctly with the correct spacing between the various tracks and the Ground pour.

PL2 THT Pad 3 attached to GND. No copper pour shown:

PL2 THT Pad 3 attached to GND. Ground pour shown, obliterating all other track:

PL2 THT Pad 3 attached to a different net. Ground pour shown, all as expected:

What am I doing wrong???

Application: KiCad PCB Editor x64 on x64

Version: 7.0.6, release build

Libraries:
	wxWidgets 3.2.2
	FreeType 2.12.1
	HarfBuzz 6.0.0
	FontConfig 2.14.1
	libcurl/7.88.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Jul  6 2023 04:56:45
	wxWidgets: 3.2.2 (wchar_t,wx containers)
	Boost: 1.81.0
	OCC: 7.6.3
	Curl: 7.88.1-DEV
	ngspice: 40
	Compiler: Visual C++ 1936 without C++ ABI

Build settings:
	KICAD_SPICE=ON

I’ve just updated to v7.0.7 and it seems to have solved it:

PL2 THT Pad 3 attached to GND. Ground pour shown, all other tracks now correctly shown:

Application: KiCad PCB Editor x64 on x64

Version: 7.0.7, release build

Libraries:
	wxWidgets 3.2.2
	FreeType 2.12.1
	HarfBuzz 6.0.0
	FontConfig 2.14.1
	libcurl/7.88.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Aug 14 2023 02:42:39
	wxWidgets: 3.2.2 (wchar_t,wx containers)
	Boost: 1.81.0
	OCC: 7.7.1
	Curl: 7.88.1-DEV
	ngspice: 40
	Compiler: Visual C++ 1936 without C++ ABI

Build settings:
	KICAD_SPICE=ON

This was reported as a bug on 2023-07-10 and fixed two days later:

1 Like

Actually, I think there may still be a residual bug here? The Thermal Relief gap setting still seems to be getting ignored.

The final picture in my first post shows several GND pads on the RHS with the appropriate gap. These gaps don’t exist in the picture on my second post, which was done on v7.0.7.

Have a good look at the commit log for 7.0 since the 7.0.7 tagging. There have been a few thermal relief fixes. The Testing builds include these

1 Like

Excellent. The latest Testing build has fixed it for me. I now have the correct thermal relief and spokes on my GND pads:

Application: KiCad PCB Editor x64 on x64

Version: 7.0.7-87-g95e6be0e81, release build

Libraries:
	wxWidgets 3.2.2
	FreeType 2.12.1
	HarfBuzz 6.0.0
	FontConfig 2.14.1
	libcurl/7.88.1-DEV Schannel zlib/1.2.13

Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW

Build Info:
	Date: Sep  6 2023 05:14:11
	wxWidgets: 3.2.2 (wchar_t,wx containers)
	Boost: 1.81.0
	OCC: 7.7.1
	Curl: 7.88.1-DEV
	ngspice: 41
	Compiler: Visual C++ 1936 without C++ ABI

Build settings:
	KICAD_SPICE=ON
1 Like

On some KiCad related website I read they expect there are still a bunch of residual bugs in that “Clipper2” library, and this may come back and need some more debugging effort in the future. But the usual problem is that it is very difficult to find bugs if you can’t trigger them somehow.

The good news though, is that a bug like this got fixed in two days after reporting. Finding an reporting bugs with test cases is an excellent way in which all “regular” KiCad users can help the developers. Developers are a very scarce resource for KiCad (there are 1400 issues open on Gitlab, and a few hundred of those are wishlisht items for new features). And when users spend some time in finding, analyzing and reporting bugs, then the developers have more time left over for actually writing code and fixing the bugs.

2 Likes

Would you do this to help continuity in your GND plane ?

1 Like

Yes, indeed it would. Thank’s for the suggestion.

In my defence, the PL2 footprint was initially a SMT only part, hence the original routing on the top layer. I then adapted the footprint by adding in a row of PTHs (I actually merged two footprints together) and then just lazily adjusted the already routed tracks! I then got distracted with the copper flood issue, so never really noticed the sub optimal track routing. I’ve now updated the board, and routed those tracks on the bottom layer, as per your suggestion.

2 Likes

When this thread wonders off towards ground plane design instead of KiCad bugs…
The current design is… atrocious. There just is not anything resembling a decent GND plane. On the level of RaptorUK’s suggeston, you can do a lot more. Ideally, there should not be any tracks at all on a good GND plane. But on a 2 layer PCB that is often difficult to achieve, but still you should strive to get as close as that as possible. There should never any gap in the GND plane that is bigger then a handful of mm. A 3mm gap is better then a 5mm gap. There are good reasons behind this, and you clearly have not given much thought about this yet. There are a bunch of very good youtube tutorials about GND planes and their importance to design them properly. Especially the Rick Hartley video is Highly recommended to watch (it’s from that other PCB design suite thingy) That video is (just) over two hours long, but it is worth watching.

But that said. GND planes are not always used. I am now working on a headphone amplifier kit, and It’s PCB uses mostly star grounding, combined with some other layout tricks to separate high current GND paths from signal GND paths, and this is a totally different approach and adequate for low speed analog design. But when dealing with digital signals and short rise and fall times, a decently designed GND plane becomes important, but also dependent on the technology used. Slow 8-bit uC’s and “old fashioned” logic are fairly tolerant, but for more modern electronics with steeper switching flanks, a good GND plane becomes mandatory. And especially when it is a commercial product and has to comply with EMC rules.

I take exception to that! I did say that this was a 4 layer board and that one of the inner layers also had a GND pour. There is nothing else on that layer.

2 Likes

I apologize. I missed that 4 layer part.

2 Likes

It just seemed like a “low hanging fruit” type scenario so couldn’t help mentioning it :wink:

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.