Stepper Ballscrew jamming

Ive put together this ballscrew with coupler to a stepper via L298N board. The code is simply:

#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
unsigned long previousMillis = 0;
long interval = 5000;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {

void loop() {
  unsigned long currentMillis = millis();

  for (int i=0; i<35; i++) {

  for (int i=0; i<35; i++) {

But as you can see it jams at times and required me to move the stepper around to get it moving again. Why does it do that?

Is it an underpowered motor (I doubt it, its barely moving the ballscrew with a small acrylic plate over it)

Is it the coupling?

Or could it be an alignment issue?


Just for a test turn by hand the screw and see if it is hard to do in it's full travel.

You have 2 rails bolted to a piece of wood so there might be an alignment issue.

But first get the stepper at least mounted instead of just flopping around.

I can't see the full apparatus in the video. Is there a risk of the device twisting and causing the slides to jam - think about the problem if you try to open or close a drawer with an asymmetric force. That problem would also arise if one of the outer slides was stiffer than the other.



Can you post link to data/specs on stepper motor please?

I am surprised you are using a L298 drive after 1302 posts I would have thought you would have come across posts in the forum informing participants of the poor performance of these drivers.

How many volts are you using?

Why isn’t the stepper bolted in place with its shaft aligned to the screw a close as possible with the coupling doing as little work as possible.

Those couplings are not the be all to end all when it comes to correcting alignment problems.
The couplings can only work over a limited miss-alignment.

Tom… :slight_smile:

But first get the stepper at least mounted instead of just flopping around.

Absolutely, its obvious that it skips steps when its vibrating uncontrolled…

Datasheet please for the motor - its likely the L298 is unsuitable for this motor.

OK I'm using 9v and the stepper is bought either one of these:


  2. Or its a stepper that came with a kit from Amazon but didn't bring any markings.

I hadn't noticed the 12v rating so I'll try that.

Yes the coupling is directly on the screw and stepper.

I'll look for something to bolt the stepper down and post back.

And that's a poor choice coupling to use with a leadscrew, its springy, leading to extra resonances.
This is a better style of coupling:

With leadscrews, especially ballscrews, you can get undamped torsional oscillations building up from a stepper, and anything to dampen them down is good. I suggest ensuring you have pre-load on the bearing to help with damping (as well as with the precision).

High precision setups use a pair of ballscrews back-to-back with pre-load between the two - this is helps with
damping as well as reducing backlash and increasing accuracy. Very expensive of course.