TMC2208 User Manual

Post Reply
User avatar
Site Admin
Posts: 29
Joined: Wed May 08, 2019 6:50 pm

TMC2208 User Manual

Post by Eryone » Fri Aug 23, 2019 12:01 pm

Eryone TMC2208 User Manual

-------You can get PDF file to skip these step----------------------------------------
TMC2208 User Manual
(663.22 KiB) Downloaded 208 times
TMC2208 User
(684.52 KiB) Downloaded 198 times
Added the TMC2208 V1.2_A UART pin pic

Please read the user manual carefully. If you do not read the user manual and cause your stepper motor driver board damaged. We will not be responsible for this.

Eryone TMC2208 is an ultra-quiet two-phase stepper motor drive chip, continuous drive current 1.4A, peak current 2A, voltage range 4.75V-36V, 256 subdivision. The flexible Micro-Plyer interpolation unit provides up to 256 subdivisions, allowing perfect sinusoidal control even in systems with limited pulse frequencies; these are also designed because StealthChop2™ ultra-quiet technology is widely used in 3D printing. Compatible with existing 3D printer electronics, eliminating the expensive costs of the redesign. With a standard Step/Dir interface, it is easy to use.
---------Suitable for replace A4988
---------Suitable for replace DRV8825
---------Suitable for replace TMC2100

1. Prepare before install (Hardware and info)
2. Default mode (I/O mode)
3. UART mode

1. Prepare before install
Before install, you need to prepare these toolkits to adjust your stepper motor driver board.
Here is the list:
1) Multimeter
2) Slotted screwdriver

Before install, you need to check this info to continue to install:
1. Micro-step
Micro-step is driving a stepper motor at less the one full stepper movement. Under usual operating conditions, a stepper motor operates by turning one full step with every pulse of current. Micro-step allows a motor to make far finer steps. This is done by having the controller and drive send the proper kinds of current pulses to the stepper motor.

TMC2208support 256 micro-step at max. With default settings, the TMC2208 will interpolate the micro-step set by the I/O configuration pins to 256 micro-steps.
For example (A4988 and TMC2208):
micro-step.png (13.35 KiB) Viewed 4686 times

If you set A4988 to your motherboard at 1/16, when you replace it to TMC2208. You just need to set the TMC2208 to 1/16, no need to other change.

2. Analog reference voltage for current scaling or reference current for use of internal sense resistors (optional mode). A voltage between 0V and 2.5V linearly scales the current between 0 and the current scaling defined by the sense resistor setting. Adjust sense resistors to motor current I_RMS:
TMC2208_VREF.png (12.62 KiB) Viewed 4686 times
2.Default mode (I/O mode)
TMC2208 is easy to install with default mode on your motherboard.
Here are the steps:
1) Remove the old stepper driver board off (If your motherboard is new and haven’t set it, you can skip
this step)
2) Set the micro-step with jumper caps:
About how to set the micro-step with jumper caps on your motherboard, you need to refer your
Motherboard user manual at first. Then you know how to set the jumper caps
3) Use the multimeter and slotted screwdriver adjust the
VREF of the TMC2208 (Adjust the potentiometer).
Power on your PSU → Refer to this pic
check the VREF of the TMC2208 →
Use the slotted screwdriver to adjust the
VREF of the TMC2208
TMC2208_check.png (1.92 MiB) Viewed 4686 times
4) Control the motor move to test
If you find the direction of the stepper motor is incorrect. You can refer to these way
to set it to the correct direction.
□Change the stepper motor wires
a4988-main.jpg (45.48 KiB) Viewed 4686 times
TMC2208_Main.jpg (388.06 KiB) Viewed 4686 times
□Change the firmware configuration.h
Open the firmware with Arduino IDE → Change the default value to the opposite value
Default value
#define INVERT_X_DIR true
#define INVERT_X_DIR false
TMC2208_1.png (21.73 KiB) Viewed 4686 times

Then save it and upload it to your printer and it will work.

3. UART mode
Before this section, you need to check your motherboard at first.
If your motherboard supports UART then continue. If your motherboard doesn’t support then stop it.
1) UART mode – Hardware
For the hardware, you need to prepare these toolkits:
□Solder iron
□Solder wire
□Wires and 1 kΩ resistor*n
Then refer to this pic solder item
TMC2208 V1.0 UART.png
TMC2208 V1.0 UART.png (723.42 KiB) Viewed 4686 times
TMC2208 V1.2_A UART.png
TMC2208 V1.2_A UART.png (365.45 KiB) Viewed 4498 times
TMC2208V1.2 UART.png
TMC2208V1.2 UART.png (414.5 KiB) Viewed 4686 times

TMC2208 has two different connection methods. The TMC2208 need to communicate with the motherboard—Rx (Receive the command from the motherboard) and Tx (Transmit the command to the motherboard). If you want to set TMC2208 with UART mode for X/Y/Z/E0, you need 8 signal pins for it at less.
We suggest you choose the way: In-Circuit/On-board connection. That one wire then splits into two lines (Rx and Tx), with the Tx (transmit) connection being made through a 1K Ohm resistor.
TMC2208_2.png (24.69 KiB) Viewed 4686 times
2) UART mode – Firmware(Based on Marlin 1.1.9)
We need to edit these files of your firmware: Pins_xxx.h, Configuration.h, Configuraion_adv.h
□Open your motherboard pins file
Then set the Rx/Tx pin define for X/Y/Z/E0:
eg: pins_Ramps.h(Use the AUX-2 port for X/Y/Z/E0 UART mode)
TMC2208_3.png (18.62 KiB) Viewed 4686 times
□Open the configuration.h file
Then refer to this pic and enable the TMC2208
TMC2208_4.png (50.85 KiB) Viewed 4686 times
□Open the configuration_adv.h file
Search” section tmc_smart” then you can see these lines:
TMC2208_5.png (58.91 KiB) Viewed 4686 times

TMC2208_6.png (29.53 KiB) Viewed 4686 times

Code: Select all

#define HOLD_MULTIPLIER    0.5
This line limits the hold current the stepper motor can consume. Values range from 0.0~1.0.
If your stepper motor is ok then you don’t need to change it.
Your stepper motor won’t be able to hold its position: Increase this value;
Your stepper motor gets too hot when it moving: Decrease this value.

Code: Select all

#define INTERPOLATE       true
This line is for the 256 micro-step interpolations. Keep it's default mode is ok.

Code: Select all

#define X_CURRENT          800
#define Y_CURRENT          800
#define Z_CURRENT          800
#define E0_CURRENT          800
This is for your driver board supply for the stepper motor current. You can keep the 800 value as the starting value.
If you find your motor is cold: Increase this value (We suggest you set this value within 1200 and each time increase 100 if you want to increase)
If you find your motor overheats: Decrease this value (We suggest you don’t set this value too low, it may cause your stepper motor skip the steps)

Code: Select all

#define X_MICROSTEPS        16
#define Y_MICROSTEPS        16
#define Z_MICROSTEPS        16
#define E0_MICROSTEPS        16
This is for physical micro-steps. You can set it as your actual situation.

All the step of the TMC2208 UART is finished. Congratulations!
Enjoy it!

User avatar
Site Admin
Posts: 18
Joined: Sat Jun 01, 2019 3:58 pm

Re: TMC2208 User Manual

Post by kaktus » Thu Aug 29, 2019 1:38 am


Wonderful work, hopefully more of it.

Posts: 3
Joined: Thu Apr 30, 2020 2:58 am

Re: TMC2208 User Manual

Post by rhradec » Thu Apr 30, 2020 3:08 am

I have 2 quick newbie questions:

What pin the one wire TX(1K res)/Rx should be connected to? PDN or UART?

The illustration shows the wire connecting to a PDN_UART pin, but the TCM2208 ERYONE board actually has a PDN pin and a UART pin!! Should then be booth connected to the wire? or the PDN_UART in the illustration is actually the PDN pin only?

Also, it's not clear what pin shouldn't be connected to a ramps board, for example... I'm assuming whatever pin is connected to the one wire, it's not connected to the ramps board right?

thanks for the boards and the documentation!! It's awesome and I'm very happy with those boards so far!

Post Reply