uStepper S

uStepper S

VAT excluded

The uStepper S comes with everything you need to get started assembling your own uStepper S.  

The base kit consists of:

  • uStepper S board  
  • Dual mount bracket
  • Screws and nuts for mounting
  • Magnet for encoder (8 mm)
  • Heat sink

Contact us for prices on large orders (20+) and bulk packing!

Note: Read stepper motor requirements below

Stepper motor

uStepper S is an ultra-compact Arduino compatible board, with integrated stepper driver and 16-bit rotary encoder, enabling the uStepper S to be mounted directly on the back of your NEMA 17 size stepper motor. This makes it possible to develop applications using a stepper motor, without the need for long and messy wiring to an external Arduino/stepper shield. Furthermore the 16-bit rotary encoder ensures that the absolute position of the motor shaft can be tracked, enabling the uStepper S to detect any loss of steps !

Application examples can be found here !

Hardware specs

The uStepper S has the following hardware highlights:

  • Compact design, fitting on the back of a NEMA 17 size stepper motor (41.8 mm x 41.8 mm)
  • Capable of driving both NEMA 17 and NEMA 23 stepper motors
  • Incorporates the Trinamic TMC5130 with integrated ramp controller and dynamic microstepping for minimal load on the MCU and very smooth operation
  • Driver delivers 2.5 A current (peak)
  • New upgraded 328PB MCU from microchip 
  • 16-bit encoder (0.0055 degrees resolution)
  • Current is set in software by a simple command 
  • 12 I/O 
  • 3 Analog
  • 5 PWM
  • 1 x SPI 
  • 2 x UART 
  • 2 x I2C  
  • Supply voltage 8 - 42 V
  • Reverse polarity protection

All together making the uStepper S a powerful standalone Arduino compatible stepper controller !

Stepper driver chip

The uStepper S board contains a serious powerhouse of a stepper driver chip, the TMC5130 from Trinamic !

Furthermore, it features an native 1/256th microstepping processing engine, complete with acceleration and deceleration ramping profiles, to give smooth transition to the desired speed. The native 1/256th microstepping not only ensures low noise levels and smooth operation, it also improves the precision of your application, by reducing the smallest step size of the motor to an astonishing 0.007 degrees (assuming a motor with 200 steps per revolution)! To put this into perspective, if the motor was mounted onto a CNC machine, where the axis moves 10 mm per full rotation, this would correspond to a resolution of 0.195 microns !


As the resolution of the stepper driver increases, the requirement for position sensing resolution increases as well. Therefore we have chosen to use the newest magnetic encoder from Broadcom, namely the AEAT8800-Q24.

This encoder has a 16-bit resolution, which corresponds to ~0.0055 degrees ! As explained above, the encoder is used for the PID feedback loop, to correct if any steps are lost. 

In this case, the controller reads the encoder value to determine whether a step needs to be issued (in either direction) or not. Here the driver has a resolution of 0.007 degrees, meaning that a sensor reading with a greater deviation than 0.007 degrees from the expected position results in a step needing to be generated, in order to compensate.

By using an encoder with a resolution higher than the resolution of the driver positioning, the uStepper S is able to compensate properly !

Switch mode voltage regulator

In order to allow for higher motor voltages for the larger motor sizes, we have used a switch mode voltage regulator to create the 5V for the logic circuits on the PCB. By replacing the LDO of the uStepper S-lite with a switch mode regulator, the uStepper S can handle input voltages of up to 42V !

This increase in supply voltage has the benefits of increasing the stepper drivers ability to overcome the back EMF voltage generated by the motor, and hereby increasing the available torque at increasing velocities, compared to lower supply voltages.

Software Features

The uStepper S will have the same features as the S-lite + some additional ones which will be described when we get them implemented and tested. Feel free to send us ideas for features - we might then include them (though we can of course not include everything).

How to install the uStepper:

How to setup the Arduino IDE for uStepper:

How to use the library and write your own function:

What's the difference between the old uStepper, uStepper S and uStepper S-lite?

Requirements for stepper motor:

uStepper S fits standard NEMA 17 size stepper motors, that is stepper motors with a distance of 31 mm between center of holes (along the sides). The mount extends 2 mm down the side of the stepper motor, requiring you stepper to not have any obstacles like a connector conflicting with the mount. The magnet for the encoder is 8 mm in diameter, requiring a hole of at least this size. We have tested a couple of brands/models and not found problems with fitting uStepper S. We can not be held responsible for stepper motor fitting problems - if in any doubt whether uStepper S will fit your motor, contact us or buy the motor from us!


You might also like