Printed circuit board milling
is the process of removing areas of copper
from a sheet of printed circuit board
material to recreate the pads, signal traces
and structures according to patterns from a digital circuit board plan known as a layout file
. Similar to the more common and well known chemical PCB etch
process, the PCB milling process is subtractive: material is removed to create the electrical isolation and ground planes
required. However, unlike the chemical etch process, PCB milling is typically a non-chemical process and as such it can be completed in a typical office or lab environment without exposure to hazardous chemicals. High quality circuit boards can be produced using either process. In the case of PCB milling, the quality of a circuit board is chiefly determined by the system's true, or weighted, milling accuracy and control as well as the condition (sharpness, temper) of the milling bits and their respective feed/rotational speeds. By contrast, in the chemical etch process, the quality of a circuit board depends on the accuracy and/or quality of the photomasking
and the state of the etching chemicals.
A PCB milling system
is a single machine that can perform all of the required actions to create a prototype
board, with the exception of inserting vias
and through hole plating
. Most of these machines require only a standard AC
mains outlet and a shop-type vacuum cleaner
for operation (vacuum and setup are covered later in this document).
The mechanics behind a PCB milling machine are fairly straightforward and have their roots in CNC
milling technology. A PCB milling system is similar to a miniature and highly accurate NC milling table. For machine control
, positioning information and machine control commands are sent from the controlling software
via a serial port
or parallel port
connection to the milling machine's on-board controller
. The controller is then responsible for driving and monitoring the various positioning components which move the milling head and gantry
and control the spindle
speed. Typically this drive system comprises non-monitored stepper motors
for the X/Y axis, an on-off non-monitored solenoid
or pneumatic piston
for the Z-axis
, and a DC motor control circuit
for spindle speed, none of which provide positional feedback. More advanced systems provide a monitored stepper motor Z-axis drive for greater control during milling and drilling as well as more advanced RF spindle motor control circuits that provide better control over a wider range of speeds.
X and Y axis control
For the X and Y axis drive systems most PCB milling machines use stepper motors that drive a precision lead screw
. The lead screw is in turn linked to the gantry or milling head by a special precision machined connection assembly. To maintain correct alignment during milling, the gantry or milling head's direction of travel is guided along using linear
or dovetailed bearing(s). Most X/Y drive systems provide user control, via software, of the milling speed, which determines how fast the stepper motors drive their respective axes.
Z axis control
Z axis drive and control are handled in several ways. The first and most common is a simple solenoid
that pushes against a spring. When the solenoid is energized it pushes the milling head down against a spring stop which is attached to a pressure foot assembly that limits the milling head's downward travel. The rate of descent as well as the amount of force
exerted on the spring stop must be manually set by mechanically adjusting the position of the solenoid's plunger.
The second type of Z-axis control is through the use of a pneumatic
cylinder - this system functions in the same manner as the solenoid type, pushing against a spring stop/pressure foot assembly. Air for the cylinder is provided by an external compressor
with the air flow being controlled by a manually operated regulator
and software driven gate valve
. Due to the small cylinder size and the amount of air pressure
used to drive it there is little range of control between the up and down stops. Both the solenoid and pneumatic system provide no positional feedback
while in motion, and are therefore useful for only simple 'up/down' milling tasks. The final type of Z-axis control uses a stepper motor with dynamic positioning feedback. This system allows the milling head to be moved in small accurate steps up or down through its whole range of vertical motion. Further, the speed of these steps can be adjusted to allow tool bits to be eased into the board material rather than hammered into it. The depth (number of steps required) as well as the downward/upward speed is under user control via the controlling software.
PCB's may be machined with conventional endmills, Conical D-Bit cutters and Spade Mills, D-bits and spade mills are cheap and as they have a small point allow the traces to be close together.
Speeds / feeds
Cutting speeds of up to Vc = 40 m/min are suitable for general machining, Feedrates of 0.1mm/rev at a depth of 0.1mm are suitable for D-bit cutters,
Drilling feedrates of up to 4.5% of the drill diameter per rev at up to 180m/min are possible for via's,
Economics of PCB milling
Taylors equation Vc Tn
= C can predict tool life for a given surface speed, At low cutting speeds the values were found to be approximately Vc T0.46
= 57, As Taylor is only linear over short distances this may be incorrect for higher surface speeds. As VC increases the machining time falls but the cost of cutters rises. for a hobby machine a Vc as low as 3 m/min may be best. For mass production a VC of up to 180 m/min may be best if the cost of cutters is low and the machine overheads are high.
Direction of cut
If no burr is desired on the trace side then conventinal milling the trace profile will produce a better result on the trace side.
Depth of cut
The cutter depth should be as shallow as possible to avoid the hard glass fibres in the board. If the depth is too deep and a trace is too narrow then plucking of fibres from underneth the trace will occour. The glass fibres will also cause the cutter to deflect giving an uneven finish at the trace edge.
Eagle Add-on: http://groups.yahoo.com/group/pcb-gcode
Linux Project: http://sourceforge.net/projects/gerbertogcode
Voroni Toolpaths: http://www.mit.edu/~vona/publications/Vona_Rus__2005__Voronoi_toolpaths_for_PCB_mechanical_etch_Simple_and_intuitive_algorithms_with_the_3D_GPU.pdf