DIY electronic lead screw for a metal lathe

This forum is dedicated to those Hobbyists Interested in CNC machining & 3D Printing in their home shops. (Digital Read Outs are also topical, as is CAD/CAM as it relates to CNC)

Moderator: Harold_V

Post Reply
Posts: 1
Joined: Mon Apr 24, 2023 1:29 pm

DIY electronic lead screw for a metal lathe

Post by kachurovskiy »

Hi folks, wanted to share an open-source project I've been working on for a few years - cheap DIY Electronic Lead Screw (ELS) based on Arduino Nano for metal lathes.


You can find all the code, models and files needed to build it in - parts can be ordered almost anywhere - here are some of the features you get:


Controller removes the need to use the lathe gearbox since it can drive the stepper motor with high precision according to lathe spindle rotation. It supports metric, inch and TPI pitches (-10mm to 10mm) with resolution up to 0.001 mm/inch.

Soft limits

Controller can limit lathe carriage movement with soft limits: just move the carriage using manual move buttons to the desired soft limit position and press the left/right limit button. Now controller won't move the motor past the given limit when e.g. cutting the thread.

Move carriage without turning off the spindle

You can use manual move buttons without turning off the spindle and without losing the thread. With one hand holding the move button and another controlling the cross-slide, you can cut threads including multi-start ones in one go.

Move carriage with high precision

When gearbox is on, manual move calculates the step to ensure that the tool stays in the thread. When gearbox is off, manual move step is determined using button cycling through 1/0.1/0.01/0.001 inch or mm. Picking any value other than 1 causes the manual move to pause for a fraction of the second between steps.

Position, angle and RPM indication

Display shows relative carriage position, spindle angle and spindle RPM. Showing angle and RPM is controlled with button. Angle is only shown when the spindle is stationary. RPM is only shown when the gearbox is off.

Multi-start threads

Use to switch to MUL mode, select number of thread starts, set both soft limits and controller will automatically switch to the next thread when a soft limit is reached.

Here's a short video showing some of the controller functions:

Dozens of people from all over the world have already built this controller, you can see what they say on - if anything, building something like this greatly expands one's comfort zone when working with electronics and machinery.

Let me know if you have any questions, I'd be happy to help.

Good luck!
Post Reply