KiCad – Adding bridges / links to single sided PCB layouts

Any PCB Ive designed has been single sided due to my simple PCB etch process. Ive been using KiCad for schematic designs and decided to try to take a design from schematic through to full PCB layout. KiCad has certainly got a fair share of UI issues, but for me it seems to be holding up for what I need from it – until I needed to put a bridge (or link, whatever you call them) on the board layout. Of course a bridgeless layout is always what you strive for, but I expected there to be an easy way to put them into the design.

via-bridgesThe way you do these as to satisfy the actual ‘track’ or ‘connections’ required between components is to place a via, and then trace on the front side of the board, before placing another via and continuing on the back side. This satisfies the connection of the trace, but when you print out your copper mask for etching you’ll notice the via has a very small non-existent pad, so drilling/soldering your bridge wire will be tough.

via-bridges-print(Please excuse the trace width on these black and white mask plots, for some reason printing to an image format makes KiCad break the widths. Weirdly, it prints fine!)

The via holes are there and the pad just is not big enough. So, what I’ve done is created a pcb_helpers library and put it up on github, containing single pads to aid in this sort of thing.

add_moduleIf you download and add the .mod file to your library in Pcbnew (Preferences->Library) when you add a module to your layout you can select a single pad like above. Doing that, and placing those over the vias, works well.

via-bridges-pads-editor-printAs you can see, there is plenty of pad now available for soldering the bridge wire.

An issue which comes up is if you are bridging ‘zones’ or ‘planes’, like a groundplane.

groundplane_via_bridge_plotAs you can see above, the via holes are there, and the outline of the pad exists given the nip into the clearance of the vcc bridge pads, but soldering to that will be tricky due to the thermal qualities of that big green expanse of copper. What we want are thermal pads in this groundplane.

groundplane_bridge_pads_no_netnameAdding in the pad modules from my library produces the image above after you refill the zone. What we need to do is select the pads we just added, and change their net name.

groundplane_via_pad_netIn the design I’m working on, this is the analog ground plane, so the net is AGND. Once you set this for both pads and refill the zone, you’ll see thermal relief pads on the plane – that is if the zone params are set for thermal relief.

good_plane_bridgesAnd you can now see this plots well for the copper mask (again, sorry for the poor trace width, it even exists on the thermal relief – it really prints fine and is only when I plot to image this happens!)

You may have noticed in the pcb_helpers library there are modules called pad_agnd, pad_dgnd and pad_gnd. In the module editor you cannot set the net name, as it says the net does not exist. I manually edited the file in a text editor to add the correct nets, so you can just drop a pad_gnd pad over vias in your groundplane and when you refill the zone you’ll get a nice thermal pad.

I hope this is useful for people! I’m pretty new to KiCad and I did not see anything like this available, If there is an easier way to do it please tell me!

You can catch me, as always, on twitter at @domipheus.