How to Make a PCB CNC Machine at Home
This guide is for engineers and makers who want to make PCB CNC machine at home that actually hold trace width. We cover frame choice, spindle runout, isolation depth, stepover, probing, and the mistakes that scrap boards. Read it and you can size the machine to your smallest feature before you buy a single part.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Key takeaways
Which frame and spindle make PCB CNC machine at home work
If you want to make PCB CNC machine at home that reliably holds 0.2 mm traces, the first decision is not the spindle. It is the frame. A moving-gantry router with a single 20 mm rail per side will deflect under a 0.3 mm cutter load, and the cutter will cut deeper on one side of the board. Aluminum extrusion with 40 × 40 mm profiles and dual rails per axis is the practical floor. Moving-table designs are stiffer for small boards up to 200 × 300 mm, but they need more floor space.
Spindle choice follows the frame. For isolation routing on FR-4, a 300–500 W air-cooled spindle at 12,000–18,000 rpm is enough. Higher rpm gives a cleaner cut because the cutter shears fiberglass instead of tearing it. A 1.5 kW water-cooled spindle is only worth the extra mass if you also plan to drill 0.8 mm holes all day or cut aluminum fixtures. On a light frame, that extra mass causes the deflection you were trying to avoid.
Runout matters more than torque. Measure total indicated runout at the collet with a dial test indicator. Anything above 0.01 mm will produce uneven trace widths, because the cutter is not cutting on its true centerline. Use an ER11 or ER16 collet, clean the taper before every tool change, and replace bent cutters. A single 0.1 mm deep scratch on the collet seat can add 0.02 mm of runout.
Budget the electronics honestly. Stepper motors with a 1.8° step angle and a 1/16 microstep driver give 0.0031 mm resolution on a 5 mm pitch ball screw, which is enough. Lead screws with anti-backlash nuts work on a tight budget, but expect 0.05 mm backlash unless you compensate in software. A probe input and a spindle relay are mandatory. Without probing, you will chase depth error on every board.
Setting isolation depth and stepover for your smallest trace
Isolation routing removes copper around a trace. The depth of cut controls how wide that removed channel becomes. At a 30° V-bit, a 0.05 mm depth produces roughly 0.09 mm of channel width per side. A 0.08 mm depth produces about 0.14 mm per side. If your smallest trace is 0.2 mm and your clearance is 0.2 mm, a 0.05–0.08 mm depth leaves a usable channel without cutting into the trace.
Stepover is the overlap between adjacent passes. For 0.2 mm traces, use a 0.05 mm stepover on the finishing pass. For 0.4 mm traces and wider, 0.1 mm is fine and cuts run time by half. Never use a stepover larger than the cutter's effective cutting width. On a 30° V-bit at 0.06 mm depth, the effective width is around 0.12 mm, so a 0.1 mm stepover leaves uncut slivers of copper.
Feed rate for FR-4 with a 0.2 mm V-bit sits between 200 and 400 mm/min at 15,000 rpm. Start at 250 mm/min and listen to the cut. A high-pitched squeal means the cutter is rubbing, not cutting. Increase feed or reduce rpm. A low rumble with visible dust means you are cutting too slow, which dulls the tip fast. Carbide V-bits last 20–40 boards on FR-4 before the tip chips.
Drill after routing, not before. Routing moves the board slightly if you use double-sided tape. If you drill first, the holes will be off by 0.05–0.1 mm after the routing pass. Use 0.8 mm carbide drills at 12,000 rpm and 100 mm/min peck drilling with a 0.5 mm peck depth. Clear chips with air, not coolant. FR-4 dust is abrasive and coolant turns it into a paste that clogs flutes.
Holding the board flat and probing the copper
A PCB is not flat. FR-4 panels from different suppliers vary by 0.05–0.15 mm across a 100 × 100 mm area. Double-sided tape compresses unevenly. If you set Z once at the corner and cut the whole board, the center may be 0.1 mm deeper and cut through the trace. Probing fixes this. Touch off on the copper at 5–9 points across the board, then let the controller apply a height map.
For probing, clip the probe lead to the copper pour and use a 3 mm touch probe or a stiff wire. Set a probe feed of 50 mm/min and a retract of 1 mm. A slow probe feed prevents false triggers from vibration. Run the probe grid at 10 mm spacing for boards under 100 mm, and 20 mm for larger boards. More points cost time but reduce depth error.
Vacuum holding is better than tape for production runs. A 3 mm phenolic vacuum plate with a 1 mm groove pattern holds the board flat within 0.02 mm. For one-off boards, use 0.2 mm double-sided tape and press the board down with a roller. Avoid clamps that bow the board. A bowed board will cut shallow in the middle and deep at the edges.
Clean the copper before probing. Oxide and fingerprints add contact resistance. A quick wipe with isopropyl alcohol and a lint-free cloth is enough. If the probe does not trigger reliably, the controller will drive the tool into the board. Set a probe travel limit of 2 mm and a timeout of 3 seconds as a safety net.
Fixes for the four failures you will hit first
Traces cut through in the middle of the board. This is a depth error from board warp, not a CAM error. Add probing points at 10 mm spacing and re-run. If it still fails, the bed is not flat. Face the spoilboard again and check with a dial indicator on a 100 mm sweep.
Copper slivers bridge adjacent traces. The stepover is too large for the cutter's effective width. Reduce stepover to 0.05 mm or switch to a 45° V-bit, which has a wider effective cut at the same depth. Inspect with a loupe before soldering. A bridge that survives soldering becomes a short.
The V-bit breaks on the first plunge. Usually the plunge feed is too fast or the Z zero is wrong. Set plunge to 50 mm/min and use a ramp entry instead of a straight plunge. Verify Z zero on the copper with a multimeter continuity check before running the job.
Trace width varies from left to right. The gantry is twisting or the board is not held flat. Check rail parallelism with a dial indicator. Re-tape the board and press it with a roller. If the variation follows the X axis, the bed is out of tram. Shim the spoilboard and re-face it.
Step by step: build and cut your first board
- 1Level the bed and tram the spindleFace the spoilboard with a 6 mm flat end mill at 0.1 mm depth, 800 mm/min, 12,000 rpm. Then tram the spindle with a dial indicator on a 50 mm arm. Adjust until runout across the sweep is under 0.02 mm.
- 2Set tool length and probe the copperTouch off the V-bit on the copper at 5–9 points. Use a 50 mm/min probe feed and 1 mm retract. Apply the height map before any cutting move.
- 3Run the isolation pass0.05–0.08 mm depth, 250 mm/min, 15,000 rpm, 0.05 mm stepover for 0.2 mm traces. Watch the first 20 mm. Stop if the cut is white dust instead of fine fiberglass strands.
- 4Check trace width with a loupeMeasure three traces across the board with a 10× loupe and a reticle. If width varies by more than 0.03 mm, your bed or board is not flat enough. Re-probe with a finer grid.
- 5Drill the vias and pads0.8 mm carbide drill, 12,000 rpm, 100 mm/min, 0.5 mm peck. Drill after routing. Clear chips with air after every 20 holes.
- 6Deburr and inspectScrub with 800 grit paper on a flat block, then inspect under 10× magnification. Look for copper slivers bridging traces. Remove them with a scalpel before soldering.
Which home PCB CNC setup fits your trace size
Pick the class that matches your smallest trace and board count.
| Setup | Smallest trace | Best for | Main limit |
|---|---|---|---|
| Lead screw router, 300 W spindle | 0.4 mm | One-off boards, 100 × 100 mm | Backlash 0.05 mm, slow feed |
| Ball screw router, 500 W spindle | 0.3 mm | Small batch, 200 × 300 mm | Frame deflection at high feed |
| Moving-table mill, 800 W spindle | 0.2 mm | 0.2 mm traces, tight tolerance | Small work envelope |
| Cast iron base, 1.5 kW spindle | 0.15 mm | Repeated runs, drilling | Weight, floor space, cost |
| Probed router with height map | 0.2 mm | Any warp-prone FR-4 | Setup time per board |
Common questions
Can I make PCB CNC machine at home cut 0.15 mm traces?
Only with a rigid frame, ball screws, and a spindle with runout under 0.005 mm. At that scale, board warp and copper thickness variation dominate.
Most home builds hold 0.2 mm reliably. For 0.15 mm, probe at 5 mm spacing and cut at 0.04 mm depth with a 30° V-bit.
What spindle speed should I use for FR-4?
12,000–18,000 rpm for isolation routing with a V-bit. Lower speeds tear fiberglass and leave burrs.
For drilling, 12,000 rpm with a 0.5 mm peck depth works on 0.8 mm carbide drills.
Do I need a vacuum table?
For one-off boards, double-sided tape is enough if you press the board flat with a roller.
For more than five boards a day, a vacuum plate saves setup time and holds flatness within 0.02 mm.
How do I stop the cutter from cutting too deep in the middle?
Probe the copper at multiple points and apply a height map. FR-4 warp of 0.1 mm across 100 mm is normal.
If the error remains, re-face the spoilboard and check gantry rail parallelism.
Can I cut aluminum on the same machine?
A 500 W spindle on a stiff frame can cut 6061 aluminum at 0.2 mm depth, 400 mm/min, with a single-flute end mill.
Expect to re-tram and clean the machine after. Aluminum chips contaminate the spoilboard and affect probing.
When should I send the board to a machine shop instead?
When the smallest trace is under 0.15 mm, when you need more than 50 boards, or when the board has blind vias.
A shop with 5-axis capability and ±0.005 mm tolerance will hold trace width better than any home router.
Need production boards instead of a home build?
Send your Gerber and stack-up. We quote and return a DFM analysis within 12 hours, and parts ship in 3–5 days.
12-hour quote100% inspectionNo MOQNDA on request