Tutorial for Using External Drive
External Drive Configuration Guide
Important Notes
- This tutorial is based on Klipper firmware for configuration
- The module supports two wiring methods, please choose based on actual conditions
- After selecting a wiring method, ensure the hardware connection matches the chosen method
Module Selection
- Standard Pass-Through Module
- 5V Boost Module
Compatible Motherboards: SUPER series, GEMINI series, E3 series
Description: The standard module only performs signal relay without voltage boost. If the motherboard outputs 3.3V, the module output remains 3.3V; if the motherboard outputs 5V, the module output remains 5V.
If the external drive requires 5V input but the motherboard drive signal is only 3.3V, using a standard pass-through module may result in the motor not rotating, rotating in only one direction, or having directional abnormalities.
Compatible Motherboards: D series, C series
Description: The 5V boost module converts the 3.3V drive signal to 5V; if the motherboard originally outputs 5V, the module output remains 5V.
The drive pins of D series and C series motherboards typically output 3.3V signals. If the external drive cannot stably recognize 3.3V input, please use the 5V boost module.
After installing the 5V boost module, do not immediately connect the external drive. First, complete the safety check following the 5V Module Test Guide to confirm the module and configuration are normal before wiring.
Selecting a Wiring Method
Please select the corresponding wiring method based on your hardware configuration:
Before selecting or changing the external drive wiring method, completely shut down the printer and disconnect the power supply. Do not wire, plug or unplug drive signal cables, or touch exposed terminals while the system is powered on.
If unsure which method to use, refer to the drive module manual or consult the manufacturer.
- Wiring Reference 1
- Wiring Reference 2
Drive Microstep Setting
No need to configure any drive jumpers. Microstepping is set directly via the drive's onboard DIP switches.
Drive DIP Switch Setting
It is recommended to set the drive's onboard DIP switches to 3200
Before adjusting the drive DIP switches, completely shut down the printer and disconnect the power supply. Do not toggle the drive switches while the system is powered on.
Microstep Setting Explanation
Pulses required per motor revolution = rotation_distance / step_distance
A more basic derivation is:
Pulses required per motor revolution = full_steps_per_rotation × microsteps
Step-by-Step Configuration Logic:
- Determine motor inherent parameters: Common motors have
full_steps_per_rotation: 200(200 full steps per revolution, i.e., 1.8°/step) - Set Klipper microsteps
microsteps: Set in the configuration file, e.g.,microsteps: 16 - Match drive physical microstepping: Based on the above settings and required precision, calculate and set the drive DIP switches
- Recommended value for this tutorial:
200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/revolution - In this case, the drive needs to be set to 16 microsteps, and the DIP switch value should be set to
3200(some drives display the microstep count as 16, others as the pulse count 3200; confirm with the drive manual) - This means the drive executes each pulse sent by Klipper as 1 microstep
- Recommended value for this tutorial:
| Configuration Layer | Configuration Item | Set Value | Description |
|---|---|---|---|
| Motor Parameter | Full steps per rotation full_steps_per_rotation | 200 | Inherent motor property, typically 200 (1.8°) |
| Klipper Config | Microsteps microsteps | 16 | Set in printer.cfg |
| Drive Hardware | DIP switch microstep value | 3200 (16 microsteps) | Physical DIP switch setting |
| Final Effect | Pulses required per motor revolution | 200 × 16 = 3200 | Klipper needs to send 3200 pulses to rotate the motor one full revolution |
If other microstep effects are needed:
Follow the logic above to ensure that the Klipper configured microsteps (microsteps) is coordinated with the microstep setting on the drive DIP switches. For example, if Klipper is set to microsteps: 32, the drive DIP switches should be set to 6400 (32 microsteps) to achieve a total precision of 200 × 32 = 6400 pulses/revolution.
Klipper Configuration Reference
The EN active level, PUL trigger edge, and minimum pulse width can vary for different external drives. The table below provides Klipper syntax and common starting values only; final settings should be based on the drive manual.
| Configuration Item | Description | Configuration Example |
|---|---|---|
| Driver Type | No configuration needed; set physically via the drive DIP switches | — |
Microsteps (microsteps:) | Set to 16 | Loading... |
Step Pulse Duration (step_pulse_duration:) | Set according to the drive manual. If unspecified, start testing from 0.000005 and gradually increase based on observed behavior | Loading... |
Enable Pin (enable_pin:) | Adjust based on the drive's EN active level: 1. Active low enable: add !2. Active high enable: do not add !3. Always enabled on power-up: delete this line | Active low enable: Loading... Active high enable: Loading... Disable enable control: delete this line |
When using an external drive, the corresponding axis should only retain the [stepper_*] configuration. If the original configuration contains TMC driver sections like [tmc2209 ...], [tmc5160 ...], etc., delete or comment out the entire section. The TMC configuration shown in the image below is only for illustrating the location of standard driver configurations and is not applicable to external drives.
Configuration Reference Diagram:
step_pulse_duration and Direction Timing
Klipper defaults to step_pulse_duration: 0.000002 (2µs) for non-TMC drivers (i.e., external drives). This parameter simultaneously constrains the step pulse width and the direction change delay, with the timing always referenced to the rising edge of the step pulse.
In other words: if the drive requires at least 10µs between the step rising edge and a direction change, you need to set step_pulse_duration: 0.000010.
Value Recommendations:
- Consult the external drive manual for the
Minimum Step Pulse WidthorDirection Setup Timeparameter; - If both parameters exist, prioritize the larger time value and leave an appropriate margin;
- If the manual does not specify, common external drives (including opto-isolated types) typically require 5µs to 35µs. Start testing from
0.000005and increase gradually.
If after configuration the motor does not rotate, vibrates, loses steps, or the model tilts, please first consult the FAQ for troubleshooting. Do not blindly rewire or perform large-distance movement tests.
Configuration Notes
After switching to an external stepper motor driver, the corresponding axis in Klipper should only retain the [stepper_*] configuration. You must delete or comment out the entire corresponding TMC driver configuration section, such as [tmc2209 stepper_x], [tmc5160 stepper_x], [tmc2209 extruder], etc.
If the TMC configuration is kept, Klipper will attempt to initialize the onboard or plug-in TMC driver via UART/SPI, which may cause configuration errors, driver communication errors, or the motor failing to operate normally.
:::
[stepper_x]
step_pin: PA2
dir_pin: PA3
enable_pin: !PA8
microsteps: 16
step_pulse_duration: 0.000005
# After using an external driver, delete or comment out the entire TMC configuration block below
#[tmc2209 stepper_x]
#uart_pin: PA10
#run_current: 0.8
Troubleshooting: Common External Driver Troubleshooting