A CAD render of the full CNC machine seen from a low front corner, with an aluminium extrusion frame around it and a stand of panelled bays below

Machine tool designDrawing 32 of 33

3/4/5-axis
CNC machine

A CNC mill I'm designing from scratch, so I can make the parts I want. The table on top lets it machine plates, and there are three bays underneath: one for the tool changer, one for 4-axis machining and one for 5-axis machining. It's still in development. So far it's about 40 hours of general design and about 60 hours of research and development, I expect it to cost around $7,000 to build, and I plan to build it within a year.

Sheet 02 of 11/The brief

What it has to cut

The machine is sized for three jobs: aluminium plate parts up to 30 mm thick, one-off prototypes in mixed materials, and foam carved for molds. The trunnion adds tilted plate and block work on top of that.

An isometric CAD render of the CNC machine from above, with the gantry at the left end of the bed and the granite slab around it
PL 03From above the front corner. The gantry sits at one end of the bed and travels its length.
An isometric CAD render of the CNC machine from the rear corner, with the screen on its arm to the left
PL 04From the back corner, with the operator screen on the left.

Sheet 03 of 11/Layout

Why the gantry spans the short side

The gantry spans the 600 mm side of the work area and travels the 1000 mm one. Beam deflection goes with span cubed, so spanning 600 mm instead of 1200 mm cuts it by 8x.

The table stays put and the gantry moves. A moving table would have needed about 2 m of floor to travel through, for no stiffness gain at a 600 mm span.

A top view CAD render of the CNC machine, with the gantry across the short side of a white vacuum plate and bare granite beside it
PL 10Plan view. The gantry spans the short side of the vacuum plate and travels the long one, and the rest of the granite is open.
A close CAD render of the gantry: a grey side plate with bolt holes, the beam carrying two rails, and the spindle hanging over the white vacuum plate
PL 12The gantry up close. The side plate, the beam and its rails, and the spindle in its bracket on the Z axis.

Sheet 04 of 11/Stiffness

The cutter is the softest spring

Every part of the machine bends like a spring, and they add in series, so the softest one sets the answer. With a 6 mm tool, the softest one isn't in the frame at all, it's the cutter.

Cutter stiffness, carbide as a cantilever, 3EI/L³
CutterStickoutStiffness
6 mm carbide20 mm5.9 N/um
6 mm carbide30 mm1.7 N/um
10 mm carbide25 mm23.2 N/um
12 mm carbide30 mm27.8 N/um

A 6 mm cutter at 20 mm out is softer than the whole frame target, so the frame stops at 8 to 12 N/um instead of chasing 20. The cheapest stiffness on the machine is stickout: pulling the same 6 mm tool in from 30 mm to 20 mm makes it 3.5x stiffer.

Sheet 05 of 11/Frame

Bolted extrusion, not welded steel

The first spec called for welded steel tube filled with epoxy granite. I went with bolted 80x160 aluminium T-slot instead, gusseted at every joint, with sand or resin fill for damping. At a 600 mm span the beam isn't the weak point, the joints are, so every joint gets a gusset.

The accuracy budget lands around 0.05 to 0.1 mm, which is a good hobby mill and not a precision machine. The biggest single term is heat: an aluminium frame grows about 0.14 mm over its travel for every 5 °C.

A front elevation CAD render of the CNC machine inside its extrusion frame, with the gantry at the left end
PL 06Front elevation, looking along Y. The gantry side plate and the Z column sit at the left, over the X rail.
A back elevation CAD render of the CNC machine, with the gantry at the right end and the screen on the left
PL 07Back elevation. The same machine from behind, with the screen on the left.

Sheet 06 of 11/Motion

Two screws on X, squared at every power-on

X runs on two ball screws, one motor per side, slaved in software, so the machine squares itself off two home switches every time it powers on. The motors are NEMA 34 closed-loop steppers, 12 Nm on X and Y and 6 Nm on Z, and every driver's alarm output is wired back to the controller so a stalled axis stops the job instead of scrapping the part.

The Z motor has a brake built in. The spindle and its plate come to about 30 kg, which back-drives a 5 mm lead screw at only 0.26 Nm, so without the brake the spindle would drop into the part on every power cut.

The Z rails are fixed to the gantry and the blocks ride on the moving plate, so Z is as stiff fully extended as it is retracted.

An end elevation CAD render of the CNC machine, with the gantry beam across the bed and the screen on an arm at the left
PL 08Left end, looking along X. The gantry beam spans the bed, with the Z column at one end of its travel.
An end elevation CAD render of the CNC machine from the right, with the spindle under the gantry beam
PL 09Right end. The spindle hangs under the beam, and the screen arm reaches out to the right.

Sheet 07 of 11/Stand

Three bays under the table

The machine sits on a granite slab, and the slab sits on a 700 mm stand of bolted 40-series extrusion. Granite needs support about every 700 mm, or a strip model of the slab sags about 0.7 mm.

The slab touches nothing but 80 x 80 x 10 mm steel pads, ground flat to each other after the stand is levelled, so the frame's own flatness can't bend the slab.

Under the table are three bays: one for the tool changer, one for 4-axis machining and one for 5-axis machining.

One catch from modelling it: the 80x80 legs only have four 6.7 mm core bores and nothing in the middle, so a levelling foot can't screw into the leg end. Every leg gets a bolted steel base plate to carry its foot instead. As modelled the stand is 47 parts and 137.4 kg, with zero interferences.

A trimetric CAD render of the CNC machine showing clear hinged doors on the front of the stand and dark panels on its side
PL 05Hinged doors close the front of the stand, and dark panels close its sides.
A CAD render of the CNC machine seen from below, showing the bottom panels of the stand on a grid of extrusion
PL 11From underneath. The stand below the table, which holds the bays for the tool changer, the 4th axis and the 5th axis.

Sheet 08 of 11/Control

Controller, spindle and the stop button

It runs LinuxCNC on a desktop or mini PC, not a laptop, through a Mesa 7i96S and 7i76U, $268 for both cards. LinuxCNC was the only open-source controller that reaches a 5-axis mill with a tool changer, and it drives six outputs: X, X2, Y, Z, and the trunnion's A tilt and B rotate.

The spindle is a 4.5 kW BT30 tool-change spindle, 8-pole for 18,000 rpm, water-cooled, on 220 V single phase. The E-stop is a hardwired button that drops a contactor and cuts the drives and the spindle together, so it still works if the PC hangs.

Sheet 09 of 11/4th and 5th axes

Three axes now, five later

As drawn it's a 3-axis mill, and the 4th axis has its own assembly started in the model. The plan for five is a trunnion I build myself, tilting on A and rotating on B, and it has to fit the height the frame leaves it rather than the frame waiting on it. The 4th axis and the 5-axis setup each get their own bay under the table.

The real ceiling on five axes isn't the controller, it's the CAM. LinuxCNC runs 5-axis code fine, but generating it takes expensive software and a real skill.

REF 13Trunnion, general arrangementassets/projects/cnc-machine/13-trunnion-general-arrangement.webp

Sheet 10 of 11/Tool changer

A tool changer with no drop-in rack

The tool changer gets its own bay under the table. There's no published drop-in rack for BT30 tools, and every fully documented build uses ISO20, ISO30 or TTS. A tool mover assembly is started in CAD, and the rack spacing waits on the spindle nose drawing.

A CAD render of a gantry CNC machine: a grey gantry side plate and beam, a vertical Z column with the spindle, a white vacuum plate edged with pleated panels, and a screen on an arm at the right

Sheet 11 of 11/Status

What this is not

It is not a machine yet. Everything on this page is the SolidWorks assembly and the sizing behind it, from about 40 hours of general design and about 60 hours of research and development. I expect it to cost around $7,000 to build, and I plan to build it within a year.

The plan is to prove it with cut tests, not calculations: shim the rails to a straightedge, push on the spindle nose and measure how far it moves, run a ballbar, then step up the depth of cut in 6061 until it chatters.

PL 01The main assembly as of September 2026. The gantry, the Z column and the spindle over the vacuum plate, with the operator screen on its arm at the right.