Unable to trigger stall detection with Stepper Motor Driver 36v4 + NEMA 23 stepper motor

Hi all,

I’m using the Pololu High-Power Stepper Motor Driver 36v4 with an Arduino Leonardo and a bipolar NEMA 23 stepper motor (2.5 V, 2.8 A/phase, 200 steps/rev). The motor drives great, but I cannot get stall detection to trigger, no matter what I try.

My setup:

  • Wiring: Matches Pololu’s reference diagram (https://a.pololu-files.com/picture/0J10564.600.jpg).
  • Driver config:
    • Microstepping: 1/16
    • Decay mode: AutoMixed
    • Current limit: 500 mA to 4 A tested
    • STALL pin wired to Arduino pin 2, setup attachInterrupt on CHANGE
  • Stepping: ~100 µs per microstep (~10 kHz), confirmed motor movement.
  • Stall test: Grab motor shaft with pliers mid-motion. I can consitently trigger a stall.
  • Results: FAULT stays high, readStatus() never shows any error / non-zero value.

Tried:

  • Wide range of SDTHR, SDCNT, and VDIV values via SPI.
  • Step periods from 100–500 µs.
  • SMPLTH adjusted to ensure enough time between steps.
  • Verified internal stall mode (EXSTALL = 0).
  • Tried other decay modes, current settings, microstep resolutions.

Questions:

  1. Is this motor compatible with stall detection?
  2. Is my 100 µs step period too fast or slow?
  3. Is there a known good config for stall detection (SDTHR/VDIV) for NEMA 23s?
  4. Any suggestions to debug this further?

Everything else works beautifully — just need help getting stall detection to function.

Thanks in advance to the community for any help!

Hello.

Unfortunately, we have not done much with the stall detection on that driver, so we cannot offer any specific advice, but if you have not done so already, I recommend reading through the DRV8711 datasheet . Information about the internal stall detection can be found on page 24, and there are a few considerations mentioned there that might be relevant for you. For example, the time between step inputs must be greater than the SMPLTH time, the motor must be moving at some minimum speed, and you will probably need to find the correct setting of the SDTHR bits for your setup experimentally.

Brandon