Cute and Tiny Stepper Motors




Introduction: Cute and Tiny Stepper Motors

About: I'm from India and love making projects on electronics, specially with arduino. Internet is the only guidance I have and I've been into these since I was 11.

The general perception of Stepper Motors nowadays is the ones used in the 3D printers, that is Nema 17, but to my surprise, I came across some really weird stepper motors on one of my expeditions on Aliexpress, the fascinated by the fact that they are not just tiny motors but full-fledged bipolar stepper motors made me order some of them for just a bit of tinkering.

It turns out that the motors do not need much of a hassle to get them going, as they have very minimal current requirements(I don't know exactly how much), hence, can be directly powered through Arduino's Pins.

Let's get started!

For those who would rather watch a video tutorial, here it is, however, I would recommend watching the video to at least get the idea of how it actually works!

Step 1: Things Required

Not much of a list here.

1.) Arduino (I used mega, you can use anything Arduino compatible)

2.) Stepper Motor (I bought them off Aliexpress)

3.) Soldering Iron (To solder some wires to the motors)

3.) A computer to upload the program to Arduino

Step 2: Getting the Stepper Motor Ready

This is probably the most delicate part, considering the tiny size of the motor that has to be soldered on the wires to be connected to Arduino, most of the stepper motor of this size has flexible PCB attached which consists of four wires of two coils.

I separated the individual wires on the PCB by cutting through an old school razor blade so that it would be easy to solder on the wires connecting the coils.

After separating the wires, get rid of the insulation and solder the wires, for wires I used some 16 Guage Enamel coated wires usually used for winding motor coils.

Step 3: Connect the Motor to the Arduino

This is an easy part, the bipolar stepper motor has two coils so four wires, each of which will be connected to the digital pins of the Arduino in the following way.

Pair 1 -- Pin 8 and Pin 9

Pair 2 -- Pin 10 and Pin 11

Step 4: The Stepper Library

As described in the intro, the Stepper Library is inbuilt in the Arduino IDE so you don't need to install it, with this library the stepper motor can be driven directly through the pins of Arduino, this only works in the Full Step mode though.

I don't know the current requirement of the Motor but, being so small, I drove it directly off Arduino's pins for quite a while without any problem.

Step 5: Upload the Program!

Inside the Arduino IDE, go to Files->Examples->Stepper->stepper_oneRevolution. Upload the stepper_oneRevolution to Arduino, but make sure the pins associated with the pairs of coils are the same as you plugged in.

Finally, Upload and you will see your cute little Stepper motor up and running. If you want to see how it works, I recommend watching the video attached int the intro.

Thanks For Reading!!



Robotics Contest

Participated in the
Robotics Contest

Be the First to Share


    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge
    • Backyard Contest

      Backyard Contest
    • Meatless Challenge

      Meatless Challenge



    Question 1 year ago on Step 5

    Can this step motor do micro-stepping? let's say over >5000 steps per revolution?


    Answer 1 year ago

    Doubtful. I used a similar micro stepper, driving it with a Wemos D1 ESP8266 for my experiments, directly from 4 I/O pins. With the 3v3 the D1 gives the motor the torque is almost non-existent. It can turn something light mounted on the shaft, but as soon as it hits some resistance, it won't have the power to set through and will hence lose steps.
    My motor had 40 Ohm resistance on both coils, so at 3v3 the current could have gone up to 80mA, way above the max. current of 12mA an ESP8266 is rated at. I have not measured whether the ESP8266 is somehow limiting the current and that maybe this causes the very low torque, but at least it does not seem like a good idea to drive these things directly from GPIO pins.

    In my motors it seems to take 20 full steps (so actuating the next coil) to make a full turn, so roughly 18 degrees per step. I say "roughly" because I noticed that not every step gave an equal amount of rotation. Implementing half steps by powering a combination of the two coils was easily done in the code I wrote and although it does work, due to the unequal rotation for the different windings, also the half steps are not making the rotation much more "fluent". Again however, this might all be linked to insufficient power from the GPIO pins.

    So, basically I'd need some way to get more current to the motor. I assume 2 H-bridges or an actual driver would be needed, but that's beyond my current electronics experience and then info on the max-current these motors can handle would probably also be needed, right?


    2 years ago

    omg, it's so tiny i love it.