MKS DLC32 looks like ideal board when using TMCs #29
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
We wouldn't have to solder anything but uarts and these boards are dirt cheap.
MKS DLC32 V2.1: TMC2209 UART Modification Guide
1. Why the MKS DLC32 V2.1?
When building a custom ESP32 project requiring stepper motors and an extremely small footprint, the Makerbase MKS DLC32 V2.1 is an exceptional choice.
2. The UART Challenge
Out of the box, the MKS DLC32 V2.1 routes traces to the stepsticks only for Standalone (STEP/DIR) mode. It does not natively route the ESP32's UART communication pins to the stepstick sockets.
Without UART, you:
To unlock these features, you must manually run jumper wires from the ESP32 to the
PDN_UARTpin on your stepsticks.3. Can I Use Endstop Pins for UART?
Short Answer: No, unfortunately you cannot.
The Technical Reason:
On the MKS DLC32 V2.1, the Endstop inputs (X-, Y-, Z-) are wired directly to the ESP32's GPIO 35, GPIO 36, and GPIO 39.
In the ESP32 silicon, GPIOs 34 through 39 are strictly INPUT-ONLY pins. They do not possess the internal hardware (output drivers) required to transmit data. Because TMC2209 UART communication is half-duplex (it sends and receives over a single wire), the pin must be bidirectional (capable of both TX and RX).
Alternative Pin Choices (Preserving I2C)
If you want to keep the I2C pins (GPIO 21 and 22) free for other sensors or a display, you need to hijack other available bidirectional GPIOs on the board. Excellent candidates include:
4. How to Wire the PDN_UART Hack
Step 1: Fix the 5V Logic Mismatch (CRITICAL)
The ESP32 uses 3.3V logic, but the DLC32 feeds 5V into the
VDDlogic pin of the stepstick sockets. If you wire the UART pin directly, the driver will blast 5V into your ESP32's 3.3V pin, which will damage or destroy it.The Solution:
Desolder or snip off the
VDDpin on the bottom of your TMC2209 stepstick so it does not insert into the DLC32 socket. Then, solder a small jumper wire from the stepstick'sVDDpad directly to any 3.3V source on the DLC32 board (there is a 3.3V pin right next to the I2C header).Step 2: Solder the UART Jumpers
Identify the PDN_UART pin on your stepstick (usually the 4th pin down on the side with the STEP/DIR pins).
GPIO 32/ Probe).GPIO 25on the EXP header).Step 3: Configure Your Firmware
In your custom code (e.g., using the
TMCStepperlibrary), map the hardware serial instances to the pins you hijacked:borrowing from exp1/exp2 is fine
Don't snip off VDD, use a 470Ω to 1kΩ resistor in series with jumper wire
Or we could also use different easily accesible board
MKS DLC32 V2.1: TMC2209 UART Modification Guide
1. Why the MKS DLC32 V2.1?
When building a custom ESP32 project requiring stepper motors and an extremely small footprint, the Makerbase MKS DLC32 V2.1 is an exceptional choice.
2. The UART Challenge
Out of the box, the MKS DLC32 V2.1 routes traces to the stepsticks only for Standalone (STEP/DIR) mode. It does not natively route the ESP32's UART communication pins to the stepstick sockets.
Without UART, you:
To unlock these features, you must manually run jumper wires from the ESP32 to the
PDN_UARTpin on your stepsticks.3. Can I Use Endstop Pins for UART?
Short Answer: No, unfortunately you cannot.
The Technical Reason:
On the MKS DLC32 V2.1, the Endstop inputs (X-, Y-, Z-) are wired directly to the ESP32's GPIO 35, GPIO 36, and GPIO 39.
In the ESP32 silicon, GPIOs 34 through 39 are strictly INPUT-ONLY pins. They do not possess the internal hardware (output drivers) required to transmit data. Because TMC2209 UART communication is half-duplex (it sends and receives over a single wire), the pin must be bidirectional (capable of both TX and RX).
The Best Pin Choice: The EXP1 / EXP2 Headers
Since the endstop pins won't work and you want to preserve the I2C pins, the EXP1 and EXP2 headers (normally used for the offline TFT display) are the perfect target. These headers expose several bidirectional GPIOs that are completely free to use.
Excellent candidates on these headers include GPIO 25, GPIO 26, and GPIO 27.
4. How to Wire the PDN_UART Hack
Step 1: Fix the 5V Logic Mismatch (CRITICAL)
The ESP32 uses 3.3V logic, but the DLC32 feeds 5V into the
VDDlogic pin of the stepstick sockets. If you run a plain wire, the TMC2209 will transmit 5V on its UART pin straight into your ESP32, which can slowly degrade or instantly fry the pin over time.The Inline Resistor Solution:
Since you prefer not to physically modify the stepsticks (no clipping or desoldering pins), you need to limit the current on the data line.
Step 2: Solder the UART Jumpers
Identify the PDN_UART pin on your stepstick (usually the 4th pin down on the side with the STEP/DIR pins).
Step 3: Configure Your Firmware
In your custom code (e.g., using the
TMCStepperlibrary), map the hardware serial instances to the EXP header pins you hijacked: