Friday, April 10, 2009

Free Software for PCB Milling

Most of us are propably either using perfboards or a breadboard/PCB etching combination to build electronic circuits. Especially perfboards are a great choice for beginners and intermediate hobbyists, and i've used them myself for years, but at some point soldering all those wires onto the board starts to suck.
Due to their cost, CNC mills and routers are still pretty scarce even amongst dedicated hardware hackers, but it's just great to be able to create your own fairly high-quality PCBs quick and without too much effort.
This article lists free software i am using to mill circuit boards on my home-built gantry router.

Schematic and layout

First of all, you usually need to draw a schematic.
Many hobbyists seem to use Eagle, but it's proprietary.
On the free software side, there are mainly Kicad and GNU EDA.
While Kicad comes with it's own layout editor, gEDA relies on UNIX pcb and an easy to use converter tool (gsch2pcb).
All those programs (including eagle) are available through the ubuntu repositories.
I am currently using gEDA/PCB, which is a well working combination IMO.

Calculating toolpaths

After you've finished your layout, you need to calculate toolpaths for your CNC machine. If you are using Kicad or gEDA, you have to export Gerber (RS-274X) files instead of generating RS-274NGC G-Codes directly. To convert those to G-Codes, I recommend using pcb2gcode, a command-line tool in the development of which i am currently actively involved in. Be sure to try the gerbv branch first. Alternatively, gCam is a sound choice (GUI, bit buggy).

Update: The pcb2gcode gerbv branch is now in trunk.

There's more info on the mechanical part of PCB milling and Eagle on

More pictures here