Kicad ground plane problems - Page 1
Forum section: electronics / general

author: mribble
author_rank: Regular Contributor
timestamp: May 23, 2014, 12:34:18 am
content: I have a 2 layer board that relatively dense by hobbyist standards. I'm trying to use the autoroute feature called freerouter to autoroute most of the signals. The problem I'm having is getting the ground plane to work correctly. I've searched online and most people say to keep your ground plane connected you need to name the ground plane <no net> before auto routing and then change it to <gnd> after auto routing. The problem with this method is there are large places in the board that there is no null plane and I can't easily route the ground plane due to the density of the board. If I name the ground plane <grd> before autorouting then autoroute just assumes the ground plane is connected and the ground planes aren't connected. These can't be easily connected because of the density of the board. However, the coverage is very good for the ground plane.What I want is a combination of these. I just don't know how to tell the autorouter that I want a ground plane on the bottom copper during autorouting and that I want to keep that plane connected.Ideas?

author: Neverther
author_rank: Regular Contributor
timestamp: May 23, 2014, 06:38:48 am
content: I assume you have ground named as GND in schematic, name gets to the netlist and you got GND net in pcbnew.Place components where you like, add ground fill tied to the GND net.I assume that at this point you are trying to run freerouter. You run it and import it back -> no ground paths at all.This is the freerouter doing it. You need to manually route the ground path so kicad can see it meets DRC spec.Freerouter assumes the groundplane is good enough and doesnt do actual path for the fill.You can do it after importing the autorouted traces.The people telling to rename the plane is way to get around it, but freerouter does vias to the groundplane so you just need to connect them using traces for the DRC (if design is loose enough, unlike in this case?)By manually adding the traces for groundplane, you might need to modify existing traces.If you try running freerouter after routing signals, deleting the fills to get the traces, it might fail where manually it would work.DRC check on freerouter is little more strict by default than on kicad (actually checked this just now, router was stuck but manually it worked as freerouter didnt like the angle the trace was on pad).Same applies if you use Vcc on top fill/whatever.Just route it without planes, then afterwards add ground fill and manually put vias into it?Hard to say without knowledge how crammed the design is.If it still fails, kick/rotate the components around a bit.

author: mribble
author_rank: Regular Contributor
timestamp: May 23, 2014, 09:27:49 am
content: Thanks for the comment.If I understand you correctly, there is no way to tell freerouter to just do the right thing.You mostly just went over the two options I mentioned. The one you added is a multipass on free route where the first pass has the ground plane. Then remove it and run freeroute again to force connections. I've tried this and it fails due to the density of my board.I think I'll just have freeroute do most of the work and then manually modify things as best I can to get the ground plane. This design probably doesn't need a ground plane anyways. This is all for the first revision of the board and I don't want to spend a huge amount of time hand routing when I know I'm going to need a second version later with significant changes...Thanks!

author: Neverther
author_rank: Regular Contributor
timestamp: May 23, 2014, 04:59:54 pm
content: So you got so much stuff on bottom plane there is no room for ground plane?Or just long traces across it so ground planes are isolated?

author: mribble
author_rank: Regular Contributor
timestamp: May 23, 2014, 11:51:56 pm
content: Neverther - mostly the second. There are a number of traces that cross and cut the ground plan into pieces and there are enough wires on the top layer that I can't find places to put vias to get around them. Since the ground plane looks pretty good (but not connected) if I run autoroute with the ground plane in place I think if freerouter knew the ground plane was supposed to be there and just did extra passes to try and fit in vias/traces to connect the ground planes it could do a decent job. I just can't see a way to tell it to do this...