Features
- Simplified Motor Control: 4-channel 0.6A 25V L293D controller for seamless Arduino integration. Control 4 DC motors, 2 stepper motors, or 2 servo motors simultaneously.
- Arduino Compatibility: Tested with Arduino Mega, Uno, Diecimila, and Duemilanove boards.
- User-Friendly Design: Large terminal block connectors (10-22AWG), Arduino reset button on top, and a 2-pin terminal block for external power connection.
- Precision Servo Control: Two 5V servo interfaces connected to Arduino’s dedicated high-resolution timer for jitter-free control.
- Versatile Motor Compatibility: Drive up to 4 bi-directional DC motors with 8-bit speed control or 2 stepper motors (unipolar/bipolar) with various stepping modes.
- H-Bridges with Protection: Four H-bridges each provide 0.6A continuous (1.2A peak) current with thermal protection, supporting 4.5V to 25V DC motors.
- Flexible Power Options: Two external terminal power connectors allow separate logic and motor power supplies.
Specifications
- Power Supply: 5V DC to 36V DC
- H-Bridges: 4 × 0.6A (1.2A peak) with thermal protection
- External Terminal Power Interfaces: 2
- Dimensions: 70 × 53 × 20 mm
Pinout
| Pin Number | Function | 
| 1 (GND) | Ground | 
| 2 (VCC) | Power Supply (5V) | 
| 3 (EN1) | Motor 1 Enable | 
| 4 (IN1) | Motor 1 Input 1 | 
| 5 (IN2) | Motor 1 Input 2 | 
| 6 (IN3) | Motor 2 Input 1 | 
| 7 (IN4) | Motor 2 Input 2 | 
| 8 (EN2) | Motor 2 Enable | 
| 9 (VCC1) | External Motor Supply | 
| 10 (GND1) | External Motor Ground | 

Sample Arduino Code
Jumpstart your projects with this sample code to control a DC motor using the Motor Shield. Make sure to download and add the Motor Shield library (AFMotor) to your Arduino IDE.
#include "AFMotor.h"
AF_DCMotor motor(4);
void setup() {
  Serial.begin(9600); // Set up serial communication at 9600 bps
  Serial.println("Motor test!");
  motor.setSpeed(200);
  motor.run(RELEASE);
}
void loop() {
  uint8_t i;
  Serial.print("tick");
  motor.run(FORWARD);
  for (i = 0; i < 255; i++) {
    motor.setSpeed(i);
    delay(10);
  }
  for (i = 255; i != 0; i--) {
    motor.setSpeed(i);
    delay(10);
  }
  Serial.print("tock");
  motor.run(BACKWARD);
  for (i = 0; i < 255; i++) {
    motor.setSpeed(i);
    delay(10);
  }
  for (i = 255; i != 0; i--) {
    motor.setSpeed(i);
    delay(10);
  }
  Serial.print("tech");
  motor.run(RELEASE);
  delay(1000);
}
 
        Features
- Simplified Motor Control: 4-channel 0.6A 25V L293D controller for seamless Arduino integration. Control 4 DC motors, 2 stepper motors, or 2 servo motors simultaneously.
- Arduino Compatibility: Tested with Arduino Mega, Uno, Diecimila, and Duemilanove boards.
- User-Friendly Design: Large terminal block connectors (10-22AWG), Arduino reset button on top, and a 2-pin terminal block for external power connection.
- Precision Servo Control: Two 5V servo interfaces connected to Arduino’s dedicated high-resolution timer for jitter-free control.
- Versatile Motor Compatibility: Drive up to 4 bi-directional DC motors with 8-bit speed control or 2 stepper motors (unipolar/bipolar) with various stepping modes.
- H-Bridges with Protection: Four H-bridges each provide 0.6A continuous (1.2A peak) current with thermal protection, supporting 4.5V to 25V DC motors.
- Flexible Power Options: Two external terminal power connectors allow separate logic and motor power supplies.
Specifications
- Power Supply: 5V DC to 36V DC
- H-Bridges: 4 × 0.6A (1.2A peak) with thermal protection
- External Terminal Power Interfaces: 2
- Dimensions: 70 × 53 × 20 mm
Pinout
| Pin Number | Function | 
| 1 (GND) | Ground | 
| 2 (VCC) | Power Supply (5V) | 
| 3 (EN1) | Motor 1 Enable | 
| 4 (IN1) | Motor 1 Input 1 | 
| 5 (IN2) | Motor 1 Input 2 | 
| 6 (IN3) | Motor 2 Input 1 | 
| 7 (IN4) | Motor 2 Input 2 | 
| 8 (EN2) | Motor 2 Enable | 
| 9 (VCC1) | External Motor Supply | 
| 10 (GND1) | External Motor Ground | 

Sample Arduino Code
Jumpstart your projects with this sample code to control a DC motor using the Motor Shield. Make sure to download and add the Motor Shield library (AFMotor) to your Arduino IDE.
#include "AFMotor.h"
AF_DCMotor motor(4);
void setup() {
  Serial.begin(9600); // Set up serial communication at 9600 bps
  Serial.println("Motor test!");
  motor.setSpeed(200);
  motor.run(RELEASE);
}
void loop() {
  uint8_t i;
  Serial.print("tick");
  motor.run(FORWARD);
  for (i = 0; i < 255; i++) {
    motor.setSpeed(i);
    delay(10);
  }
  for (i = 255; i != 0; i--) {
    motor.setSpeed(i);
    delay(10);
  }
  Serial.print("tock");
  motor.run(BACKWARD);
  for (i = 0; i < 255; i++) {
    motor.setSpeed(i);
    delay(10);
  }
  for (i = 255; i != 0; i--) {
    motor.setSpeed(i);
    delay(10);
  }
  Serial.print("tech");
  motor.run(RELEASE);
  delay(1000);
}