Converting a Mini Metal Lathe to CNC: Ballscrews, Steppers, and GRBL/LinuxCNC Control
Our workshop content already covers manual benchtop lathe basics — turning, facing, parting, threading by hand. A CNC conversion is a different project entirely: replacing the leadscrews with ballscrews, bolting steppers to both axes, and wiring the whole thing to a GRBL or LinuxCNC controller so it can cut repeatable parts, threads, and profiles from G-code instead of hand cranks. It's a more involved build than a CNC router conversion (a lathe's cross-slide and compound geometry, plus spindle speed coordination for threading, add complexity a router doesn't have), but a converted mini lathe is a genuinely useful addition to a shop that already leans on a CNC router and 3D printer for everything else — it opens up small precision turned parts, custom shafts, and threaded components that neither of those tools can produce.
What You're Actually Converting
A typical mini lathe conversion target (7x12, 7x14, or similar benchtop lathes) has two axes worth motorizing: the carriage (Z-axis, along the bed) and the cross-slide (X-axis, perpendicular to the bed, controlling diameter). Many builds leave the compound slide manually adjustable rather than motorizing a third axis, since most CNC lathe work doesn't need it. Spindle speed control (via a VFD on the lathe's motor) is the third major piece — CNC threading in particular requires the controller to know spindle position and speed to synchronize feed rate with rotation, which is a meaningfully different problem than a router's constant-speed spindle.
Replacing Leadscrews with Ballscrews
Stock mini lathes ship with Acme leadscrews, which have backlash (mechanical play) on the order of several thousandths of an inch or more — fine for hand-cranked adjustment where a human is compensating by feel, but unacceptable for repeatable CNC positioning. Converting to ballscrews (typically 12mm or 16mm ballscrews with matched anti-backlash ball nuts) is the standard fix:
- Measure your existing leadscrew's mounting geometry (bearing block spacing, end diameters) carefully before ordering — mini lathe frames vary enough between brands and even production runs that a "universal" ballscrew kit often needs light machining to fit.
- Anti-backlash ball nuts (preloaded, spring-loaded, or double-nut designs) are worth the extra cost over standard ball nuts — a CNC axis with backlash is exactly the problem you're trying to solve by upgrading from the Acme screw in the first place.
- Couple the ballscrew to the stepper with a rigid or semi-flexible coupler, not a solid direct-drive joint — some axial play absorption protects both the stepper shaft and the ballscrew from misalignment stress.
Stepper Sizing and Mounting
Cutting forces on a lathe (especially facing and parting operations) are higher than a router pushing through wood or plastic, so undersized steppers are a common first-attempt mistake:
AxisTypical StepperNotes Z (carriage)NEMA 23, 2-3Nm+Longer travel, moderate cutting force X (cross-slide)NEMA 23, 2-3Nm+Shorter travel but takes the brunt of facing/parting force directlyNEMA 17 steppers, common on router and 3D printer conversions, are generally undersized for a metal lathe's cutting forces except on very light hobby work — plan for NEMA 23 on both axes unless you know your cuts will stay shallow and light. Mount brackets need to be genuinely rigid; any flex in the stepper mount under cutting load shows up directly as poor surface finish and dimensional inaccuracy, more so than on a router where the workpiece (usually wood or plastic) is far more forgiving.
Controller: GRBL vs LinuxCNC for a Lathe
This is the most consequential decision in the build. Standard GRBL (the same firmware running the Wolfpawn and most desktop CNC routers) has no native lathe support — it has no concept of spindle-synchronized motion, which is required for CNC threading (cutting a thread means the Z-axis feed must stay locked to spindle rotation, not run at a fixed feed rate regardless of RPM).
- grblHAL (an actively developed GRBL fork) has added lathe-mode support on some builds with spindle encoder feedback, and is worth investigating if you want to stay in the familiar GRBL/gSender ecosystem — check current firmware support carefully before committing, since lathe features are newer and less universally supported than on the router side.
- LinuxCNC has mature, well-tested lathe support including G76 threading cycles and spindle-synchronized motion, at the cost of needing a full Linux PC (or, per our LinuxCNC-on-Raspberry-Pi-with-Mesa-card guide, a Pi paired with a Mesa card for the real-time I/O a Pi's GPIO can't provide) rather than the simpler USB-to-microcontroller setup GRBL uses.
For a lathe that will only ever do simple turning and facing profiles with no threading, GRBL/grblHAL keeps the build simpler and cheaper. For a lathe you want cutting real CNC threads, LinuxCNC is the more proven path today.
Spindle Encoder for Threading
Regardless of controller choice, CNC threading requires a rotary encoder on the spindle so the controller always knows exact spindle position and speed — without it, there's no way to synchronize Z-axis feed to rotation, and any attempt at threading will produce a thread with drifting pitch. A simple optical or magnetic encoder disk mounted to the spindle pulley, read by the controller's encoder input, is the standard approach — this is one of the areas where a router-focused GRBL setup and a lathe setup diverge most, since a router spindle never needs this kind of position feedback.
Wiring and Limit Switches
Follow the same fundamentals covered in our GRBL homing and limit switch guide — mechanical or inductive limit switches on both axes, wired to the controller's limit inputs, with homing cycles configured for the lathe's actual travel directions (which differ from a router's XY layout since a lathe's "home" position is typically tailstock-end on Z and full-retract on X).
Safety
- A lathe throws chips and can catch loose clothing or hair in the spinning chuck far more aggressively than a router bit — CNC conversion doesn't reduce this risk, and an enclosure or guard around the chuck area is worth building even on a hobby conversion.
- Test all motion at very low feed rates with the spindle off before running a single powered cut — a mis-wired axis on a lathe can drive the cross-slide straight into the chuck or workpiece far more violently than the equivalent mistake on a router.
- An emergency stop wired directly to cut power to the spindle motor (not just halt the controller) is essential — see our CNC safety guide's e-stop coverage, which applies just as much here.
A CNC lathe conversion is a bigger undertaking than most desktop CNC router mods on this site, but it fills a real gap — turned, threaded, and precision round parts that neither a router nor a 3D printer produces well. For a shop that's already comfortable with GRBL wiring and G-code from router work, the electrical and control side of this build will feel familiar even though the mechanical challenges (rigidity, backlash, spindle synchronization) are a step up.