i've already searched and tried for a quite depressing amount of hours, but am not able to solve this problem:

The parts are the following: - Elegoo Arduino Uno, on wich i flashed GRBL - 24v Power Supply (wich powers the stepper motor(s) - Nema24 3nm stepper motor - A DM542 Driver - bCNC (exe-build on win7 and win10)

Now, i connected one stepper-driver and stepper-motor as x-axis to the arduino. The wiring is as following: - 5v from arduino to the three + Pins (ENA, DIR and PUL) - Pin 2 to PUL, Pin 5 to DIR, Pin 8 to ENA - 24V go to + and ground port of the driver, the 4 motor-wires are wired accordingly to the driver

I downloaded GRBL from Github and flashed it to the Arduino (i can run grbl-commands from the serial monitor inside the arduino ide, grbl is unlocked), connected everything and opened up bCNC, searched for the arduino on com-port, wich is shown correctly, and connected wich works fine (in the main screen "connected" shows up). However when i try to move the x-axis under the control-panel in bcnc, nothing moves, on the screen the numbers change correctly and i get an ok in the logs, but the motor does not move a bit. I double checked the wiring and tried to write a little program in arduino ide to move the stepper motor without grbl (deleted grbl, wrote a little program wich manually set the intervals ecc), without changing the wiring, that worked... How can i debug this? Any suggestions?

Thanks in advance!

1 Answer 1


As you wrote, that you connected the positive pins of ENA, DIR and PUL to 5V, I guess you use the common anode connection scheme from the DM542's datasheet (the driver seems to have optocouplers for the inputs). That would mean the inputs are active low (a Pulse would be a transition from HIGH to LOW and then back to HIGH).

GRBL v1.1 has by default an active high pulse signal:

By default, a step signal starts at normal-low and goes high upon a step pulse event. After a step pulse time set by $0, the pin resets to low, until the next step pulse event.

(from the GRBL github wiki). I guess, this is the problem. Please try to set GRBL for inverting the pulse signal with $2 (you may well find a corresponding setting inside bCNC.

Be sure, that GRBL is outputting the signals, that your driver is expecting in your connection scheme.

  • Hi, chrisl, thanks for your response! I'll try it and let you know if it worked ;-) And yes, i use a similar datasheet with the same wiring wich was delivered with the stepper motors =)
    – pixx
    Feb 4, 2020 at 13:14
  • Hey chrisl, it worked!!! Thanks man! I had to invert the ENA-Pin too, but now it works like a charm! Now i need to figure out how to set the options when the arduino is connected to bcnc, but that's another story. Thanks again!!
    – pixx
    Feb 5, 2020 at 11:17

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.