How to Make a Woodworking CNC Machine
A build guide for engineers who want a router that holds tolerance on plywood, MDF and hardwood instead of a toy that flexes. We cover frame stiffness, motion hardware, motor sizing, spindle choice and the first test cut. By the end you can decide whether to build, buy a kit, or send the job out.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Key takeaways
What decides whether a woodworking cnc machine cuts clean
A woodworking cnc machine is a stiffness problem before it is an electronics problem. When the cutter bites into plywood it pushes the gantry back, and any flex shows up as chatter marks, burned edges and undersized pockets. Work out the cutting force first: a 6 mm two-flute bit at 3 mm depth in hardwood pulls roughly 80–150 N sideways. The frame has to absorb that without visible movement at the tool tip.
Wood is forgiving on hardness and unforgiving on geometry. MDF and plywood are abrasive and dusty, solid oak and maple grab the tool, and sheet goods warp after a few days if the bed is not supported. That is why the bed matters as much as the gantry. A torsion box bed with 18 mm MDF skins and a 100 mm rib pitch stays flat within about 0.1 mm over a 1,200 mm span.
Decide the working envelope before anything else. Most shops settle on 600 × 900 mm, 1,200 × 1,200 mm or 1,200 × 2,400 mm. Every extra 300 mm of gantry length costs stiffness, so do not oversize the machine for one job you may never repeat. If the part is larger than the machine, the part loses.
Wood dust is the other design constraint. Chips must leave the cut. An upcut bit clears the channel but lifts the top veneer, a downcut bit protects the surface but packs the slot. Use a dust shoe with a 50 mm hose on a 1.5 kW extractor and the tool will last noticeably longer.
- 1Rigid gantrySteel or 80 × 80 mm aluminium extrusion with a closed box section
- 2Flat bedTorsion box, ribs every 100–150 mm, surfaced after assembly
- 3Chip clearanceDust shoe plus 50 mm hose; never cut dry MDF in a closed shop
Rails, screws and motors: sizing for wood
Linear motion is where most home builds lose accuracy. Round rail on unsupported shaft flexes in the middle of a 1,000 mm span. Profile rail (HGR15 or HGR20) bolted to a machined or extrusion face holds preload and stays straight. If the budget is tight, use supported round rail, but accept slower feed rates on long axes.
For the drive, a 16 mm ball screw with a 5 mm or 10 mm lead gives repeatable positioning under 0.05 mm per 300 mm. Rack and pinion suits travels beyond about 1,500 mm because a screw that long whips at higher rpm. Belt drive is quiet and cheap but stretches; it is fine for a hobby machine and marginal for production.
Stepper sizing follows the moving mass, not the table size. A 3 N·m NEMA 23 on each of the X and Y axes and a 2 N·m on Z handles a 40–60 kg gantry through a 5 mm lead screw. Going bigger usually adds resonance rather than torque, and a heavy gantry demands bigger motors in a loop you cannot win.
Drivers should run at 48 V or 60 V with microstepping set to 1/8 or 1/16. Higher microstepping does not add real resolution; it smooths motion and reduces noise. Set motor current to 80–90% of the rated value and check the driver temperature after 30 minutes of air cutting.
- 1Profile rail over round railHGR20 with a C0 or C1 preload class for the gantry
- 2Screw length capPast 1,500 mm, switch to rack and pinion
- 3Motor current80–90% of rated, then verify thermally
Spindle, collet and control choices
The spindle sets your surface finish more than the frame does at the same stiffness. A 1.5 kW or 2.2 kW air-cooled spindle with an ER20 collet holds 6 mm and 12 mm shanks and spins to 24,000 rpm. Water-cooled versions are quieter and hold speed better under load but need a pump and a radiator. A trim router bolted to a plate is a starting point, not an endpoint; its bearings are not designed for 4,000 mm/min side loads.
Collet runout should stay under 0.01 mm. Measure it with a dial indicator on a gauge pin in the collet. If runout exceeds 0.03 mm, the finish will show tool marks that no feed rate fixes. Replace the nut and collet before blaming the spindle.
On the control side, a 3-axis or 4-axis motion controller with limit switches on both ends of every axis is the minimum. Add homing switches, an emergency stop that drops spindle power, and a relay for the dust extractor. Ground the spindle body and the frame to a single earth point, or expect random step loss from static in dry winter air.
Software is the cheap part: a CAM package that outputs G-code with arcs, plus a sender that supports feed override. Check that your post-processor outputs the correct units. A metric machine fed an inch program will drive the tool into the bed at 25.4 times the intended depth. We have seen this ruin a spoilboard in one pass.
- 1ER20 minimumHolds 6 mm and 12 mm shanks; 0.01 mm runout target
- 2Limit and home switchesBoth ends of every axis, wired normally closed
- 3Single earth pointFrame, spindle body and controller chassis bonded together
What goes wrong on a first build
Chatter at the corners is nearly always a stiffness problem, not a feed problem. Before changing speeds, grab the spindle with the machine powered off and push it sideways. Any visible movement over 0.1 mm means the Z plate, gantry joint or rail preload needs attention. Adding a gusset is cheaper than buying a bigger spindle.
Tapered pockets come from an out-of-square gantry or a bed that was never surfaced. Cut a test pocket 100 mm wide and 6 mm deep, then measure the width at the top and the bottom with calipers. A difference over 0.1 mm points to spindle tram, not to the CAM file.
Lost steps appear as a job that drifts a few millimeters over a long program. Check the motor current first, then the coupling set screws. Heat is the usual cause on long jobs: measure the driver and motor case temperature after an hour. If the case exceeds about 70 °C, lower the current or add airflow.
Dust is a reliability issue, not a housekeeping issue. MDF dust packs into rail blocks and ball nuts, and it absorbs oil. A dust shoe with a brush skirt plus a 1.5 kW extractor keeps the rails clean. Wipe and re-oil the rails every 20 hours of cutting; use a light machine oil, not grease, on profile rail blocks rated for it.
- 1ChatterCheck Z plate stiffness and rail preload before touching feeds
- 2TaperRe-tram the spindle, then re-surface the bed
- 3DriftMotor current, coupling screws, then driver temperature
How to make a woodworking cnc machine: 7 steps
Follow the order. Skipping the surfacing step is the most common reason a first build cuts tapered pockets.
- 1Fix the working envelope and load pathDraw the machine around the largest part plus 50 mm clearance per side. Keep the gantry span under 1,300 mm unless you move to rack and pinion. Trace the cutting force from the tool tip through the Z plate, gantry beam, side plates and into the frame. Any joint that relies on a single bolt in shear will move.
- 2Build the base and bedWeld or bolt a steel base, then add a torsion box bed from 18 mm MDF with ribs every 100–150 mm. Bolt the bed to the base with shims, then surface it with a 25 mm surfacing bit at 1,000 mm/min and 0.3 mm depth until the whole surface is clean. Recheck flatness with a straight edge and feeler gauge; target 0.1 mm over 1,000 mm.
- 3Mount rails and screws parallelBolt the X rails to the machined base face and check parallelism with a dial indicator along the full travel; keep the two rails within 0.05 mm. Do the same for Y and Z. Shim with 0.05 mm and 0.1 mm shim stock rather than over-tightening. Turn each screw by hand through the full travel before powering the motors.
- 4Couple motors and set preloadUse a rigid or Oldham coupling with a small axial float to absorb misalignment between the motor shaft and the screw. Set the ball nut preload so the axis moves with light hand pressure but shows no backlash. Measure backlash with a dial indicator: push the axis 0.2 mm one way, then the other, and read the lost motion. Target under 0.03 mm.
- 5Wire, ground and configureRun stepper cables away from the spindle cable and the limit switch wiring. Set driver current to 80–90% of rating, microstepping to 1/8 or 1/16, and acceleration to 300–500 mm/s² for a first test. Configure soft limits 5 mm inside the hard limits and set the Z zero to the top of the material, not the bed.
- 6Square the gantry and tram the spindleCut a 300 × 300 mm square in scrap MDF and measure both diagonals; adjust the gantry until they match within 0.2 mm. Then tram the spindle with a dial indicator on a 100 mm arm: front-to-back and side-to-side should sit within 0.05 mm over that radius. Re-check after the first hour of cutting, because new joints settle.
- 7Run the first test cutStart with a 6 mm two-flute upcut bit in 18 mm plywood: 16,000 rpm, 2,500 mm/min, 3 mm depth per pass, 40% stepover for pockets. Listen for chatter and look at the chips. Fine dust means the feed is too low or the rpm too high; brown edges mean the tool is rubbing. Increase feed in 20% steps until the chips are granular and the cut is quiet.
Build, buy a kit, or outsource the machined parts
Match the option to what you actually need to produce.
| Option | Best when | Watch out for | Typical lead time |
|---|---|---|---|
| Self-build from stock | You want a specific envelope and enjoy the build | Weeks of alignment work, no support if a part fails | 6–12 weeks of evenings |
| Kit machine | Envelope matches a standard size and budget is fixed | Thin gantry on long spans, weak Z axis | 2–6 weeks shipping |
| Outsource wood routing | One-off or low-volume sheet parts | Per-part cost, shipping on large panels | Depends on the shop queue |
| Outsource metal brackets | Motor mounts, spindle clamps, rail plates | Tolerance must be specified, not assumed | 3–5 days shipping |
| Hybrid: build frame, buy motion set | You can weld and machine but not scrape rails | Interface tolerances between your frame and the kit | 4–8 weeks |
Build the frame, buy the motion, machine the metal
A wood router is a stiffness project. Spend on the frame and rails, keep the spindle to 2.2 kW, and have the brackets and plates machined flat rather than drilled by hand. If the machine cannot hold tolerance after surfacing and tramming, no controller upgrade will fix it.
Woodworking cnc machine questions
What tolerance can I realistically hold on a home-built wood router?
On a rigid steel or heavy extrusion frame with profile rail and ball screws, ±0.1 mm is repeatable on sheet goods and ±0.05 mm on small parts if the bed is surfaced and the gantry stays square.
On a light kit machine with round rail and belt drive, expect ±0.3 mm and visible tool marks at higher feed rates. Wood itself moves more than that with humidity, so measure parts at the same moisture content as the assembly.
Do I need a 5-axis machine for woodworking?
No for flat panels, cabinet parts, signs and most furniture joinery. Three axes cover those jobs and are far easier to align.
Four or five axes help with chair legs, carved reliefs and parts that need undercuts in one setup. If your geometry needs it, the setup saving usually pays for the machine time, but the alignment and CAM work is a step up in difficulty.
How do I machine the metal brackets for the build?
Motor mounts, spindle clamps and rail plates need flat faces and true bores; hand drilling usually leaves them out of line. Aluminium 6061-T6 and 6082 are the practical choices for these parts.
We machine brackets and plates to ±0.005 mm from your drawings. Upload the STEP files with the mating faces marked and we return a DFM analysis within 12 hours, then parts ship in 3–5 days. There is no minimum order quantity, so single sets are fine.
Which materials can the finished router cut?
Plywood, MDF, particle board, solid hardwood, acrylic, PMMA, ABS, HDPE and POM all cut well with the right bit and dust extraction. Aluminium 6061 can be cut at low feed and shallow depth, but a wood router lacks the coolant and rigidity for steel.
Keep aluminium passes to 0.5–1 mm depth with a single-flute bit, air blast and slower feed. Anything harder than aluminium belongs on a metal-cutting machine.
How long does a first build take?
A simple 600 × 900 mm machine built from a kit takes a weekend to assemble and another week to align and tune. A welded steel frame with custom-machined plates typically takes 6–12 weeks of evenings.
Budget half the time for alignment and test cuts. That is the part that decides whether the machine is usable or just moves.
When is it cheaper to outsource than to build?
If you need wood parts now, outsource the routing and spend the build time on design. The same applies to the metal parts of the machine: brackets, clamps and plates are faster to order than to make.
Building makes sense when you will cut hundreds of sheets or need a non-standard envelope. Below that, the payback is usually too slow to justify the alignment work.
Send the metal parts you cannot drill straight
Upload your STEP files for motor mounts, spindle clamps and rail plates. We return a DFM analysis and quote within 12 hours, and machined parts ship in 3–5 days with no minimum order quantity.
12-hour quote±0.005 mm tolerance100% inspectionNDA on request