TMC2209 silent stepper driver (StepStick) with ESP32

Supply 3.3-5 V Bus GPIO
ENMS1MS2UARTPDNCLKSTEPDIRVMGND_MOTB2B1A1A2VIOGNDDIAGINDEX

Pins and ESP32 wiring

PinRoleESP32 pinNotes
ENInput (the ESP32 drives it)D25Pin order varies between boards: match by the printed label. Enable, active LOW. Connect to GND to keep it on
MS1Not wired to the ESP32—Microstep select. With UART: address bit 0
MS2Not wired to the ESP32—Microstep select. With UART: address bit 1
UARTNot wired to the ESP32—Single-wire UART (optional, via a 1 kΩ resistor for TX)
PDNNot wired to the ESP32—Power down / UART. Leave unconnected for STEP/DIR use
CLKNot wired to the ESP32—Clock input. Connect to GND (internal clock)
STEPInput (the ESP32 drives it)D26One pulse = one (micro)step
DIRInput (the ESP32 drives it)D27Direction
VMNot wired to the ESP32—Motor supply 5.5 to 28 V from a separate supply. Add a 100 µF capacitor
GND_MOTGroundGNDMotor supply ground
B2Not wired to the ESP32—Motor coil B
B1Not wired to the ESP32—Motor coil B
A1Not wired to the ESP32—Motor coil A
A2Not wired to the ESP32—Motor coil A
VIOPower3V3Logic supply: 3V3
GNDGroundGND
DIAGOutput (the part drives it)D32Stall / error output (StallGuard). Optional
INDEXOutput (the part drives it)D33Index pulse output. Optional

Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.

Sources

Try it in 3D in BoardPilot

BoardPilot Part data (JSON)

Related parts

Part data: CC BY 4.0, free to reuse with credit to BoardPilot.