Here is the simplest sketch to test Motor 1 on channel A (Pins D4, D5):
// HW 130 Motor Control Shield - Free Datasheet Example // Motor 1: Speed = D5 (PWM), Direction = D4#define MOTOR1_DIR 4 #define MOTOR1_PWM 5
void setup() pinMode(MOTOR1_DIR, OUTPUT); pinMode(MOTOR1_PWM, OUTPUT); Serial.begin(9600); Serial.println("HW 130 Test Ready");
void loop() // Forward at 70% speed digitalWrite(MOTOR1_DIR, HIGH); analogWrite(MOTOR1_PWM, 179); // 179 = ~70% of 255 delay(2000);
// Stop (coast) digitalWrite(MOTOR1_PWM, LOW); delay(1000);
// Reverse at full speed digitalWrite(MOTOR1_DIR, LOW); analogWrite(MOTOR1_PWM, 255); delay(2000);
// Brake (set both PWM and direction to LOW) digitalWrite(MOTOR1_DIR, LOW); digitalWrite(MOTOR1_PWM, LOW); delay(2000);hw 130 motor control shield for arduino datasheet free
For stepper motors (using standard Stepper library):
#include <Stepper.h> // HW 130: Stepper coils on M3 & M4 (Pins D8,D9,D10,D11) Stepper myStepper(2048, 8, 10, 9, 11); // steps per rev, pins
void setup() myStepper.setSpeed(12); // 12 RPM myStepper.step(2048); // one full rotation
Here is a free, ready-to-use code snippet to test the HW-130 shield. This code will accelerate Motor A forward, then reverse, and stop.
// HW-130 Motor Shield Pin Definitions #define M1_SPEED 3 // PWM Pin for Motor A Speed #define M1_DIR 12 // Direction Pin for Motor A #define M2_SPEED 11 // PWM Pin for Motor B Speed #define M2_DIR 13 // Direction Pin for Motor Bvoid setup() // Configure pins as outputs pinMode(M1_SPEED, OUTPUT); pinMode(M1_DIR, OUTPUT); Here is the simplest sketch to test Motor
// Optional: If your board uses Brake pins (D8/D9) // pinMode(9, OUTPUT); digitalWrite(9, HIGH); // Disable Brake M1
void loop() // --- Motor A Forward Acceleration --- digitalWrite(M1_DIR, HIGH); // Set Direction Forward
// Accelerate from 0 to full speed for (int speed = 0; speed <= 255; speed++) analogWrite(M1_SPEED, speed); delay(20);
delay(1000); // Run at full speed for 1 second
// --- Stop --- analogWrite(M1_SPEED, 0); delay(1000);
// --- Motor A Reverse --- digitalWrite(M1_DIR, LOW); // Set Direction Reverse void loop() // Forward at 70% speed digitalWrite(MOTOR1_DIR,
// Run at half speed analogWrite(M1_SPEED, 128); delay(2000);
// Stop analogWrite(M1_SPEED, 0); delay(2000);
The HW-130 is a low-cost, dual H-bridge motor driver shield compatible with Arduino Uno, Leonardo, and Mega. It lets you control two DC motors (speed + direction) or one stepper motor independently.
| IN1 | IN2 | ENA (PWM) | Motor A State | |-----|-----|-----------|----------------| | LOW | LOW | x | Brake (free stop) | | HIGH| LOW | 0–255 | Forward speed | | LOW | HIGH| 0–255 | Reverse speed | | HIGH| HIGH| x | Brake (short stop) |
Report ID: TR-HW130-001
Date: [Current Date]
Subject: Compilation of technical specifications, pinout, and operational guidelines for the HW-130 2-Channel DC Motor Driver Shield.