Hw 130 Motor Control Shield For Arduino Datasheet Better 〈ESSENTIAL · Edition〉

⚠️ If your motors draw >1A, do NOT power the Arduino through the shield’s 5V regulator. Instead, power Arduino via USB or its own DC jack.

The HW-130 is a dual H-bridge motor driver shield based on the STMicroelectronics L298N chip. It is designed to drive two DC motors or one stepper motor. Unlike the standard raw L298N modules, this shield is form-fitted to plug directly onto an Arduino Uno or Mega, eliminating messy wiring.

Key Improvement: This guide simplifies the complex pin mappings and power jumpers found on the board. hw 130 motor control shield for arduino datasheet better


Actually, let’s map that clearly:

| Shield Label | Arduino Pin | Function | |--------------|-------------|-----------------------| | IN1 | D4 | Motor A direction 1 | | IN2 | D7 | Motor A direction 2 | | EN A (PWM) | D6 | Motor A speed | | IN3 | D8 | Motor B direction 1 | | IN4 | D12 | Motor B direction 2 | | EN B (PWM) | D9 | Motor B speed | ⚠️ If your motors draw >1A, do NOT

Note: D5 and D10 are unused on most HW-130 boards – they are remnants of other shield designs. Stick to D6 and D9 for PWM.


Always use separate power for motors and logic. Remove the 5V jumper and feed 5V from a reliable source (or Arduino’s 5V pin if current <200mA). This prevents back-EMF from resetting your Arduino. The HW-130 is a dual H-bridge motor driver

The shield stacks directly on an Arduino Uno, Mega 2560 (partial pin usage), or Nano (with careful alignment). Below is the critical mapping:

| Shield Function | Arduino Pin | |----------------|-------------| | Motor A direction | Digital 12 | | Motor A PWM speed | Digital 3 | | Motor B direction | Digital 13 | | Motor B PWM speed | Digital 11 | | Servo 1 signal | Digital 9 | | Servo 2 signal | Digital 10 | | Enable A (jumper) | Digital 6 (if removed, else always on) | | Enable B (jumper) | Digital 5 (if removed, else always on) | | External power (VS) | Screw terminal “EXT_PWR” |

Note: On some HW-130 boards, Enable pins (6 & 5) are hard-wired to 5V via jumpers. Remove jumpers for PWM enable control.

| Symptom | Likely Cause | Better Fix than Datasheet | |---------|--------------|----------------------------| | Motor runs slowly | Low motor voltage | Supply >7V, remove 5V jumper | | Arduino resets when motor starts | Inrush current | Add 1000µF capacitor across motor supply terminals | | One motor doesn't reverse | Broken H-bridge channel | Swap motors to verify; use remaining channel | | High-pitch whine | PWM frequency audible | Change timer prescaler to lower freq (not recommended) or accept it | | Heating under no load | Shoot-through current | Replace L298N with a modern MOSFET driver (TB6612) |

⚠️ If your motors draw >1A, do NOT power the Arduino through the shield’s 5V regulator. Instead, power Arduino via USB or its own DC jack.

The HW-130 is a dual H-bridge motor driver shield based on the STMicroelectronics L298N chip. It is designed to drive two DC motors or one stepper motor. Unlike the standard raw L298N modules, this shield is form-fitted to plug directly onto an Arduino Uno or Mega, eliminating messy wiring.

Key Improvement: This guide simplifies the complex pin mappings and power jumpers found on the board.


Actually, let’s map that clearly:

| Shield Label | Arduino Pin | Function | |--------------|-------------|-----------------------| | IN1 | D4 | Motor A direction 1 | | IN2 | D7 | Motor A direction 2 | | EN A (PWM) | D6 | Motor A speed | | IN3 | D8 | Motor B direction 1 | | IN4 | D12 | Motor B direction 2 | | EN B (PWM) | D9 | Motor B speed |

Note: D5 and D10 are unused on most HW-130 boards – they are remnants of other shield designs. Stick to D6 and D9 for PWM.


Always use separate power for motors and logic. Remove the 5V jumper and feed 5V from a reliable source (or Arduino’s 5V pin if current <200mA). This prevents back-EMF from resetting your Arduino.

The shield stacks directly on an Arduino Uno, Mega 2560 (partial pin usage), or Nano (with careful alignment). Below is the critical mapping:

| Shield Function | Arduino Pin | |----------------|-------------| | Motor A direction | Digital 12 | | Motor A PWM speed | Digital 3 | | Motor B direction | Digital 13 | | Motor B PWM speed | Digital 11 | | Servo 1 signal | Digital 9 | | Servo 2 signal | Digital 10 | | Enable A (jumper) | Digital 6 (if removed, else always on) | | Enable B (jumper) | Digital 5 (if removed, else always on) | | External power (VS) | Screw terminal “EXT_PWR” |

Note: On some HW-130 boards, Enable pins (6 & 5) are hard-wired to 5V via jumpers. Remove jumpers for PWM enable control.

| Symptom | Likely Cause | Better Fix than Datasheet | |---------|--------------|----------------------------| | Motor runs slowly | Low motor voltage | Supply >7V, remove 5V jumper | | Arduino resets when motor starts | Inrush current | Add 1000µF capacitor across motor supply terminals | | One motor doesn't reverse | Broken H-bridge channel | Swap motors to verify; use remaining channel | | High-pitch whine | PWM frequency audible | Change timer prescaler to lower freq (not recommended) or accept it | | Heating under no load | Shoot-through current | Replace L298N with a modern MOSFET driver (TB6612) |