L9110S Dual H-Bridge Motor Driver Module for Small DC Motors The L9110S motor driver module is a compact dual H-bridge board for controlling small DC motors, toy motors, and bidirectional loads from microcontroller GPIO pins. It is a practical driver for robot cars, miniature fans, small pumps, and STEM motor-control experiments. The board accepts TTL/CMOS-style logic inputs and can be driven by Arduino PWM pins for speed control. For classroom robot builds, it pairs naturally with the OpenELAB UNO R3 Intermediate Kit V2; for chip-level details, see an L9110 datasheet reference. Use this module where low cost, compact wiring, and simple direction control matter more than high-current industrial drive performance. Always match the motor current to the driver rating and provide a stable motor supply. Technical Specifications Parameter Value Driver IC L9110S dual H-bridge Motor channels 2 x small DC motor channels Logic input TTL/CMOS compatible Control mode Digital direction plus PWM speed control Typical supply 2.5 V to 12 V motor supply, depending on motor and board wiring Dynamic output current Approx. 750 to 800 mA per channel Peak output current Approx. 1.5 to 2.0 A short peak Supported loads Small DC motors, toy motors, fans, simple coils Controller support Arduino, ESP32, STM32, Raspberry Pi Pico with GPIO/PWM Protection note Use external supply decoupling for noisy motors Operating environment Indoor embedded and education projects Board Layout & Label Guide Motor output A: Connect one DC motor to the first output terminal pair. Motor output B: Connect a second small DC motor to the second output pair when needed. Input pins: Each channel uses two logic inputs for forward, reverse, stop, and brake states. PWM-capable pin: Apply PWM to one control input for speed control. Motor supply: Use a supply that can handle motor stall current. Common ground: Share ground between the motor driver and controller. Noise control: Add capacitors or keep motor leads short if the controller resets. Application Scenarios 1. Bidirectional DC Motor Test Drive a small DC motor forward, stop, then reverse to confirm wiring and motor direction. const int IN1 = 5; const int IN2 = 6; void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); } void loop() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); delay(1500); digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); delay(500); digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); delay(1500); } 2. PWM Speed Ramp Use PWM to ramp motor speed smoothly for a small robot wheel or fan. const int IN1 = 5; const int IN2 = 6; void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); digitalWrite(IN2, LOW); } void loop() { for (int speed = 0; speed = 0; speed -= 5) { analogWrite(IN1, speed); delay(30); } } 3. Button-Controlled Motor Toggle the motor with a push button while keeping the driver logic easy to inspect. const int IN1 = 5; const int IN2 = 6; const int BUTTON = 2; bool running = false; void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(BUTTON, INPUT_PULLUP); } void loop() { if (digitalRead(BUTTON) == LOW) { running = !running; delay(250); } digitalWrite(IN1, running ? HIGH : LOW); digitalWrite(IN2, LOW); } Packing List 1 x L9110S Dual Motor Drive Module FAQ Q: Can it drive large motors?A: No. It is intended for small motors within the L9110S current range. Q: Does it support PWM speed control?A: Yes. Use PWM on the control input pin selected for speed control. Q: Do I need a shared ground?A: Yes. The controller ground and motor driver ground must be connected. Q: Can it reverse motor direction?A: Yes. Reverse the input states for the selected channel. Q: Can it run from USB power?A: Only for very small motors. A separate motor supply is safer for most builds. Q: Why does my Arduino reset when the motor starts?A: Motor startup current or electrical noise may be pulling down the supply. Q: Can it drive a stepper motor?A: It can drive simple two-coil experiments, but a dedicated stepper driver is better for precise motion. Q: Is a heatsink required?A: Usually not for small loads, but stop use if the driver overheats.