I have a stepservo motor with a high precision encoder. I'd like to use it in "teach" mode where I can move it around with my hand (backdriving), and then playback whatever motion I did.

What kind of "mode" do you want to put the stepper in to achieve this? Where you can move it around, but there is still some holding force.

  • $\begingroup$ I don't think stepper motors can be backdriven like that. You need something like a servo. $\endgroup$
    – guero64
    Commented Aug 6, 2022 at 16:09
  • $\begingroup$ @guero64 - they are technically StepSERVO motors. applied-motion.com/products/stepservo-integrated-motors/… $\endgroup$ Commented Aug 6, 2022 at 16:42
  • $\begingroup$ try turning off power to the stepping motor $\endgroup$
    – jsotola
    Commented Aug 6, 2022 at 17:53
  • 1
    $\begingroup$ ask the manufacturer $\endgroup$
    – jsotola
    Commented Aug 6, 2022 at 18:33
  • 1
    $\begingroup$ The TXM34×3B-IP StepSERVO integrated motor is a drive+motor unit, fusing a NEMA 34 step motor and a servo drive into a single device. Sounds like it's still a stepper motor, and as far as I know it's not really possible to weaken the holding torque without getting into really custom stepper driver circuits. It might have a coast/freewheel option but I'd agree with @jsotola - best bet is probably to contact the manufacturer and see if there is a mode that allows these to be backdriven. The gearing might prevent it even if the motor allowed it. $\endgroup$
    – Chuck
    Commented Aug 6, 2022 at 23:37

1 Answer 1


I can't comment on your specific hardware but I will try to answer the question more generally. I assume this is for some sort of robot arm, (you don't actually say what your application is).

You might call this behavior "gravity compensation". Where the arm knows exactly what configuration is it in, and how much torque is required at each joint to hold the arm in this "static equilibrium". And if it senses any deviation in torque, it adjusts.

Typically, this is hard to achieve with highly geared down motors and stiff drive-trains. It is best to use direct-drive motors. But I believe this effect can be achieved with good sensing. Note that you will need to measure the torque exerted on the arm. This can be achieved with a "series elastic" member. The compliance can be stiff. For example, the Baxter robot had a horseshoe piece of sheet metal with a strain gauge on it for their torque sensing.

You will also find that the heavier the arm, the more difficult it is to achieve this effect. Because the mass and CG of your arm may be slightly off, and there is always some noise in the torque measurement, so you will need a small dead-band before the arm will "feel" your push. The heavier the arm, the larger push is required to get out of the dead-band.

Experiment with a single joint to get an understanding of how it works before moving onto the full arm.

See these other questions for more info:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.