Rotating a stepper motor a prescribed number of turns & equipment required

I am new to this forum and relatively new to stepper motor control
At present I have the following equipment.

  1. 3 off Keling stepper motors type KL23H2100-35-4B
  2. 1 off Gecko controller G540
  3. Keling power supply 48V/7.3A Switching CNC Power Supply (KL-350-48)

We wish to wind a wire spiral onto the 5mm mandrel attached to the stepper motor shaft via a keyless chuck.
The operator will key into a laptop the number of rotations to wind onto the mandrel as shown in the attached.

a) what Arduino hardware will we need including interface cables attached to USB of laptop
b) What software can we use.

all this needs to be aimed at the beginner as we have no software experience here.

Many thanks Paul



Why have you got three stepper motors, it looks as if there is only one in the diagram?

Does the system work at present? I would have expected the wire to get fankled if the wire feeder was not being moved along as the motor turned.

The manual for the controller is here;

It looks like you need a male 25DB plug to plug into the driver. then the manual says;
"Your step pulse width must be at least 2uS wide and the pulse polarity for the step and direction signals are ACTIVE HIGH".

So you write your own code to set the direction and send output pulses.
Start with just doing a fixed number of turns. Then you could maybe host a small webpage on the Arduino that you could browse to and use as an interface to set a variable number of turns - just a thought, it would mean you could control from a PC without having any code on the PC just a browser.

Hi Ardly

  1. No reason for three stepper motors. We would only need 1off for this application
  2. This system is operated manually. A person holds the wire in their hand (with cloth) and follows the spiral as it is created alone the mandrel. See attached photo.
  3. System is not made yet. It is what we would like to do
  4. Advised by Gecko themselves the following. "For a simple move (generally non CNC applications) you can use an Arduino to run the G540.

My question having never used Arduino is what Arduino hardware do I need.

Regards Paul

Please display your image(s) in your post so we can see it(them) without downloading it(them). See this Simple Image Guide

Any Arduino should suitable. An Uno is the best choice for a beginner because most programs and add-ons work with it.

These links may help

Stepper Motor Basics
Simple Stepper Code

also look up the AccelStepper library

Serial Input Basics - simple reliable ways to receive data from your PC.


You need a male 25DB connector.
At face value you only need four connections to that;

  • Pin 2 X axis Step (output from Arduino)
  • Pin 3 X axis direction (output from Arduino)
  • Pin 15 Fault (input to Arduino)
  • Pin 25 GND

You can use an Arduino Uno.
You need to check exactly how the I/O should be wired to the UNO electronics is not my area and I don't want you to zap anything.

You will need a USB A-B Cable to connect to a PC running the IDE for programming purposes. arduino.html?gclid=EAIaIQobChMIvOOazYCI2wIVsQrTCh3L1goUEAQYBSABEgKfM_D_BwE

You then write your own code.

As mentioned you may also want an ethernet or wireless shield so that you can make a user friendly interface to run the machine from the PC - but you don't need to do that at first.

When you run this it will still be manual because somebody will still need to feed the wire by hand unless you build some kind of mechanical following mechanism.

You will probably also want an input so that whoever is feeding the wire can get the stepper to start. A press button might be an idea so that the motor stops when the button is released in case the person feeding the wire gets tangled. A E-Stop to cut the power would also be an idea.