Overview

The TMC2209 (TMC2209-LA) is an ultra-silent 2-phase stepper motor driver IC manufactured by Trinamic (Analog Devices). It represents the state-of-the-art upgrade over the TMC2208, featuring higher continuous current handling (1.4A1.4\text{A} to 2.0A RMS2.0\text{A RMS}), lower internal MOSFET resistance (RDS(on)=170 mΩR_{DS(on)} = 170\text{ m}\Omega), and advanced StallGuard4 load measurement for sensorless homing.

Packaged in a 28-pin QFN or 16-pin SilentStepStick module footprint, the TMC2209 operates on motor voltages from 4.75V to 28V DC. It incorporates StealthChop2 for silent motor operation, CoolStep for up to 75% energy savings, and a single-wire UART interface with 4 hardware-selectable slave addresses, enabling multiple drivers to share a single UART bus.

Quick reference

Motor Supply Voltage (VM)4.75 V to 28 V DC
Logic Supply Voltage (VIO)3.0 V to 5.25 V DC
Phase Current Rating1.4 ARMS1.4\text{ A}_{\text{RMS}} continuous (2.0 ARMS2.0\text{ A}_{\text{RMS}} with active cooling, 2.8 A2.8\text{ A} peak)
Microstep ResolutionsUp to 1/64 native (Interpolated to 1/256 via MicroPlyer)
Key TechnologiesStealthChop2 (Silent), StallGuard4 (Sensorless Homing), CoolStep, SpreadCycle
UART AddressabilityUp to 4 drivers on 1 single-wire UART bus via MS1/MS2 pins
Special OutputDIAG pin for stall detection interrupt to MCU GPIO
Package28-pin QFN (5×5 mm5 \times 5\text{ mm}) / SilentStepStick 16-pin Module

Pinout (SilentStepStick 16-Pin Breakout Header)

text
                       ┌─────────────┐
                 [EN] 1│ 1        16│ [VM] (Motor Power 4.75-28V)
                [MS1] 2│            │15 [GND] (Motor Power GND)
                [MS2] 3│  TMC2209   │14 [2B] (Motor Phase B)
               [DIAG] 4│ SilentStep │13 [2A] (Motor Phase B)
             [UART/RX]5│   Stick    │12 [1A] (Motor Phase A)
                [VCC_IO]6│          │11 [1B] (Motor Phase A)
               [STEP] 7│            │10 [VIO] (Logic Power 3.3/5V)
                [DIR] 8│            │9  [GND] (Logic Power GND)
                       └─────────────┘
PinNameTypeDescription
1ENInputDriver Enable (Low = Enable outputs; High = Disable)
2MS1InputMicrostep Select Pin 1 / UART Address Bit 0
3MS2InputMicrostep Select Pin 2 / UART Address Bit 1
4DIAGOutputStallGuard4 Stall Detect Interrupt Output (Active HIGH)
5UARTI/OSingle-Wire UART Data Line (Connect to MCU TX/RX)
7STEPInputStep Pulse Input
8DIRInputDirection Input
10VIOPowerLogic Supply (+3.0V to +5.25V DC)
11–141B, 1A, 2A, 2BOutputStepper Motor Phase Connections
15GNDPowerPower Ground
16VMPowerMotor Power Supply (+4.75V to +28V DC)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Motor Supply VoltageVMV_M4.7524.028.0VDC
Continuous Phase CurrentIRMSI_{RMS}1.42.0AWith heatsink & cooling fan
Peak Output CurrentIPEAKI_{PEAK}2.8AShort transient peak
Power MOSFET On-ResistanceRDS(on)R_{DS(on)}170230VVM=24V,TJ=25CV_{VM} = 24\text{V}, T_J = 25^\circ\text{C}
Standby Current ReductionIHOLDI_{HOLD}50%Automatic motor idle current drop

Sensorless Homing with StallGuard4

StallGuard4 measures motor back-EMF during motion. When an axis hits a mechanical physical endstop, motor load spikes and StallGuard triggers the DIAG pin HIGH:

cpp
// Klipper / Marlin Sensorless Homing Configuration Principle
// Connect DIAG pin directly to MCU Endstop Input (Stop on HIGH signal)
// TMC2209 UART registers set StallGuard threshold (SGTHRS) dynamically.

Common mistakes

  • Exceeding 28V28\text{V} supply voltage: Unlike the TMC2208 (rated for 36V36\text{V}), the TMC2209 absolute maximum motor supply voltage is 29V29\text{V}. Operating on a 36V36\text{V} power supply destroys the driver.
  • Forgetting a 1 kΩ1\text{ k}\Omega resistor on RX/TX single-wire UART join: When connecting the MCU TX and RX pins to the single-wire UART pin on TMC2209 modules, place a 1 kΩ1\text{ k}\Omega resistor between MCU TX and the shared line to prevent bus contention.

Notes

  • TMC2209 vs TMC2208: TMC2209 supports higher current (2.0A2.0\text{A} vs 1.2A1.2\text{A} RMS), lower heatsink temps (170 mΩ170\text{ m}\Omega vs 280 mΩ280\text{ m}\Omega), StallGuard4 sensorless homing, and up to 4 UART addresses on a single pin.

Assets & downloads