How to control this stepper motor?

So I picked up an "LED disco light" off Ebay:

(If that link is broken, try searching for "DMX512 Disco DJ Stage Lighting Digital LED RGB Crystal Ball Effect Light").

Anyway, the light is great, but the programming is awful. For example there's no way to make the lights stay still or even slow down much, so its super frenetic. My solution has been to put a disconnect switch on the stepper motor, which works, but I was thinking the much more interesting and educational route would be to make it all controlled by an Arduino.

Here's 2 pictures of the servo motor that rotates the LEDs:

Edit: here's the data sheet: (thanks JimboZA!)

As you can see, the stepper motor has 5 wires: 4 grouped together and 1 set apart.

Wondering if anyone has any tips for controlling that?

One interesting feature is it has a clutch on it, so if it turns against the wires it will simply slip instead of putting much pressure on the wires. So even if I had imperfect control of the motor, I'd be unlikely to damage anything.

Or, failing that, a replacement motor? Its pretty beefy, about 3 inches tall, though that's probably overkill as it only holds 6 LEDs and a small heatsink.

And on the subject of those LEDs, if possible I'd also love to control those. They're 3 watts each though. Any tips on controlling those, ideally with a bit of PWM fading?

I Googled the part number 39byg101 from the motor: it's a this stepper, not a servo...

Thanks JimboZA! I edited the post to reflect that.

Maybe with that part number you could dig deeper on the 'net and find the actual data sheet- that link I gave isn't much other than an indication it's a stepper, since it says "Step Angle" at the bottom 8)

Well it gives voltage, current, resistance, inductance and moment of inertia... What more are you wanting! (Google finds a better datasheet at JameCo btw)

Actually the part number is 39BYG101-1, the -1 probably relates to the non-standard connector, the datasheet implies 4-wire bipolar. Its not clear whether the 5th connection is because this one is unipolar 5-wire motor or its simply a case-ground wire... Multimeter could help determine this.

What more are you wanting!

The wiring, seemingly 8)

The wiring, seemingly

Yup, and any tips on using it. That's why I'm here, because I have no idea how to turn that data sheet into controlling it from the Arduino.


What more are you wanting!

The wiring, seemingly 8)

A multimeter can be more useful - motors come in many versions and datasheets are often very sketchy (custom versions of a motor are often made without public documentation). Getting the phases right is best done by testing and swapping leads - I've got three "identical" bipolar steppers with the same four colours for the wires, but one of them is wired differently to the other two - Friday afternoon shift at the factory?!

I suspect that electrical wiring is a late-binding step in motor manufacture - the motors are stacked and stored with bare internal terminals, and when an order comes in the customer may specify the wires length/colour/insulation/ connector - only then do the manufacturers add wiring and close the motor. Or they pass it to an OEM to complete.