I am trying to drive 4 Nema17 stepper motors using 4 DM542 drivers, controlling them using a teensy4.1. The step and direction signal is level shifted to 5V, the DM542 are powered using a separate 48V supply. In general this setup works great, however sometimes randomly one of the steppers refuses to turn. The corresponding driver is powered, since the motor is applying a holding torque. This issue shows up randomly and fixes itself randomly too. This is not a satisfying answer however, so I am looking for clues on what the underlying issue might be. What have I tried so far:

  1. Wiring issue: I have checked whether one the the leads wiggles itself loose or something and was not able to find any issues in the wiring.
  2. Broken stepper or driver: I have changed the drivers and steppers around and was not able to detect any pattern. However lets say, if the issue occurs with stepper 1 connected to driver 1. Now connecting a different stepper 2 to driver 1 will cause stepper 2 to stall. Switching the teensy pins connected to driver 1 to driver 2, will cause the motor connected to driver 2 to stall. This suggests that the problem is on the teensy side of things. But:
  3. Check for a software issue: I am quite sure that this is not a software issue on the teensy side because like I said, generally this setup is working great. Of course there is a chance of a random software bug, however if this issue occurs, resetting the teensy does not fix it. Rather waiting for a few minutes does.
  4. Checking the signals with an oscilloscope: Interestingly I was not able to check the signals to a stalling driver because 1. the issue does not occur that frequently and 2. the one time I was actually ready with a scope on hand, the issue fixed itself immediately as soon as I placed the scope probes on the signal pins.

I have to admit that I am out of my depth right now, so any hints on what might cause this problem or what steps I can take for a proper diagnosis are appreciated.

Edit Reacting to comments made by Tony Stewart EE75: The level shifter being used is a BSS138 (https://www.sparkfun.com/products/12009). The DM542 is setup to provide a max peak current of 2.37A (RMS of 1.69). Microsteps are set to 25600. I struggle to provide a max accleration of the steppers, or comment on the Friction on the shafts. The application is a build similar to https://github.com/T-Kuhn/HighPrecisionStepperJuggler .

  • \$\begingroup\$ Also make sure the 48V wiring is routed well-away from the 5V control pulses; better yet, use shielded cabling and ground only one end of the shield. Seen one where all wiring (non-shielded) was ran together, and spikes on the 48V lines caused random interference in random control lines. \$\endgroup\$
    – rdtsc
    Commented May 23, 2022 at 18:49
  • \$\begingroup\$ Check if power cycling the Teensy by removing the supply, rather than using the reset button solves the problem. \$\endgroup\$ Commented May 23, 2022 at 19:29
  • \$\begingroup\$ The wires for power and control are wired in different directions. And yes since using the reset button from the teensy is putting it into program mode, I was cycling their power supply during resets. \$\endgroup\$
    – AndGL
    Commented May 23, 2022 at 19:35

1 Answer 1


With this high voltage, I think it is a driver thermal problem with OTP protection.

The driver must use current limiting to use this high voltage and may need a fan to keep cool 35 mm type or more.

Otherwise , you have to reduce supply voltage. Acceleration parameter is also critical for slipping. Since a=F/m this is also proportionally to current and heat rise with your present thermal resistance.

So you either adjust current limit, reduce V+ or add force air cooling or reduce max acceleration in steps/second motion or examine friction loss and improve all/any until it has enough margin to NEVER fail under ALL environmental and load conditions.

OTP inside switching or linear regulators is thermally sensed and self resetting, normally.

  • \$\begingroup\$ According to the DM542 spec sheet the drivers can handle up to a 50V power input. The motors feel hot to the touch after some time, the drivers not really. I was thinking along those line too, but it doesnt seem to be caused by the components heating up as the issue sometimes occurs after a longer power down. \$\endgroup\$
    – AndGL
    Commented May 23, 2022 at 19:37
  • \$\begingroup\$ Watt about acceleration and friction? And watt are all your settings ? Add to question ;) \$\endgroup\$ Commented May 23, 2022 at 21:35

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.