TMC2209 Drivers BTT

Home / 3D Printer Parts / Drivers / TMC2209 Drivers BTT
3D Printer Parts | Drivers

These guides have been written for anyone stuggling with driver selection.
I hope that you will like them.
Leave a comment if you want to add anything into the article.

BigTreeTech TMC2209 drivers

These drivers do not need any modifications to between DIR/STEP and UART mode. These drivers are better than TMC2208 and TMC2130 - they offer higher current. Transistors on the board have lower resistance (0.2 ohm insted of 0.3 ohm) which leads to smaller losses creating smaller heat. So no more problems with overheating.

Technical specifications

Microstepping: up to 256 microsteps per step
Control type: STEP/DIR + SPI
Logic voltage: 3.3/5V
Input voltage: 4.75-28V
Output RMS current: 2A
Output peak current: 2.8A 
SpreadCycle: highly dynamic motor control chopper
StealthChop2: ultra quiet technology
MicroPlyer: microstep control
StallGuard4: locked-motor test
CoolStep: current dynamic control

STEP/DIR mode

This is a standard mode without FW UART configuration.
Microstepping, driver current and other features have to be set manually with pins or trimmer (potentiometer). 

This driver does not need to solder anything to switch between DIR/STEP and UART modes.

If you really want to use the DIR/STEP mode without the advantages of UART communication, you have to use this formula to calculate desired current.
Rotate the potentiometer (trimmer) clockwise to reduce the Vref voltage – reduce the current.
Rotate the potentiometer (trimmer) counterclockwise to increase the Vref voltage – increase the current.

Stepper driver configuration in a DIR/STEP mode is controlled by pins.
You have two options – LOW and HIGH.
This means that if you want to set for example microstepping, you have to open picture below with the pin configuration and bring a LOW or HIGH signal to each pin.
LOW means GND – common ground
HIGH means VCC – logic voltage (usually 3.3V or 5V)

UART mode

UART mode offers setting up driver parameters via FW.
You can easily change microstepping, current and many more parameters with acommand send via Octoprint / Pronterface (and PC) / LCD on the printer.

This is the best thing you can do.
I highly recommend buying a new motherboard too, such as a 32-bit BigTreeTech SKR 1.3.
It was designed as a user friendly board where you can easily use most of the stepper driver types just with using jumpers on the board and placing them on another positions.

However UART configuration in Marlin for some older boards such as Trigorilla is a little bit tricky – you will need to modify the pins a little bit, use some more wires and define UART pins in your FW.
Read this guide CLICK HERE

STEP/DIR mode Marlin configuration

Make sure that you have modified your Marlin configuration files according to BigTreeTech instructions before using the 3D printer after the upgrade.

Open Configuration.h file in your Marlin FW folder and find a “Stepper Drivers” section.
Define all stepper drivers you need, for example:

X_DRIVER_TYPE, Y_DRIVER_TYPE, Z_DRIVER_TYPE, E_DRIVER_TYP

And select TMC2130_STANDALONE, so each stepper driver definition will look like this:

#define X_DRIVER_TYPE TMC2209_STANDALONE

The picture on the right is a pin definition of a BTT SKR1.3 board.
You can find it in:
Marlin – src – pins – board type – board

Do not forget to remove this DIAG pin if you are not going to use it.
It can be used for sensorless homing, but without using it, you have to cut it out, it will not work otherwise.

UART mode Marlin configuration

Make sure that you have modified your Marlin configuration files according to BigTreeTech instructions before using the 3D printer after the upgrade.

Open Configuration.h file in your Marlin FW folder and find a “Stepper Drivers” section.
Define all stepper drivers you need, for example:

X_DRIVER_TYPE, Y_DRIVER_TYPE, Z_DRIVER_TYPE, E_DRIVER_TYPE

And select TMC2209, so each stepper driver definition will look like this:

#define X_DRIVER_TYPE TMC2209

Do not forget to remove this DIAG pin if you are not going to use it.
It can be used for sensorless homing, but without using it, you have to cut it out, it will not work otherwise.

Open your configuration_adv.h file in Marlin folder and check all of these settings.
Configuration depends on your USE CASE.

Similar Posts

Leave a Reply

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