

The MD10C Motor Driver, manufactured by Cytron (Part ID: MD10C), is a robust and versatile dual-channel motor driver designed for controlling DC motors and stepper motors. It is capable of handling high current loads and offers features such as speed control and direction control. This makes it an ideal choice for robotics, automation systems, and other motor control applications.






| Parameter | Value |
|---|---|
| Operating Voltage | 7V to 30V |
| Continuous Current | 10A per channel |
| Peak Current | 30A (for a few seconds) |
| Control Signal Voltage | 3.3V or 5V logic compatible |
| PWM Frequency | Up to 20 kHz |
| Motor Channels | 2 |
| Protection Features | Overcurrent, Overtemperature |
| Dimensions | 84mm x 62mm x 25mm |
The MD10C Motor Driver has a set of input and output pins for motor control and power connections. Below is the pin configuration:
| Pin Name | Description |
|---|---|
| VIN | Power input for the motor driver (7V to 30V). |
| GND | Ground connection. |
| PWM1 | PWM signal input for speed control of Motor 1. |
| DIR1 | Direction control input for Motor 1. |
| PWM2 | PWM signal input for speed control of Motor 2. |
| DIR2 | Direction control input for Motor 2. |
| EN | Enable pin to activate the motor driver (active HIGH). |
| Pin Name | Description |
|---|---|
| M1A | Output terminal A for Motor 1. |
| M1B | Output terminal B for Motor 1. |
| M2A | Output terminal A for Motor 2. |
| M2B | Output terminal B for Motor 2. |
Below is an example of how to control a single DC motor using the MD10C Motor Driver and an Arduino UNO.
// Define pin connections for Motor 1
const int pwmPin = 9; // PWM signal for speed control
const int dirPin = 8; // Direction control
const int enPin = 7; // Enable pin
void setup() {
// Set pin modes
pinMode(pwmPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enPin, OUTPUT);
// Enable the motor driver
digitalWrite(enPin, HIGH);
}
void loop() {
// Rotate motor in one direction
digitalWrite(dirPin, HIGH); // Set direction
analogWrite(pwmPin, 128); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop the motor
analogWrite(pwmPin, 0); // Set speed to 0
delay(1000); // Wait for 1 second
// Rotate motor in the opposite direction
digitalWrite(dirPin, LOW); // Change direction
analogWrite(pwmPin, 128); // Set speed
delay(2000); // Run for 2 seconds
// Stop the motor
analogWrite(pwmPin, 0); // Set speed to 0
delay(1000); // Wait for 1 second
}
pwmPin value (0-255) to control the motor speed.dirPin to change the motor's rotation direction.Motor Not Running:
Overheating:
Erratic Motor Behavior:
No Response from Motor Driver:
Q: Can the MD10C control stepper motors?
A: Yes, the MD10C can control stepper motors by driving each coil as a separate motor. However, additional logic or a stepper motor controller may be required for precise step control.
Q: What happens if the current exceeds 10A?
A: The MD10C has built-in overcurrent protection. If the current exceeds the limit, the driver will shut down temporarily to protect itself.
Q: Can I use a 3.3V microcontroller with the MD10C?
A: Yes, the MD10C is compatible with both 3.3V and 5V logic levels.
Q: Is reverse polarity protection included?
A: No, the MD10C does not have reverse polarity protection. Ensure the power supply is connected correctly to avoid damage.
This concludes the documentation for the MD10C Motor Driver. For further assistance, refer to the manufacturer's datasheet or support resources.