I’m a new user of KiCad, and still getting to grips with the software. However, I was wondering if anyone has advice / tricks that might be useful for “kitchen sink” PCBs. I’m just completing my first design and about to get onto prototyping.
My process
When I’m developing a product, I typically etch a number of PCBs myself for testing before moving to a PCB fab. This has the benefit of allowing me to test variations of designs much more rapidly (and cheaply) than waiting on a PCB fab for each revision. Of course, I’m limited to 2-layer, but the majority of my designs are 2 layer anyway so that’s not so much of an issue.
My previous software of choice was RS DesignSpark PCB.
My process is:
-
Design the PCB
-
Add corner markers (in the form of a couple of through-hole pads at the corner extents of the PCB material),
-
Print the layers (top layer mirrored) in toner on cheap inkjet photo paper, line up the prints and kapton-tape into a pocket with toner facing inward.
-
Insert a clean double-sided board, iron (while applying lots of optimism), wash then etch.
-
Export a DXF with the board outline and all through holes (including vias)
-
Use an ancient 2D CAD package to offset the PCB outline by 1/2 my milling bit width.
-
Manually drill the corner locator holes.
-
Import the modified DXF into LazyCAM to produce G-Code to mill and drill the PCB with Mach3 and a cheap, Chinese A4 milling machine.
For the milling and drilling, I produce separate GCode files for each tool - first running the corner locator GCode to put a couple of holes in my milling bed on which I can pin the PCB for subsequent operations.
KiCad complications
Doing all this in DesignSpark was relatively straightforward, as the DXF export includes all through holes as circles, and the PCB outline as a polyline. KiCad has complicated things a little, but I believe I have a process that works now.
Exporting the PCB outline results in a collection of individual line segments as well as all TH component holes (but not vias). I’ve had to use a tool in the 2D CAD package to combine these into a polyline before I can apply the offset operation, and I need to ignore any TH holes while I’m at it.
To get all the through holes including vias, I need to export a copper layer as DXF. This results in all the tracks being exported as well - however in LazyCAM, I use “Drill Rad Circles”, so only the holes are identified as drill locations and the rest can be ignored.
I can then overlay the modified outline DXF with the copper DXF to get all the features I need into one file.
The “question” as it were.
I’m wondering if there is a far simpler way of doing all this that I’ve just not realised yet! So I’d love to see anyone’s thoughts on this. Also, I’m happy to elaborate on anything in my process if requested.
Obviously, etching your own PCBs isn’t really worth it unless you’re in a hurry (I’ve seen many posts from people who think that doing so is complete madness). But I can attest to its value in rapid prototyping when there’s a customer needing something developed in a hurry. It also cuts down substantially on duff PCBs from the PCB fab.