The fourth video describes a redesign that I commissioned from Fiveer. I then built this and am very satisfied.

The third video describes an XMoto board, for the next bigger gear motor from Polulu, with more power and a diameter of 20mm - XMoto20D:

The second video describes my test environment and I run some tests. We look at repeatability as well as backlash and performance: 

Script from my first video: 


Today I would like to present you one of my projects, which was a lot of fun for me.

I had always wanted to build a stepper motor from a simple DC motor, and these small geared motors have caught my eye for a long time.

My solution is very compact and I am sure you will like it. This DC motor can be controlled by the signals direction as well as step like a normal stepper motor with driver, only that my solution already brings the driver.

But let's compare a stepper motor with my solution.

This is a normal stepper motor, which is used in many projects like 3D printers and the like.

We have a step angle of 1.8 degrees, a holding force of about 3.7 kg on one centimeter. That basically means the stepper motor can hold 3.7 kg, with a one centimeter lever. At this maximum load, the motor needs 1.5Amps on each phase. The motor weighs 255 grams.


Now the second motor comes into the round ... a gear motor with extended shaft from Pololu. We have here the "HighPower" version with 1.6A maximum current and a gear ratio of 380 to 1. This one manages an impressive 5kg holding power on the centimeter and weighs just 10 grams. Well, with the additional technology and housing, we might get to 20 grams.

You can see what I'm getting at, this much smaller motor creates more holding power and uses less power. But that's not all, it also controls the position of the motor and has a servo function that constantly corrects the position of the motor automatically.

Of course, we still have to make a few changes to the technology before this motor understands step as well as direction signals ... so let's unscrew the little guy and take a closer look at the technology behind it.

First we take off the cover, as you can see, I soldered 2 small PCBs in a stacking process to the contacts of the motor. Now I want to introduce them to you. For this I have not yet soldered PCB's here on the table.


The first PCB is soldered directly to the motor and is called "XMoto Driver". In the middle there is a hole for the through shaft, on this shaft there is a magnetic disk with 3 embedded magnets each ... this generate 12 steps per revolution with 2 hall sensors.

The Hall sensors are mounted in a 90 degree angle on the driver and send their signals to the second PCB, which I will introduce in a moment.

Of course we still need a DC motor driver, I chose the DRV8837 for this. This one comes in a tiny 2mm package and is able to control the motor's direction and speed via PWM signals. It is also capable of stopping the motor and holding the load.


All well and good, but now how do we turn a DC motor into a stepper motor? This is done by the second board, which is connected to the driver via the large contacts with plus and minus as well as a plug-in socket strip and is called XMOTO STM.

As the name already suggests, a microcontroller is installed here, which takes over the task of a stepper motor driver. At one input it listens to the step impulses, at the other one to the direction signals (STEP and DIR) and moves the motor via the motor driver accordingly. It constantly compares whether the motor is in the correct position, if not, the position is actively controlled. So it is a servo function that always corrects the position of the motor.

The signals between the boards are transmitted via a 1mm pin header, this includes the signals of the sensors and the PWM signals, with which the motor is controlled.

Since the motor needs 6V, but our microprocessor needs 3.3V,...

Read more »