DIY PCB Factory: CNC Circuit Guide
Milling a circuit board on a CNC router is fast, cheap per iteration, and unforgiving about flatness. This guide covers the six checks we would run before cutting copper on a DIY PCB factory setup, and the point where sending the job out costs less than the evening you spend on it.

Six checks, in order
DIY milling versus a machined substrate
Use this when you are choosing where a given board should be built.
| Factor | DIY PCB factory | Outsourced machining |
|---|---|---|
| Typical trace / gap | 0.15 mm / 0.20 mm | 0.10 mm and below |
| Layers | 1, sometimes 2 | 2 to 6 in one stack |
| Setup time per design | 20–60 minutes | None for you |
| Copper thickness | 35 μm foil, 70 μm with effort | 17 μm to 105 μm |
| Board flatness | Depends on your fixture | Vacuum table, controlled |
| Volume sweet spot | 1 to 10 boards | 1 to 10,000+ parts |
| Best use | Internal prototypes, quick fixes | Production, fine pitch, certification |
How a DIY PCB factory cuts a circuit
A DIY PCB factory is a small CNC router with a spindle that spins a V-bit or a flat end mill across copper-clad laminate. The tool does not print anything. It removes the copper you do not want between traces, leaving the copper you keep, then cuts the board outline. Everything else, soldermask, silkscreen, plating, happens outside the machine or not at all.
The bit geometry matters more than most people expect. A 30° V-bit with a 0.1 mm tip cuts a narrow isolation channel, but the deeper you plunge, the wider the top of the cut gets. A 0.2 mm flat end mill holds a constant channel width, at the cost of slower feed and more heat in the copper.
Copper-clad FR-4 is abrasive and gummy at the same time. Feeds around 200–400 mm/min at 10,000–12,000 rpm work on a hobby spindle for a 0.2 mm flat mill. Push harder and the burr rolls back into the gap you just cut.
The whole process lives or dies on depth control. If the surface of the board moves 0.05 mm relative to the tool, your isolation width changes by roughly the same amount. That is the same order of magnitude as the gap itself.
- 1V-bitCheap, sharp, but width varies with depth.
- 2Flat end millConstant width, slower, needs a rigid spindle.
- 3Engraving bitFine detail, short life in FR-4.
- 4Diamond-coated cutterLonger life, higher cost, worth it past 50 boards.
Limits that decide whether you mill at all
Trace width and gap set the ceiling. A hobby router with a decent fixture holds 0.15 mm traces and 0.20 mm gaps reliably. Drop to 0.10 mm and the same setup starts shorting traces two boards out of ten. The cutter is not the only cause. Copper burrs, laminate weave, and fixture flex all contribute.
Layer count is the second wall. Single-sided boards need no registration. Two-sided boards need alignment pins or an optical jig, and a 0.1 mm registration error on a 0.5 mm pad is already a rework. Four layers on a DIY mill is not a workflow, it is an experiment.
Board size has a practical range too. Under 50 × 50 mm, clamping is easy and flatness is manageable. Past 150 × 150 mm, most hobby beds flex enough that the middle of the board cuts deeper than the edges.
Heat and dust are the quiet limits. FR-4 dust is a respiratory hazard and it is abrasive to spindle bearings. Any serious setup needs dust extraction at the cutter, not a shop vac pointed at the bench.
- 1Pitch below 0.5 mmHand soldering and milling both get unreliable.
- 2Impedance controlRequires controlled dielectric thickness, not milling.
- 3Plated through holesMilling gives you no plating.
- 4Multiple identical boardsFixture setup cost repeats every time.
Fixture and tooling choices that hold tolerance
The fixture is the cheapest accuracy you can buy. A sacrificial MDF or FR-4 spoilboard, surfaced flat with a 6 mm flat mill at 0.1 mm depth, gives you a reference plane. Do this before every session, not once a year.
Holding the copper-clad down matters as much as the spoilboard. Double-sided tape leaves a 0.02–0.05 mm thickness variation across a 100 mm board. Vacuum tables are flatter but need a sealed plenum. Six M3 screws around the perimeter, outside the cut area, is usually the best trade.
Zero the tool on the copper, not on the spoilboard. Touch off with a feeler gauge or a continuity probe, then set work zero at the copper surface. If you zero on the bed and the board is 1.6 mm thick with ±0.1 mm variation, part of your board sits below zero.
Keep a tool log. Coating wear on a V-bit shows up as a wider cut long before the tip visibly breaks. Measure the channel width on a test coupon every 20 boards and replace the cutter when it grows past 0.03 mm.
Six steps from Gerber to a cut board
Parameters are starting points for a hobby spindle on 1.6 mm FR-4 with 35 μm copper.
- 1Export and check the GerberExport top copper and outline only. Open the files in a Gerber viewer and confirm the board size, drill positions, and that no trace is under 0.15 mm.
- 2Convert to toolpaths in CAMLoad the copper layer in FlatCAM or equivalent. Set isolation routing to 0.20 mm, two passes, and a cut depth of 0.05–0.08 mm. Add the outline cut at 1.8 mm depth.
- 3Surface the spoilboardFace the sacrificial board with a 6 mm flat mill at 8,000 rpm, 600 mm/min, 0.1 mm depth. Vacuum the dust before you place copper.
- 4Clamp and zeroFix the board at the perimeter, outside the cut. Touch off on the copper surface itself and confirm the zero with a 0.05 mm feeler gauge.
- 5Cut a test couponRun the first 10 mm of the job on scrap. Measure the channel width with a loupe or a microscope and adjust depth by 0.01 mm increments before cutting the real board.
- 6Cut, inspect, deburrCut the traces at 200–400 mm/min, 10,000–12,000 rpm. Inspect under magnification for burrs bridging gaps, then deburr with 800-grit paper on a flat block before soldering.
- 7Log the resultRecord cutter, depth, feed, and measured channel width. The next board on the same setup should reuse those numbers, not re-derive them.
Common questions
What trace width can a hobby CNC actually hold?
0.15 mm traces with 0.20 mm gaps are realistic on a well-fixtured hobby router with a 0.2 mm flat end mill. Below that, burrs and fixture flex start causing shorts that only show up after soldering.
If your design needs 0.10 mm traces, either redesign to a larger package or move the board to a controlled machining process.
Is milling cheaper than ordering boards for a prototype?
For one board with a simple layout, milling is usually cheaper once you already own the machine. The material cost is a few dollars and the setup is an hour.
For five or more boards, or anything with fine pitch, the setup time and rework outweigh the material savings. That is where sending the files out wins.
Can I mill a two-layer board at home?
Yes, but you need registration. Drill two alignment holes in the copper before the first cut, pin the board to the fixture, and flip it around those pins.
A 0.1 mm registration error is typical. That is fine for 1.0 mm pads and fatal for 0.4 mm pads.
What cutter should I start with?
A 0.2 mm flat end mill for isolation routing and a 30° V-bit for fine detail. Add a 2 mm or 3 mm flat mill for the outline.
Buy several of each. FR-4 wears cutters fast, and a worn tool cuts wider than the toolpath says.
Do I need dust extraction?
Yes. FR-4 dust is abrasive and a respiratory irritant. Extraction at the cutter keeps the chips out of the cut, which also improves channel width consistency.
A shop vac pointed at the bench does not capture dust at the tool tip.
When should I stop milling and send the job out?
When pitch drops below 0.5 mm, when you need more than two layers, when the board needs controlled impedance, or when you need more than ten identical boards.
At that point the setup time per board is the cost, not the material.
Send the board out when milling stops paying
Upload your Gerber or STEP files and we will come back with a quote and a free DFM review within 12 hours. Uploads stay confidential, and an NDA is available on request.
12-hour quote100% inspection before shipment