How to drive a stepper motor via UART with your Arduino Mega using a TMC5072-EVAL

Today we show how to connect TRINAMIC’s TMC5072-EVAL via Single Wire UART to an Arduino Mega for basic operation. The wiring is limited to the basic functionality to communicate via Single Wire UART.


To use the 5V version of the Arduino MEGA you have to resolder Resistor from position R3 to R8. This enables 5V logic level for the TMC5072. The sense resistor by default is soldered to the right position. Please desolder and resolder to the left position.

Figure 1: Extract from TMC5072-EVAL schematic


Figure 2: TMC5072-EVAL with pins marked for logic supply voltage


The wiring is very simple. You will need X jumper wires. To make the wiring easier you can connect the wire directly to the Eselsbrücke. As a reference you can use the TMC5072Eval_v10_01_Schematic.pdf. Here you 1nd the signals that are on each pin. The con1guration is documented in the comment section of the Arduino code.

Figure 3: Pinheader of TMC5072-EVAL

Arduino Code

The Arduino Code below is based on the TMC-API package. The program initializes the TMC5072 and executes a simple move to position cycle. The sequence will rotate two 200 full stepper motors 10 revolutions to the one and 10 revolutions to the other direction depending on the wiring of the stepper motor. Please refer to the TMC5072 datasheet or the TMCL-IDE as a reference for the different registers.







The TMC5072-EVAL_UART zip file contains the Arduino project.

Related Pages



TRINAMIC Technology Access Package


  • Wolfgang Kurz Reply

    Can this solution also be transportet to a TMCM-1110 StepRocker Modul.

  • windy.han Reply

    when we connect the TMC5062-EVAL V1.1 to PC,after install the TMC50xx-EVAL-Setup.exe APP, alwasy return a mistake “Unexpected item with id:24 detected” and can not connect hardware. If you can give some advise?

Leave a Reply

Your email address will not be published. Required fields are marked *