Driving a (powerful) stepper motor by DMX with arpschuino.

arpschuino and stepper

Let's see how to drive a powerful stepper motor, by DMX, with arpschuino and a driver.


* We have no agreement with the mentionned companys, images and links are just provided as examples.

This driver allows the control of any bipolar (4-wire) stepper motor, from 0.5 to 3.5 A, which is already large motors. For even more powerful engines, see this one for example, for a driver of 7.2 Amps with similar operation.

The power supply must be chosen according to the motor, do not hesitate to oversize it a little. In the case of a 12V motor, it can also be used to power the arpschuino.

Set up

The first step is to configure the driver using the table printed on its case.


The first three dip switches are used to define the number of steps per revolution. We are going to start on an average value of 800 steps. Which gives on-off-off. The other three allow to adjust the intensity of the current delivered by the driver. Choose a value less than or equal to the intensity of your stepper motor. Our engine is for 4.2A, so we choose 3.5A (off-off-off).

dip switchs


Always work power off. Connect the power supply, GND (-) and VCC (+).

Then connect the 4 wires of the engine, the colors generally correspond to the photo, otherwise refer to the datasheet of your engine.


We will use the arp> breadboard adapter to connect the driver to the arpschuino, we can also choose to solder directly a cable.

Connect the ground (gnd or -) to the DIR - and PULL - inputs. Then D3 of the arpschuino or 1 of the adapter, at the input PULL + (blue wire). And finally D5 of the arpschuino or 2 of the adapter, at the entry DIR + (yellow wire).


Edit 2018/04 : we can now use the arp>terminals to connect the driver to the arpschuino:

wiring with arp>terminals

The source code

With the default code, the arpschuino does not control stepper motors.

It is necessary to reprogram the arpschuino (see this tutorial) with arpschuino_stepper available on download page.

code source

With this source code, a first DMX chanel is used to define a position, a second channel to control the speed.

Let's try ?

It's time now to power the arpschuino (the red LED should light up), the driver and to connect the Dmx cable. As soon as the signal is received, the green LED blink rapidly.

We can now check the all, by changing the level of the first DMX address (1 by default or defined by the arpdress board).

Is the stepper motor run ?

Yeh it's work !

Note that the board no longer listens to the DMX while the engine is running. A curve allows a smooth movement, accelerating gradually, then slowing down before stopping.

For these reasons, it is better to send the positions cut, and manage the speed with the next channel.

The first three dip switches control the number of steps per revolution. The different positions will change the number of round that the engine can do and its speed.

In case of worries or hesitation do not hesitate to contact us: