Skip to main content

External Drive Usage Tutorial

Servo Drive Configuration Guide

Precautions

Prerequisites
  • This tutorial is based on Klipper firmware configuration.
  • The module supports two wiring methods. Please choose according to your actual situation.
  • After selecting the wiring method, ensure the hardware connection matches the chosen method.

Module Selection

Loading...

Applicable Mainboards: SUPER series, GEMINI series, E3 series

Description: The driver pins on these mainboards output 5V signals, which are directly compatible with the drive. No additional module is required.

Select Wiring Method

Please select the corresponding wiring method based on your hardware configuration:

Selection Suggestion

If you are unsure which method to use, please refer to the drive module's manual or consult the manufacturer.

Wiring Diagram

Loading...

Drive Microstepping Setting

Simplified Setting

No driver jumpers need to be configured. The microstepping is set directly by the driver's onboard DIP switches.

Driver DIP Switch Setting

It is recommended to set the driver's onboard DIP switches to 3200.

Loading...

Microstepping Setting Explanation

Core Calculation Formula

Pulses per motor revolution = rotation_distance / step_distance

A more fundamental derivation is:

Pulses per motor revolution = full_steps_per_rotation × microsteps

Configuration Logic Step-by-Step:

  1. Determine motor inherent parameters: Common motors have full_steps_per_rotation: 200 (200 full steps per revolution, i.e., 1.8°/step).
  2. Set Klipper microsteps microsteps: Set in the configuration file, e.g., microsteps: 16.
  3. Match driver physical microstepping: Based on the above settings and required precision, calculate and set the driver DIP switches.
    • Recommended value in this tutorial: 200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/revolution.
    • At this point, the driver needs to be set to 16 microsteps. The DIP switch value should be set to 3200 (some drivers display the microstep number 16, some display the pulse count 3200. Please confirm based on the driver's manual).
    • This means the driver will execute each pulse sent by Klipper as 1 microstep.
Configuration LevelConfiguration ItemSetting ValueExplanation
Motor ParametersFull Steps per Revolution full_steps_per_rotation200Motor inherent property, usually 200 (1.8°)
Klipper ConfigurationMicrosteps microsteps16Set in printer.cfg
Driver HardwareDIP Switch Microstep Value3200 (16 microsteps)Set by physical DIP switches
Final EffectPulses per Motor Revolution200 × 16 = 3200Klipper needs to send 3200 pulses to rotate the motor one full revolution

If other microstepping effects are needed:

Please follow the above logic to ensure Klipper configured microsteps (microsteps) and driver DIP switch set microstep level are coordinated consistently. For example, if set to microsteps: 32 in Klipper, then the driver DIP switches should be set to 6400 (32 microsteps) to achieve a total precision of 200 × 32 = 6400 pulses/revolution.

Klipper Configuration Reference

Configuration ItemExplanationConfiguration Example
Driver TypeNo configuration needed, set physically by driver DIP switches
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 according to driver logic:
1. Usually remove the ! symbol (active-high enable)
2. Some drivers need to add ! (active-low enable)
3. In some cases, you can delete this line (always enabled)
Active-high enable:
Loading...

Active-low enable:
Loading...

Disable enable: Delete this line

Configuration reference diagram:

Loading...

Configuration Precautions

Important Reminder

After using an external stepper motor driver, you must disable (comment out by adding # at the beginning of the line) the corresponding driver configuration section, such as [tmc5160 ...] or [tmc2209 ...], etc. Otherwise, configuration conflicts will cause the driver to malfunction.

5V Module Test Instructions

Must Read Before Testing

This test is only for users using the 5V boost module (D series, C series mainboards). Standard module users can skip this section.

After installing the 5V boost module onto the mainboard, do not connect the wiring immediately. First, follow the steps below to test if the module output is normal.

Test Steps

Step 1: Add Test Configuration

Add the following configuration to your printer.cfg file. Note 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
Pin Explanation
  • Please replace the example pins PC14, PC13, PC15 with the actual driver port pins you are using.
  • For example: If using the X-axis driver port, consult the mainboard schematic to find the corresponding pin numbers.

Step 2: Multimeter Preparation

  1. Set the multimeter to DC voltage range (20V range).
  2. Connect the black probe to the mainboard's GND pin.
  3. Use the red probe to test each signal pin.

Step 3: Test EN+, PUL+, DIR+ Pins

These three pins should always output 5V voltage:

  1. Power on the mainboard (no need to connect the drive).
  2. Use the multimeter red probe to touch the module's EN+, PUL+, DIR+ pins sequentially.
  3. Normal Result: All three pins should show a voltage around 5V.

Step 4: Test EN-, PUL-, DIR- Pins

These three pins need to be tested via Klipper control:

  1. In the Mainsail or Fluidd interface, go to the Console.
  2. Test the EN- pin:
    • Enter command: SET_PIN PIN=EN VALUE=1 (turn on)
    • Test the EN- pin with the multimeter, it should show 5V.
    • Enter command: SET_PIN PIN=EN VALUE=0 (turn off)
    • Test the EN- pin again, it should show 0V.
  3. Test the PUL- pin:
    • Enter command: SET_PIN PIN=STEP VALUE=1
    • Test the PUL- pin, it should show 5V.
    • Enter command: SET_PIN PIN=STEP VALUE=0
    • Test again, it should show 0V.
  4. Test the DIR- pin:
    • Enter command: SET_PIN PIN=DIR VALUE=1
    • Test the DIR- pin, it should show 5V.
    • Enter command: SET_PIN PIN=DIR VALUE=0
    • Test again, it should show 0V.

Test Result Judgment

Test ItemNormal ResultAbnormal ResultHandling Suggestion
EN+, PUL+, DIR+Always 5VNo voltage or abnormal voltageCheck module installation, power supply
EN-, PUL-, DIR- (VALUE=1)5VNo voltage or voltage too lowCheck if pin configuration is correct, if module is damaged
EN-, PUL-, DIR- (VALUE=0)0VHas voltageCheck configuration, if module is normal
After Passing the Test

After confirming all test results are normal, you can power off and proceed with the formal drive wiring.

Drive Pulse Anomaly Handling

Troubleshooting

If the following phenomena occur, you can try adjusting the pulse duration:

  • Printed model offset, layer misalignment
  • Motor vibration, abnormal noise, or irregular operation

Adjustment Method:

Gradually increase the value of step_pulse_duration, for example:

  1. Try 0.000009
  2. Or 0.00001
  3. Or 0.00002

After each adjustment, save the configuration and restart Klipper, then test the effect.

Loading...