uStepper S32

A step motor (also called a stepper motor) is a brushless DC electric motor that divides a full rotation into a number of equal steps. A step motor controller sends electrical pulses to the motor to move it by precise increments. The challenge with traditional open-loop step motor control is that the controller has no way to verify the motor actually reached its target position. That is where closed-loop stepper motor control makes the difference.

Introducing uStepper – Unleash the Full Potential of Your Stepper Motors!

Are you tired of the limitations of traditional stepper motors in your precision-critical applications? Do you want to ensure that your 3D printer, robot, or any other device using stepper motors delivers flawless performance every time? Look no further, because uStepper is here to revolutionize the way you use stepper motors!

uStepper takes the performance of stepper motors to a whole new level. Stepper motors are undoubtedly cost-effective and precise, making them ideal for various applications requiring precise movement. However, their one drawback is their lack of feedback, leaving you uncertain whether they have moved to the exact position you intended.

This uncertainty can lead to serious consequences, especially in critical applications like 3D printing or robotics, where precision is everything. But worry no more, because uStepper has the solution!

Imagine a stepper motor that is continuously aware of its position and its intended destination. With uStepper you can now monitor and compensate for any mishaps in real-time. Our software ensures that if anything goes wrong, uStepper will quickly and intelligently adjust its movements to get back on track, ensuring flawless results every time.

The power of uStepper lies in its integrated design. It not only drives and monitors the stepper motor with precision but also incorporates a programmable microcontroller with an extensive array of inputs and outputs. This all-in-one solution allows uStepper to intelligently monitor its position while giving you the flexibility to customize its behavior according to your specific needs.

Furthermore, we understand the importance of convenience and accessibility for professionals, hobbyists, and students alike. That’s why uStepper is fully compatible with the Arduino IDE, making programming a breeze. Whether you’re a seasoned engineer, a DIY enthusiast, or a curious student, uStepper is ready to be a perfect fit for your project.

But that’s not all! We’ve designed uStepper to be compact and easy to integrate with Nema 17 stepper motors, which means you can seamlessly install it on the back of your motors without any hassle. Say goodbye to bulky add-ons and complicated setups!

In summary, uStepper is the ultimate solution to improve the performance of your stepper motors. With its intelligent feedback system, onboard microcontroller, and Arduino compatibility, uStepper ensures unmatched precision, reliability, and ease of use.

Open Loop vs Closed Loop Stepper Motor Control

The key difference between open loop and closed loop stepper motor control is feedback. In an open loop system, the step motor controller sends pulses to the driver and assumes the motor follows them. If the load exceeds the motor's torque, steps are lost without detection — causing position errors that accumulate over time. This can ruin a 3D print, misalign a CNC cut, or cause a robot arm to miss its target.

uStepper solves this with closed-loop stepper motor control. A magnetic encoder on the motor shaft continuously reports the actual rotor position back to the controller. If a step is missed, the controller detects the deviation and adjusts the drive signal to correct it — all in real-time. The result is reliable, precise motion control without the risk of undetected step loss.

Feature Open Loop Stepper Control Closed Loop (uStepper)
Position feedback None Magnetic encoder, 0.011° resolution
Step loss detection Not possible Real-time compensation
Torque efficiency Requires 50%+ torque margin Higher usable torque
Reliability Steps lost under load Auto-corrects errors
Programming Standard step/dir Arduino IDE compatible

Key Components

So the key ideas behind uStepper was presented in the intro. But for achieving all the nice features that uStepper provides a number of key components are required.

Key components of uStepper S32

Microcontrol Unit (MCU)

uStepper S32 incorporates a 32-bit 84MHz Cortex®-M4 microcontroller providing more than 20 times the computation power than the previous uStepper S and S-lite controllers.

STM32 MCU

So, what do you need all that computation power for? Well, we can provide even faster reacting control loops while there’s still plenty of room for adding your custom Arduino code to do precisely what you need to do in your application!

Driver

The driver on uStepper handles the stepper motor power stage. On the uStepper S32 the same driver is used as on the uStepper S – a driver with integrated acceleration and velocity handling which offloads the MCU and gives high performance control. One of the key issues of having a motor drive is the heat dissipation cause by switching the relatively large currents.

Driver

To accomodate this we have used large internal copper planes for distributing the heat to the whole board, thereby using the board as heat sink. This functions well up to a current of ~1-1.5 A after which a heat sink and maybe even active cooling is needed depending on the load profile.

Encoder

The encoder makes uStepper S32 capable of closed loop position control – eliminating one of the key issues of the open loop stepper motor control. The encoder used on uStepper S32 senses a diametrically magnetised magnet placed on the motor shaft to sense the shaft position.

Encoder

uStepper S32 provides you with a resolution of 0.011 degrees! Furthermore, the uStepper S32 provides absolute multi-revolution feedback at a rate of up to ~200 kHz – which is used in the feedback algorithm to move the stepper motor precisely to the position you command it to!

Voltage Regulator

The stepper driver needs a higher supply voltage than 5 V in order to be able to drive the stepper motor at speeds that makes sense in most real applications. This of course requires a voltage regulator for supplying the MCU and pheripherals with 5 V or 3.3 V. Without this, the board would require two voltage sources to operate! The voltage regulator also contributes to heat generation when lowering the supply voltage to the required 5 V and 3.3 V.

Efficiency

The uStepper S32 incorporates a switch mode regulator allowing for up to 42V board supply voltage!


Ready to get started with closed-loop stepper motor control? Browse our product documentation and application guides below.

Step motor controller product sheets Setup guide 3D Printing Guide CNC Guide Robotics Guide