Lighting LED with stepper motor

No Arduino required. (In fact, it may ruin your Arduino)

Thought this was pretty cool.

Take any two wires from a stepper motor. Connect them thru an LED. Spin the stepper by hand. Watch the LED light up :smiley:

Note: I’ve only tried with a 5-wire stepper. Doesn’t matter which way the LED is turned. I actually had 2 LEDs in parallel, oriented in opposite directions, and they both lit up. I imagine they were flickering, with one off and one on at all times, but to my naked eye, it just looked like both were on.

In my head, I knew steppers could produce electricity. Just never saw it done before.

Yeah it is justing working as a generator. It works for (almost) any motors.


Just about any motor will generate a voltage if spun; even AC motors without any magnets (induction motors) will produce a voltage if there is any residual magnetism in the armature (and if there isn’t any left, just start the motor up on AC, let it run for a minute or so, and there will be some left again). I have an old single-phase AC copier motor with an attached gearbox (powerful beast of a motor) that works well for generating voltage like this.

The biggest hurdle to overcome when using such motors (steppers and other AC motors) is getting useful voltage at a useful frequency; basically, routing and using all of the phase coils of the motor properly to obtain the most efficient output for the power being input into the system (ie, wind or water power, usually). Plenty of people have done experiments on this subject, though, mostly for off-the-grid power systems for cabins and homes. You’ll also find discussion in homebrew wind generator systems (such as at

Something also to keep in mind - in theory you could use such a setup as a speed/motion sensor; you could also (maybe?) have a circuit connected (to the Arduino) that, in between pulses to the motor (ie, PWM), you could measure the voltage/current and do something with that (though it may be simpler just to measure the current as a voltage drop across a resistor with the Arduino).

Have you tried connecting two stepping motors together?

You spin one and the other turns. :o

Also works for regular DC permanent magnet motors.

Sounds neat. I’ll have to try that too :slight_smile:

actually that does, one with some bored spare time and a couple scrap floppy drives … :wink:

Have you tried connecting two stepping motors together?

Actually, there exists a class of “motors” called selsyns/synchros, that are used in a master-slave configuration, to transmit angular position over long distances:

As noted by that website, they were mainly used where physical connection of two points by shafting was impossible or impractical, such as in the fire-control system on board a ship.

Similar devices were used in tele-operation machines constructed by GE, Hughes Aircraft, and other companies back in the 1950’s and 60’s.