External Drive Usage
This page explains the common wiring, configuration, and debugging methods for external drives. The actual wiring and parameters should be based on the corresponding motherboard, drive, and machine structure.
Servo Drive Configuration Guide
Precautions
- This tutorial is based on Klipper firmware configuration
- The module supports two wiring methods, please choose according to the actual situation
- After selecting the wiring method, ensure the hardware connection matches the chosen method
Module Selection
- Standard Module
- 5V Boost Module
Compatible Boards: SUPER series, GEMINI series, E3 series
Description: The drive pins of these boards output 5V signals, which the driver can directly use, requiring no additional module.
Compatible Boards: D series, C series
Description: The drive pins of these boards output 3.3V signals, which some drivers cannot directly use. A 5V boost module is needed to convert the signal level.
After installing the 5V boost module, do not connect an external driver immediately. Complete the safety check according to the 5V Module Test Instructions below first, then proceed with wiring after confirming the module and configuration are normal.
Selecting the Wiring Method
Please choose the corresponding wiring method based on your hardware configuration:
Before selecting or changing the external driver wiring method, completely turn off the printer and disconnect the power supply. Do not wire, plug/unplug driver signal cables, or touch exposed terminals while powered on.
If unsure which method to use, refer to the driver module manual or consult the manufacturer.
- Wiring Reference 1
- Wiring Reference 2
Driver Microstepping Settings
No driver jumper configuration required. The microstepping is set directly via the driver's onboard DIP switches.
Driver DIP Switch Settings
It is recommended to set the driver's onboard DIP switches to 3200
Before adjusting the driver DIP switches, completely turn off the printer and disconnect the power supply. Do not toggle the driver switches while powered on.
Microstepping Settings Explanation
Pulses Required Per Motor Revolution = rotation_distance / step_distance
A more fundamental derivation is:
Pulses Required Per Motor Revolution = full_steps_per_rotation × microsteps
Step-by-step Configuration Logic:
- Determine motor intrinsic parameters: Common motors
full_steps_per_rotation: 200(200 full steps per revolution, i.e., 1.8°/step) - Set Klipper microsteps
microsteps: Configure in the config file, e.g.,microsteps: 16 - Match driver physical microstepping: Calculate and set the driver DIP switches based on the above setting and required precision
- Recommended value for this guide:
200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/rev - At this point, the driver needs to be set to 16 microsteps, the DIP switch value should be
3200(some drivers display microstep count 16, some display pulse count 3200, please confirm according to the driver manual) - This means the driver treats each pulse sent by Klipper as 1 microstep
- Recommended value for this guide:
| Configuration Level | Configuration Item | Set Value | Description |
|---|---|---|---|
| Motor Parameters | Full steps per rotation full_steps_per_rotation | 200 | Motor intrinsic property, usually 200 (1.8°) |
| Klipper Configuration | Microsteps microsteps | 16 | Set in printer.cfg |
| Driver 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 for the motor to make one full rotation |
If other microstepping effects are needed:
Follow the logic above, ensuring that the Klipper configured microsteps (microsteps) is coordinated with the driver DIP switch microstep setting. For example, if microsteps: 32 is set in Klipper, the driver DIP switch should be set to 6400 (32 microsteps), to achieve a total precision of 200 × 32 = 6400 pulses/rev.
Klipper Configuration Reference
| Configuration Item | Description | Configuration Example |
|---|---|---|
| Driver Type | No configuration needed, set physically by the driver DIP switch | — |
Microsteps (microsteps:) | Set to 16 | Loading... |
Step Pulse Duration (step_pulse_duration:) | This parameter must be added and set to 0.000004 | Loading... |
Enable Pin (enable_pin:) | Adjust based on driver logic: 1. Usually remove the ! symbol (active high enable)2. Some drivers require adding ! (active low enable)3. In some cases, this line can be deleted (always enabled) | Active High Enable: Loading... Active Low Enable: Loading... Disable Enable: Delete this line |
Configuration Reference Diagram:
Configuration Precautions
After using an external stepper motor driver, you must comment out (add # at the beginning of the line) the corresponding driver configuration section, such as [tmc5160 ...] or [tmc2209 ...], otherwise configuration conflicts will prevent the driver from working correctly.
5V Module Test Instructions
This check is only for users using the 5V boost module (D series, C series boards). Standard module users should skip this section.
General users should not use probes to touch the module or board exposed pins while powered on. Electrical testing of exposed pins should be handled by after-sales service or personnel with electrical experience.
After installing the 5V boost module onto the board, do not connect the external driver immediately. First, follow the steps below to confirm the module, configuration, and wiring are without obvious abnormalities.
Test Steps
Step 1: Add Test Configuration
Add the following configuration to your printer.cfg file, remember to modify the pins to the corresponding driver port pins:
[output_pin STEP]
pin: PC14
[output_pin DIR]
pin: PC13
[output_pin EN]
pin: PC15
- Replace
PC14,PC13,PC15in the example with the actual driver port pins you are using - For example, if using the X-axis driver port, find the corresponding pin number by consulting the board schematic
Step 2: Power off and check Module and Wiring
Before checking module orientation, connector, wire sequence, or replacing wiring, completely turn off the printer and disconnect the power supply. Do not plug/unplug the boost module, external driver signal cables, or touch exposed terminals while powered on.
- Confirm the 5V boost module installation direction matches the board silkscreen and manual.
- Confirm the EN, PUL, DIR, GND wire sequence matches the chosen wiring method.
- Preferably use the manufacturer's finished module and finished wiring harness. Do not modify wires yourself.
- Do not connect the external driver for now to avoid damaging the driver in case of configuration or wire sequence errors.
Step 3: Software Output Check
- In the Mainsail or Fluidd interface, navigate to the Console.
- Ensure no external driver or other actuating device is connected at this time, then execute the following commands sequentially to confirm no errors in the console:
SET_PIN PIN=EN VALUE=1SET_PIN PIN=EN VALUE=0SET_PIN PIN=STEP VALUE=1SET_PIN PIN=STEP VALUE=0SET_PIN PIN=DIR VALUE=1SET_PIN PIN=DIR VALUE=0
- If the command reports an error, first check the pin names in
printer.cfgagainst the actual driver port used.
Step 4: Replace and Confirm
- If the module or wiring appears visually abnormal, is heating, has an unusual odor, or the console continuously reports errors, immediately power off.
- Cross-test using a known good 5V boost module, finished wiring harness, or another driver port.
- If still unable to confirm, contact after-sales service for handling. Do not touch exposed pins or modify the module yourself.
Test Result Evaluation
| Check Item | Normal Result | Abnormal Result | Action to Take |
|---|---|---|---|
| Module Orientation & Wire Sequence | Matches board silkscreen and manual | Installed backwards, misaligned, or incorrect wire sequence | Fully power off, reinstall, or replace with finished wiring harness |
| Console Commands | SET_PIN commands execute without errors | Pin doesn't exist or command fails | Verify printer.cfg pin configuration |
| Module/Wiring Appearance | No heating, unusual odor, damage, or looseness | Heating, unusual odor, damage, looseness | Immediately power off, replace module or wiring |
After confirming the appearance, wire sequence, and configuration are all normal, fully power off the device before proceeding with the formal driver wiring.
Driver Pulse Anomaly Handling
If the following phenomena occur, try adjusting the pulse duration:
- Print model shifting, layer shifting
- Motor vibration, abnormal noise, or unusual operation
Adjustment Method:
Gradually increase the value of step_pulse_duration, for example:
- Try
0.000009 - Or
0.00001 - Or
0.00002
After each adjustment, save the configuration and restart Klipper, then test the effect.