1. Introduction
The SWTHM ZK-SMC02 is an integrated stepper motor driver and controller designed for precise control of single-axis stepper motors. This versatile module supports 2-phase stepper motors with various wire configurations (4-wire, 5-wire, 6-wire, and 8-wire), offering flexibility for a wide range of applications. It features multiple pre-programmed operation modes, a user-friendly interface, and robust protection features.
Key Features:
- Versatile Motor Control: Supports 2-phase stepper motors (4, 5, 6, 8 wires).
- Simplified Operation: Multiple pre-programmed motion modes (automatic, manual, setting).
- Wide Power Supply: DC 5-30V input with reverse protection.
- Precise Control: Adjustable speed (0.1-999 RPM) and pulse counts (1-9999 pulses) for forward and reverse rotation.
- Serial Communication: Equipped with a TTL serial port for remote integration.
- Memory Function: Retains distance, speed, delay, and cycle time settings after power-off.
2. Product Overview
The ZK-SMC02 integrates both driver and controller functionalities into a compact unit, simplifying wiring and setup. The front panel features an LCD display, control buttons, and an encoder knob for easy interaction.

Figure 2.1: Front view of the ZK-SMC02 Stepper Motor Driver and Controller, showing the LCD screen, CW/CCW buttons, RUN/STOP button, and encoder knob.

Figure 2.2: Labeled components of the ZK-SMC02, indicating the forward/reverse indicators, encoder setting knob, CW/CCW buttons, RUN/STOP button, subdivision settings, current regulation potentiometer, optocoupler isolation, and power supply terminals.

Figure 2.3: Dimensions of the ZK-SMC02 module, showing measurements of 79mm (3.11in) length, 43mm (1.69in) width, and 41mm (1.61in) height.
3. Specifications
The following table outlines the technical specifications of the ZK-SMC02 Stepper Motor Driver and Controller:

Figure 3.1: Detailed technical specifications for the ZK-SMC02, including model, adaptive motor type, number of control axes, motor signal, power supply range, driving capacity, instruction features, acceleration/deceleration control, input reverse connection protection, remote communication control, main functions, speed range, pulse counts, number of cycles, delay times, subdivision selection, and product use environment.
| Parameter | Value |
|---|---|
| Model | ZK-SMC02 |
| Adaptive Motor | Stepper Motor (NEMA 17/23 compatible) |
| Number of Control Axes | Single Axis |
| Motor Signal | Common Cathode |
| Power Supply Range | DC 5-30V |
| Driving Capacity | 4A |
| Acceleration/Deceleration Control | Yes |
| Input Reverse Protection | Yes |
| Remote Communication | TTL Serial Port |
| Main Functions | Automatic, Manual, Setting, Serial Port Control |
| Speed Range | 0.1-999 RPM |
| Forward/Reverse Pulse Count | 1-9999 pulses |
| Number of Cycles | 1-9999 |
| Forward/Reverse Delay Time | 0.0-999.9 seconds |
| Subdivision Selection Range | 1-32 subdivision |
| Operating Temperature | -5°C to 60°C (non-condensing) |
| Package Dimensions | 4.41 x 2.68 x 2.05 inches |
| Item Weight | 2.82 ounces |
4. Setup
4.1. Wiring Diagram
Proper wiring is crucial for the correct operation of the ZK-SMC02. Connect the stepper motor and power supply according to the diagram below. Ensure all connections are secure.

Figure 4.1: Wiring diagram showing connections for the stepper motor (A+, A-, B+, B-) and the DC power supply (positive electrode, negative pole) to the ZK-SMC02 module.
For advanced control via serial communication, refer to the detailed wiring for the TTL serial port:

Figure 4.2: Detailed wiring for the TTL serial port, showing connections for GND, EN (enabling end), DIR (direction end), PUL (pulse direction), TX, RX, and +3.3V, along with the DC 5V-30V power supply connection.
4.2. Power Supply
The ZK-SMC02 requires a DC power supply within the range of 5V to 30V. Ensure the power supply is stable and capable of providing sufficient current for your stepper motor (up to 4A). The module includes input reverse protection to prevent damage from incorrect polarity.
4.3. Motor Compatibility
This controller is compatible with 2-phase stepper motors, including common NEMA 17 and NEMA 23 types. It supports 4-wire, 5-wire, 6-wire, and 8-wire configurations. Ensure your motor's current requirements do not exceed the ZK-SMC02's 4A driving capacity.
5. Operating Instructions
5.1. Basic Operation
The ZK-SMC02 features an intuitive interface for controlling stepper motor movement.

Figure 5.1: The ZK-SMC02 operation interface, highlighting the CW (clockwise) and CCW (counter-clockwise) buttons for direction control, and the RUN/STOP button for starting and stopping motor operation.
- CW Button: Initiates forward (clockwise) rotation.
- CCW Button: Initiates reverse (counter-clockwise) rotation.
- RUN/STOP Button: Starts or stops the motor operation.
- Encoder Knob: In the operation interface, rotate to adjust speed. Press and hold to enter the menu settings.
5.2. Menu Navigation and Parameter Setting
To configure advanced settings, navigate through the menu using the encoder knob.

Figure 5.2: Step-by-step guide for parameter setting on the ZK-SMC02. This includes rotating the encoder to adjust speed, pressing and holding to enter the menu, navigating through F-01 to F-13 parameters, and briefly pressing RUN/STOP to exit parameter setting.
- Enter Menu: From the operation interface, press and hold the encoder knob to enter the menu setting.
- Navigate Parameters: In the menu setting interface, rotate the encoder to adjust and change the parameter codes (F-01 to F-13).
- Select Parameter for Editing: Briefly press the encoder to enter the F-XX corresponding menu parameter setting state. The parameter value will flash.
- Adjust Parameter Value: Rotate the encoder to adjust the flashing parameter value.
- Save and Exit Parameter: Briefly press the encoder again to save the adjusted parameter and exit the parameter setting state.
- Exit Menu: Press and hold the encoder to save all parameters and exit to the operation interface. Alternatively, briefly press the RUN/STOP key to exit the parameter setting and return to the main menu number adjustment interface.
5.3. Function Parameter Table
The following table details the available parameters and their functions:

Figure 5.3: Comprehensive function parameter table for the ZK-SMC02, listing parameters from F-01 to F-13, their functions, set ranges, and default values. Parameters include working mode, forward/reverse pulses, rotation speed, cycle times, delay times, pulse numbers per revolution, display settings, motor working state, acceleration/deceleration, and device address.
| Parameter | Function | Set Ranges | Defaults |
|---|---|---|---|
| F-01 | Working mode selection (Refer to Work Mode Table) | P01-P09 | P01 |
| F-02 | Forward pulses number (High/Low bit change by potentiometer) | 1-9999999 | 1600 |
| F-03 | Forward rotation speed in RPM | 0.1-999.9 | 10 |
| F-04 | Reverse pulses number (High/Low bit change by potentiometer) | 1-9999999 | 1600 |
| F-05 | Reverse rotation speed in RPM | 0.1-999.9 | 10 |
| F-06 | Cycle work times (0-9999 or infinite loop) | 0-9999 or infinite loop | 1 |
| F-07 | Forward in-position delay in seconds | 0.0-999.9 | 0.0 |
| F-08 | Reverse in-position delay in seconds | 0.0-999.9 | 0.0 |
| F-09 | Pulse numbers for one revolution (Unit is 10. E.g. if step angle is 1.8 and subdivision is 8.5, then pulses for one revolution is 360/1.8*8=1600. Set value should be 160.) | 1-9999 | 160 |
| F-10 | Set LCD display parameters (1st line display motor rotating speed in RPM, 2nd line display delay time in second; 1st line display motor rotating speed in RPM, 2nd line display cycle work times) | 0 or 1 | 00 |
| F-11 | Set motor working state after press RUN/STOP button (0: Slow down and stop; 1: Stop immediately) | 0 or 1 | 0 |
| F-12 | Set the acceleration/deceleration level (001 is the slowest and 100 is the fastest) | 001-100 | 20 |
| F-13 | Set device address | 001-255 | 1 |
6. Maintenance
To ensure the longevity and reliable operation of your ZK-SMC02 Stepper Motor Driver and Controller, follow these general maintenance guidelines:
- Keep Clean: Regularly clean the module to prevent dust and debris accumulation, especially around ventilation areas and connectors. Use a soft, dry cloth.
- Environmental Conditions: Operate the module within the specified temperature range (-5°C to 60°C) and in a non-condensing environment. Avoid exposure to excessive moisture, corrosive gases, or strong vibrations.
- Connection Integrity: Periodically check all wiring connections to ensure they are secure and free from corrosion or damage. Loose connections can lead to intermittent operation or component failure.
- Power Supply: Ensure the power supply remains within the specified DC 5-30V range and provides stable power. Fluctuations can affect performance and potentially damage the unit.
- Inspection: Visually inspect the board for any signs of physical damage, burnt components, or unusual discoloration. If any issues are observed, discontinue use and consult technical support.
7. Troubleshooting
If you encounter issues with your ZK-SMC02, consider the following troubleshooting steps:
- Motor Not Moving:
- Check power supply: Ensure it is connected correctly and within the 5-30V DC range.
- Verify motor wiring: Confirm that the stepper motor phases are correctly connected to the A+, A-, B+, B- terminals.
- Check RUN/STOP status: Ensure the motor is not in a stopped state.
- Review parameters: Check F-02/F-04 (pulse count) and F-03/F-05 (speed) settings.
- Erratic Movement or Skipping Steps:
- Insufficient power: The power supply may not be providing enough current for the motor under load.
- Incorrect speed setting: The motor may be commanded to move too fast for its capabilities or load. Adjust F-03/F-05.
- Subdivision setting: Ensure the subdivision setting (if adjustable externally or internally) matches the motor's requirements.
- Loose connections: Recheck all motor and power connections.
- Display Not Working:
- No power: Verify the power supply connection.
- Damaged unit: If power is confirmed and the display remains blank, the unit may be faulty.
- Parameters Not Saving:
- Ensure you are pressing and holding the encoder knob to save and exit the menu after making changes.
- Serial Communication Issues:
- Verify TTL serial port wiring (TX, RX, GND).
- Check communication settings (baud rate, data bits, stop bits, parity) on both the ZK-SMC02 and the connected device.
If problems persist after attempting these steps, please contact technical support for further assistance.