Home of PCB-Gcode-Wizard



This website is dedicated to the community of users who want to make Printed Circuit Boards (PCBs) CHEAPLY and without chemicals.

To accomplish this a CNC milling "isolation" operation is performed using very small tools at high RPM.

This website will provide tips and ideas, as well as projects you can make yourself.

Feel free to submit your completed, well documented project info if you want to show it off here.

Our email address is:









Specifically we choose to do the schematic and layout design in Cadsoft's EAGLE software (www.cadsoftusa.com).

Why? Because it has one really great feature, which is that it will compute the ISOLATION OUTLINES needed to cut around the copper traces.

No other software is really available at reasonable cost to do that. In addition, it allows users to write User Language Programs (ULPs) to do just about anything with EAGLE.

The only drawback is that the milling process is limited to lines/spacing down to around 8 or 10 mils (depending on how much you want to spend on cutters).

And, since vias are generally installed with soldered wires, you can't easily do multilayer boards.

But, you can prototype a lot of stuff just using two sided PCBs.


The process is generally this:


1) Enter the electrical schematic in EAGLE.

2) Layout the PCB artwork in EAGLE.

3) Run the PCB-GCODE.ULP program (from within Eagle layout ) to generate the Gcode text files needed by the CNC machine.

4) Use a Gcode editor/plotter/viewer to verify and optimize the Gcode files. A good one for this

     is the PCB-GCODE-WIZARD program available at this website for only $18.

5) Setup the CNC machine and mill the PCB isolation outlines using the verified Gcode file.


What is PCB-GCODE.ULP? It is a fantastic utility that allows you to specify the CNC settings for isolation and which layers you want to export.

Typically you output 4 files: top, bottom, drill, and milling (milling layer is the optional board cutout)

These files are standard Gcode text files specifying CNC X,Y, and Z moves. However, note that the Gcode we are

dealing with for PCBs is not like 3D CAD modeling, rather we only need to view it in the XY plane.

The latest version of PCB-GCODE.ULP can be found at the PCBGCODE.ORG website HERE.





Here is a typical partially milled board.

Note that most of the un-milled board is conveniently used for ground plane (that's why there are some drilled holes not using pads).

Not only does it reduce the amount of milling needed, but it will help high speed signal quality too.

It also will help you route the board when in layout, since you don't need as many individual GND signal traces.




Here is a microscope view of a different, very small board, milled with a 10mil diameter carbide 2-flute endmill (fairly expensive).

This is after sanding to remove burrs. The drilled holes are 13mil diameter, to accept standard 30 guage solid wire.

Cutting speed was 4 IPM, Z-down rate was 2 IPM, and drilling speed was 6 IPM, using a Proxxon MB/E tool at its top speed of 18K RPM.

The pattern you see here is for a 40 pin, 1mm pitch SMT connector. Pads are about 20mil wide, milling paths about 15mil wide.


Milling at 4 IPM sounds slow, but go to fast or use too fast Z-down, and the bit will break off immediately.

At 18K RPM and 4 IPM, the bit is eating up 4/18000 = .22 mils on each revolution. With a 10mil bit thats about 2% of the tool diameter.

Compare that to, suppose we were lucky enough to have a kickass high speed commercial machine, and doing 3D milling on aluminum:

60,000 RPM, 32 mil diam tool, 3% tool advance per rev (about 1 mil) ----> that would give 57.6 IPM (about 1 inch per second).


As a rule of thumb, a safe feedrate for very small milling bits (under 20 mils diameter) is about 1% of the diameter per revolution.

By the time you get up to a stiffer 32 mil bit, 3% is probably safe. If you go too slow then the bit isn't cutting, its more like just rubbing

the copper out of the way, and you will wear out the bit faster. Also, I like to spray some WD-40 on the board while its being cut.


So you can see, don't expect to do fine pitch PCB milling too fast! Just be patient...its all about saving money on prototypes.



Here is another option instead of using expensive 2-flute endmills.

30 or 60 degree "V tip" engraving cutters work fine, if your machine table accuracy allows the depth of cut to be very uniform across the PCB area (say +/- 0.5 mil or so).

Here is a microscope view of a hand-sharpened carbide tool, used as a 30 degree tip milling bit, and used to cut 10 to 20 mil

isolation paths (depending on Z depth used). The cut won't be as clean as an endmill, but after sanding its not really too bad.




Here is an "as milled" test cut showing 15 mil cuts with fairly ragged edges, using the above V-tip tool .




Although the above photo looks pretty bad, after light sanding this is what you get.

Not a bad option if you don't like paying for expensive end mills.




Here is a completed board, about 4" x 6". The uneven grey color is the result of "tinning" it using a chemical bath to put a thin solder-like

coating on the board, to make soldering parts easier later. You can get "Liquid Tin" from the MG Chemicals.




Here is another example board, this one is 3 x 3 inches and used a 15 mil endmill. Drilled holes are 16 mil. All components use 50 mil pitch

SOIC pads and size 1206 resistors and caps. You can see some drilled holes that are in the ground plane, which connects to the ground plane

on the other side (its actually a double sided board). The traces here are about 20 mils wide. You should try to use the widest traces that you

can route, even if you could mill thinner ones (except when trace impedance matters). I also like to use octogonal pads for thru vias, because

it helps me see which ones I have to solder wires into later (here they are about 60 mil diam). Since my machine doesn't do tool changes,

I drill all holes the same diameter, and come back in and manually drill out the larger ones with a small drill press. Note, this PCB material

started with a nice solder plating instead of just bare copper, that made it easier to solder without having to use the tinning chemicals.





Here is a good quality tool made by Proxxon, model 38481 IB/E, designed for longer running times and less tool runout (wobble or looseness).

It mounts well due to the machined 20mm diameter round front end, and straight side runners. Here it is held against a nylon spacer plate.

The unit costs about $150 on Ebay, and comes with very good quality STEEL collets. Most tools for PCB milling will use a 1/8" shaft only.



Now if you only want to spend say $50 to $80, you can go for a Dremel tool or similiar.

Here is the Ryobi Multi-Tool, that seems to have better bearings than a Dremel, but unfortunately, they don't make it anymore! If you use a Dremel, just

make sure you get one with ball bearings, not the bronze sleeve bearings. Single speed is OK, since you probably won't be running it at

anything other than top speed. They are a bit difficult to mount however, due to the body shape.




Here is an inside view of the bearings used. Similiar to Dremel. The bearings need to fit tight or you will get too much spindle runout (wobble).