
Testing the Makerbase MKS TMC2160 stepper driver. The Trinamic TMC2160 is a stepper driver IC that requires external FET drivers for higher output current capability. This stepper driver was purchased from AliExpress for $11. It is a 40 volt, 4.33 amp Peak driver (3 amp RMS), up to 64 microstep driver that works really well. It supports StallGuard2, CoolStep, MicroPlyer, passive braking, short detection, Stall detection, StealthChop2 and SpreadCycle as standard features.
The MKS TMC2160 advertised output is 4.33 amps peak current. A oscilloscope current probe was used to measure peak current. Measured current is pretty close to the DIP switch settings with 4 amps peak being the max possible for the board.
Test Conditions
Spreadcycle
16microsteps
24 Volt Power Supply
100RPM
Stepper motor used for testing
17HS19-2004S1
STEPPERONLINE.COM
1.8 DEGREE
59Ncm 83.6oz-in
2 amp/phase
1.4 ohm
2.8 volt
3mH
IRUN Setting, Measured Peak Current
IRUN 16, 1.96amps peak
IRUN 18, 2.17amps peak
IRUN 20, 2.52amps peak
IRUN 22, 2.91amps peak
IRUN 24, 3.11amps peak
IRUN 26, 3.44amps peak
IRUN 28, 3.69amps peak
IRUN 31, 4.04amps peak

This driver chip has a very smooth current output waveform using the microPlyer feature. This is a microstep interpolator for obtaining full 256 microstep smoothness with lower resolution step inputs. The stepper driver works well with 12 to 36 volt supply. Stepper motor does exhibit more vibration noise with a lower voltage power supply. A TL-Smoother should not be use with any Trinamic stepper driver chips.
Under Stealthchop mode, maximum stepper motor rpm is approximately 350RPM with the Nema17 motor I used for testing. Spreadcycle mode does not have this limit and max RPM is greater than 3000RPM. Using Spreadcycle mode, there is some motor vibration around 175rpm. This vibration is eliminated under Stealthchop mode. The TMC2160 does have a anti-resonance feature and seems to operate smoothly in the mid-band rpm region.
The current reduction feature does work. This can be enabled by the M6 switch.
The stepper driver heatsink barely got warm while running a Nema17 motor for a extended period of time at 2.3 amp peak current setting. The stepper motor did reach over 80 degrees C outside case temperature. The minimum driver current setting is 2.3 amps peak. Don’t use this stepper driver for motors that require less current. Stepper motor damage by overheating can occur. I stopped the test when the stepper motor reached 85C, this is the max recommended case temperature. The TMC2160 heatsink measured 35C. Power supply set at 36 volts. Stepper motor spinning approximately 500rpm
Retest using a larger Superior Electric M091-FD09 Nema34 Stepper motor with the driver set at the maximum 4.3 amp peak current. I stopped the test when the stepper motor reached 85C, this is the max recommended case temperature. The TMC2160 heatsink measured 49C. Power supply set at 36 volts. Stepper motor spinning approximately 500rpm
Stepper motor case temperature measured using a Omega HH21 K-type thermocouple. TMC2160 heatsink measured with a Wahl 392 platinum probe sensor. Ambient room temperature was 25C.
The maximum stepper driver supply voltage was tested using a HP6236B power supply adjusted to 40 volts. This is the max recommended by Makerbase. Over 4000rpm was achieved. No magic smoke appeared. I wouldn’t recommend using a supply voltage more that 36 volts. This is due to using only 40 volt drain to source FET drivers.
The step, direction and enable inputs have 6n137 and 4n35 optocouplers for safety.
Step pulse input testing. I set the microstep to 64, the maximum for this driver. Using a HP8116A Pulse generator, the stepper driver was able to handle over 500Khz step pulse rate while spinning the motor about 2400RPM. Power supply set to 36 volts. The driver works best with 1 microsecond pulse width or higher.
Gcode run test. I ran a 2.5 hour long gcode test program. At the end of the program, stepper motor returned to X0 position with no step loss. Power supply set at 36 volts. Lightburn laser software used as gcode sender to a Arduino Uno running grbl1.1h firmware.
TMC2160 microstep sine wave output current waveform captured with a Rigol DS1054z oscilloscope using a current probe.

Output current waveform, Stealthchop Mode
24Volts, 100rpm, 16Microsteps
Very smooth output sine wave. This is due to the microPlyer feature found on Trinamic driver chips. Much smoother than other stepper driver chips such as this one from Toshiba.
Output current waveform, Spreadcycle Mode. Sinewave does look slightly better with Spreadcycle enabled.
24Volts, 100rpm, 16Microsteps
Test setup
Close up of board with the heatsink removed. The FET drivers looks to be WSP4984
I LOVE your in-depth tests. RPM and step-loss, everything.
I would love you to look at the tmc5160, especially the small module V1.2(!) for 3d printers.
They have external fets and are supposed to do like 3A RMS. They don’t seem to be getting enough attention yet. They are only 10 bucks on Ali.
I would love the idea to have a single controller Bigtreetech Skr 1.4 board with up to 5 tmc5160 modules and run a light CNC this way (maybe with addional fan-cooling). Maybe direct wiring the power do the little modules if the traces on the controller can’t carry currents. people mostly seem to have configuration issues.
Everybody seems to just brush them off as “too small”. You can have very low rdson nowadays. They might work. I’m especially interested in paring them with common 2.2A Nema 23 motors, but I worry about peak current handling.
PS: The only thing I maybe add is if you would load the motors, during the 2.5 step-loss test a little more. It would be great if this test was really a cnc or large 3d printer equivalent test where a couple hundred grams have to be brought to high speed and stopped all the time. Maybe I just don’t know that this doesn’t matter for step loss.
LikeLike
Thank you.
The tmc5160 is a relatively expensive driver chip for only a couple of amps. AliExpress shows it to be around $13 each. Probably why it hasn’t been more popular. I’ll will pick one up soon.
My step loss test is more of a test of the drivers input optocouplers (if any) , internal step gen hardware, output fets etc.
Available torque is highly dependent on the actual step motor used. If there is step loss due to not enough torque available, a larger motor would usually solve the issue.
Nonetheless I could run that type of test using a loaded linear stage. One example is this video I did.
LikeLike
Thank you for these great and deep analysis tests on stepper motor drivers. If you have to choose a stepper motor driver running at 16 microsteps for a NEMA23 4 Amp stepper motor would you either recommend the tmc2160 or the DM542 driver (with a 36 Volt power supply)? Which stepper driver is better in regard to noise over RMP, torque over RPM and heat disipation? Did you notice motor vibration around 175RPM on the NEMA17 with the DM542 stepper driver?
LikeLike
Both work really well for driving steppers. The DM542 has a bigger heatsink so may dissipate better. The vibration is going to be very dependent on the actual motor being used. All motors resonate and these two drives do a really good job to minimize that.
The dm542 would be my first choice because it can run up to 50volts but it also costs more. For most applications, both will perform pretty good.
The biggest issue with the DM series of drives is the many clones available. I can’t say if all of them perform the same. Leadshine is respected manufacturer so I can recommend those.
LikeLike
Hi, Jim, step and dir input have a common ground connection, but Ruida has only 5v common output. Do you know any solution to use these drivers with ruida controllers?
LikeLike
Hi. I want to use tmc2160 board for my new 3d printer. we were using 2209 before and the current limitation was a problem for our new high torque steppers although 2209 runs really silent . I want to ask if the noise is high or low on lower RPMs like 100RPM? and 2Amps.
thanks.
LikeLike
The TMC2160 supports the lower noise stealthchop feature that is similar on the tmc2209. Overall noise is still dependent on type of motor used.
LikeLike