How to Make a Small CNC Machine
A bench-scale router or mill you can build from aluminum extrusion, linear rails, and a stepper-driven control board. This guide is for engineers, lab techs, and shop owners who want to cut real parts in-house, not just move an axis. You will see what each subsystem buys you, which tolerances are realistic, and when the build stops making sense.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
What matters before you drill the first hole
Pick a machine layout before you buy parts
Most bench builds use a Cartesian layout: three linear axes stacked as X, Y, and Z. It is easy to align, easy to enclose, and every CAD/CAM package supports it. A moving-table design keeps the spindle fixed in X and Y, which lowers the center of gravity. A moving-gantry design keeps the part still, so you can machine a heavier workpiece without the table sagging under load.
Delta and polar layouts exist for small machines, but they trade away stiffness and simple workholding. For a first build, skip them. You want a machine you can square with a dial indicator in one afternoon, not a kinematic model you have to calibrate in software.
Decide the work envelope now. A 400 × 300 mm travel covers most enclosure panels, brackets, and fixture plates. Going to 600 × 400 mm costs roughly double in extrusion, rails, and screws, and the frame becomes much harder to keep rigid. Write the envelope on paper before you order anything.
- 1Moving tableSimpler Z, better for small parts and drilling.
- 2Moving gantryHandles heavier stock, needs a stiffer bridge.
- 3Fixed gantryMost rigid, but the table must carry the part.
Build the frame and linear motion as one system
The frame sets your ceiling. Aluminum extrusion is the usual choice because it is straight, tapped, and easy to rework. Use 4080 or 4040 profile for a 400 mm class machine. Wood and acrylic frames flex under cutting load and will show chatter on aluminum within minutes. Steel welded frames are stiffer but need stress relief and machining after welding, which most home shops cannot do.
Linear motion is where accuracy is won or lost. Profile rails (MGN12 or HGR15 class) carry load in all directions and stay preloaded. Round shaft with bushings is cheaper but deflects and wears a groove. Mount rails on machined or at least faced surfaces. Bolting them straight to raw extrusion gives you a few thousandths of twist that no software can compensate for.
Screws and nuts matter as much as rails. Rolled ball screws in C7 grade hold about ±0.05 mm over 300 mm and run with low friction. ACME lead screws are fine for wood and plastic, but they wear, and backlash grows. If you use lead screws, add anti-backlash nuts and plan to re-tension them every few months.
- 14080 extrusionGood stiffness-to-cost ratio for a 400 mm machine.
- 2MGN12 railsEnough for light aluminum cuts at 0.5–1.0 mm depth.
- 3C7 ball screwsRealistic ±0.05 mm positioning after backlash comp.
Size the spindle, steppers, and controller together
Stepper motors are the default for small machines. NEMA 23 motors with 1.8° step angle and a microstepping driver at 1/8 or 1/16 give smooth motion. Do not go too fine on microstepping: at 1/32 and beyond, torque per step drops and you may lose steps under load. A 48 V power supply with 3.0 A per phase is a common match for a 400 mm router.
Spindle choice follows the material. A 800 W air-cooled spindle cuts aluminum at 0.5 mm axial depth and 6–10 mm/s feed with a 6 mm two-flute end mill. A 1.5 kW water-cooled spindle lets you push closer to 1.0 mm depth. For wood and plastic, a 500 W spindle or even a trim router is enough. Runout above 0.02 mm will break small end mills, so check the spindle with a dial indicator before you trust it.
The controller is the last decision, not the first. GRBL-based boards are cheap and well documented for 3-axis work. LinuxCNC or a motion controller with a dedicated pulse engine handles higher step rates and closed-loop feedback. Whatever you pick, wire limit switches on all axes and set soft limits in firmware. Crashing a machine into its own frame is the fastest way to lose your alignment.
- 1NEMA 23 steppers1.8° step, 1/8 microstepping, 48 V supply.
- 2800 W spindleAluminum at 0.5 mm depth, 6 mm tool.
- 3Limit switchesWire all axes before the first cut, not after.
Square, tram, and tune before the first cut
Assembly order matters. Bolt the base frame, then mount the Y rails, then the X gantry, then Z. Check squareness at each stage with a machinist square and a dial indicator. If the gantry is out of square by 0.1 mm over 300 mm, every pocket you cut will be a parallelogram. Fix it before you add the spindle, not after.
Tram the spindle to the table in both directions. A spindle that leans 0.05 mm over 100 mm leaves a visible step on facing cuts and wears one side of every end mill. Shim the spindle mount or the Z plate until a dial indicator reads under 0.02 mm across a 100 mm sweep.
Set backlash compensation in your controller only after you measure it. Command a 10 mm move, measure with a dial indicator, and compare both directions. Typical rolled ball screw backlash is 0.02–0.05 mm. Enter that number as compensation, then re-check. Do not guess. A wrong value makes circular interpolation worse, not better.
- 1Square the gantryUnder 0.02 mm over 300 mm before mounting Z.
- 2Tram the spindleUnder 0.02 mm over a 100 mm sweep.
- 3Measure backlashCommand 10 mm, compare both directions, then compensate.
Step by step: from parts to first chips
Follow this order. Skipping ahead usually means re-aligning the machine later.
- 11. Define the work envelope and materialWrite down the largest part and the hardest material. A 400 × 300 × 100 mm envelope cutting aluminum is a different machine from a 600 × 400 mm envelope cutting plywood. This one decision sets your rail size, screw grade, and spindle power.
- 22. Cut and drill the frame platesUse 4080 extrusion for the base and gantry. Drill and tap M6 or M8 holes on a drill press with a fence, not by hand. Hole position error above 0.2 mm will pull the rails out of parallel when you tighten them.
- 33. Mount the linear railsClean the rail mounting face, then bolt one rail and indicate it straight to within 0.02 mm over its length. Use the first rail as the reference for the second. Parallel error shows up as binding near the ends of travel.
- 44. Install screws, nuts, and bearing blocksAlign the screw to the rail within 0.05 mm. A misaligned screw bends and whips at higher speeds. Preload the nut lightly. If the axis moves by hand with noticeable drag, loosen the bearing block and re-align.
- 55. Mount steppers and set belt or coupler tensionUse flexible couplers or a 2:1 belt reduction. Overtightened belts load the motor bearing and cause missed steps. With power off, the axis should move with light finger pressure and no rattle.
- 66. Wire the controller, drivers, and limit switchesKeep motor cables away from signal cables. Twisted pair or shielded cable for limit switches. Set driver current to 80% of the motor rating. Wire all three axes of limit switches before the first powered move.
- 77. Configure firmware and jog each axisSet steps per mm by commanding a 100 mm move and measuring the result. Repeat until the error is under 0.1 mm. Set soft limits just inside the physical travel. Jog at low speed first, then raise it.
- 88. Face a scrap plate and check the resultCut a 100 × 100 mm facing pass in scrap aluminum at 0.3 mm depth and 8 mm/s. Measure the step height with a dial indicator. If it exceeds 0.05 mm, re-tram the spindle before cutting real parts.
Build or buy: match the machine to the job
Use the left column when your part fits that row. Use the right column when it does not.
| If your parts look like this | Build a small CNC machine | Buy machined parts instead |
|---|---|---|
| Wood, plastic, foam, thin aluminum | Yes, a build handles these well | Not worth the setup time |
| Tolerance looser than ±0.05 mm | Achievable with C7 ball screws | Overkill for this tolerance |
| Tolerance at ±0.005 mm | Not realistic on a bench build | Use a 5-axis shop with metrology |
| One-off brackets and fixtures | Good use of a bench machine | Fine, but adds days of lead time |
| Running 500+ identical parts | Cycle time and wear become a problem | Better on production machines |
| Undercuts, 5-sided features | Requires a 4th or 5th axis | Multi-axis setup is the only path |
| Prototype in 3–5 days | Build time is weeks, not days | Faster if the design is ready |
Build for learning, buy for tolerance
A small CNC machine is a good way to fixture and cut your own brackets and panels. It is a poor way to hit ±0.005 mm or 5-axis geometry. If the drawing calls for that, send it to a shop with the machines and the metrology.
Questions we get about bench-scale CNC builds
How much does it cost to make a small CNC machine?
Cost tracks the frame and motion parts, not the electronics. A 400 mm class machine using extrusion, MGN12 rails, and C7 ball screws costs more than one using round shaft and ACME lead screws, and the difference shows up as chatter and drift.
The hidden cost is tooling and metrology: end mills, collets, clamps, a dial indicator, and a machinist square. Budget for those before you buy the spindle.
Can I cut aluminum on a small CNC machine?
Yes, with limits. A 800 W spindle with a 6 mm two-flute end mill at 0.5 mm axial depth and 6–10 mm/s feed will cut 6061 cleanly. Going deeper or faster flexes a bench frame and leaves chatter marks.
Use a single-flute or two-flute cutter for chip clearance, and add a light mist or air blast. Aluminum chips weld to the cutter when they are not cleared.
What tolerance can I realistically hold?
±0.05 mm is a reasonable target on a well-squared build with rolled ball screws and backlash compensation. Getting to ±0.02 mm requires a stiffer frame, better screws, and temperature control.
Below ±0.01 mm, the bench build stops being the right tool. Thermal growth and frame flex dominate the error budget at that level.
Do I need ball screws or are lead screws enough?
Lead screws are fine for wood, plastic, and light aluminum work if you use anti-backlash nuts. Expect to re-tension them periodically as they wear.
For metal parts with tight tolerances, rolled ball screws hold position better and run with less friction, which means the stepper can use its torque for cutting instead of overcoming drag.
How long does the build take?
A first build typically takes several weekends from parts delivery to first chips. Framing and rail alignment take the longest because errors there are hard to fix later.
If you need parts this week, building is the wrong path. A shop with existing machines can start production within 24 hours and ship in 3–5 days once the design is released.
When should I stop building and order the parts?
Stop when the part needs multi-axis features, a tolerance tighter than ±0.02 mm, or a material your bench machine cannot cut. Titanium, Inconel, and hardened steel are outside the range of a small build.
At that point the build has done its job: it proved the design. Move the geometry to a shop with the right machines and inspection.
Need the part machined instead of the machine built?
Upload your CAD and get a quotation with DFM feedback within 12 hours. One prototype or 10,000 parts, no minimum order quantity, and 100% inspection before shipment.
Quote and DFM in 12 hoursProduction starts in 24 hours±0.005 mm toleranceNDA on request