External Drive Usage Tutorial
Servo Drive Configuration Guide
Notes
- This tutorial is based on Klipper firmware configuration
- The module supports two wiring methods, please choose based on your actual situation
- After selecting a wiring method, ensure the hardware connection matches the chosen method
Module Selection
- Standard Module
- 5V Boost Module
Applicable Motherboards: SUPER Series, GEMINI Series, E3 Series
Description: The driver pins on these motherboards output a 5V signal, which the driver can directly interface with, requiring no additional module.
Applicable Motherboards: D Series, C Series
Description: The driver pins on these motherboards output a 3.3V signal, which some drivers cannot use directly. Signal level conversion is needed via a 5V boost module.
After installing the 5V boost module, do not connect wires immediately. First, perform a voltage test according to the 5V Module Test Instructions below. Confirm the module works correctly before wiring.
Select Wiring Method
Please choose the wiring method corresponding to your hardware configuration:
If unsure which method to use, refer to the driver module's manual or consult the manufacturer.
- Wiring Reference 1
- Wiring Reference 2
Driver Microstep Setting
No need to configure any driver jumpers, microsteps are set directly via the driver's onboard DIP switches.
Driver DIP Switch Setting
It is recommended to set the driver's onboard DIP switches to 3200
Microstep Setting Explanation
Pulses required per motor revolution = rotation_distance / step_distance
A more fundamental derivation:
Pulses required per motor revolution = full_steps_per_rotation × microsteps
Step-by-step configuration logic:
- Determine motor inherent parameters: Common motor
full_steps_per_rotation: 200(200 full steps per revolution, i.e., 1.8°/step) - Set Klipper
microsteps: Define in the configuration file, e.g.,microsteps: 16 - Match driver physical microstep: Based on the above settings and required precision, calculate and set the driver DIP switches
- Recommended value for this tutorial:
200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/rev - At this point, the driver needs to be set to 16 microsteps, and the DIP switch value should be set to
3200(some drivers show the microstep count as 16, others show the pulse count as 3200; please refer to the driver manual to confirm) - This means the driver treats each pulse sent by Klipper as 1 microstep to execute
- Recommended value for this tutorial:
| Configuration Level | Configuration Item | Setting Value | Description |
|---|---|---|---|
| Motor Parameter | Full steps per revolution full_steps_per_rotation | 200 | Motor inherent property, typically 200 (1.8°) |
| Klipper Configuration | Microsteps microsteps | 16 | Set in printer.cfg |
| Driver Hardware | DIP switch microstep value | 3200 (16 microsteps) | Set via physical DIP switches |
| Final Effect | Pulses required per motor revolution | 200 × 16 = 3200 | Klipper needs to send 3200 pulses for the motor to make one full revolution |
If other microstep effects are needed:
Follow the logic above, ensuring the Klipper configured microsteps (microsteps) aligns with the microstep setting on the driver's DIP switches. For example, if Klipper is set to microsteps: 32, 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 via driver DIP switches | — |
Microsteps (microsteps:) | Set to 16 | Loading... |
Step Pulse Duration (step_pulse_duration:) | Must add this parameter and set to 0.000004 | Loading... |
Enable Pin (enable_pin:) | Adjust based on driver logic: 1. Usually remove ! symbol (active high)2. Some drivers require adding ! (active low)3. In certain cases, delete this line (always enabled) | Active High Enable: Loading... Active Low Enable: Loading... Disable Enable: delete this line |
Configuration Reference Diagram:
Configuration Notes
When using an external stepper motor driver, you must disable (add # at the beginning of the line to comment out) the corresponding driver configuration sections, such as [tmc5160 ...] or [tmc2209 ...], otherwise, configuration conflicts will prevent the driver from working correctly.
5V Module Test Instructions
This test is only for users using the 5V boost module (D Series, C Series motherboards). Standard module users can skip this section.
After installing the 5V boost module onto the motherboard, do not connect wires immediately. First, follow these steps to test if the module output is normal.
Test Steps
Step 1: Add Test Configuration
Add the following configuration to your printer.cfg file, ensure you modify the pins to correspond to your driver port pins:
[output_pin STEP]
pin: PC14
[output_pin DIR]
pin: PC13
[output_pin EN]
pin: PC15
- Replace the
PC14,PC13,PC15in the example with the actual pins for your specific driver port. - For example, if using the X-axis driver port, consult the motherboard schematic to find the corresponding pin numbers.
Step 2: Prepare Multimeter
- Set the multimeter to DC voltage mode (20V range)
- Connect the black probe to the motherboard's GND pin
- The red probe will be used to test each signal pin
Step 3: Test EN+, PUL+, DIR+ Pins
These three pins should always output 5V:
- Power on the motherboard (do not connect the driver yet)
- Use the red probe of the multimeter to sequentially touch the module's EN+, PUL+, and DIR+ pins
- Normal Result: All three pins should show a voltage of around 5V
Step 4: Test EN-, PUL-, DIR- Pins
These three pins need to be tested via Klipper control:
- In the Mainsail or Fluidd interface, navigate to the Console
- Test the EN- pin:
- Enter command:
SET_PIN PIN=EN VALUE=1(Turn On) - Test the EN- pin with the multimeter; it should read 5V
- Enter command:
SET_PIN PIN=EN VALUE=0(Turn Off) - Test the EN- pin again; it should read 0V
- Enter command:
- Test the PUL- pin:
- Enter command:
SET_PIN PIN=STEP VALUE=1 - Test the PUL- pin; it should read 5V
- Enter command:
SET_PIN PIN=STEP VALUE=0 - Test it again; it should read 0V
- Enter command:
- Test the DIR- pin:
- Enter command:
SET_PIN PIN=DIR VALUE=1 - Test the DIR- pin; it should read 5V
- Enter command:
SET_PIN PIN=DIR VALUE=0 - Test it again; it should read 0V
- Enter command:
Test Result Evaluation
| Test Item | Normal Result | Abnormal Result | Action |
|---|---|---|---|
| EN+, PUL+, DIR+ | Always 5V | No voltage or abnormal voltage | Check module installation, power supply |
| EN-, PUL-, DIR- (VALUE=1) | 5V | No voltage or too low | Check pin configuration, check module for damage |
| EN-, PUL-, DIR- (VALUE=0) | 0V | Shows voltage | Check configuration, check module |
Only after confirming all test results are normal, should you power off and proceed with the official driver wiring.
Driver Pulse Anomaly Handling
If the following phenomena occur, try adjusting the pulse duration:
- Print shifting, layer misalignment
- Motor vibration, abnormal noise, or erratic 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.