Kunkune

L9110S H-Bridge Driver: Wiring Two DC Motors Safely

L9110S H-Bridge Driver: Wiring Two DC Motors Safely

By Kunkune | Published: 2026-11-03

Category: How-to Guides

Wire an L9110S H-bridge to two DC motors without brownouts or reversed direction. Follow the step-by-step power, wiring, and Arduino test sequence.

Quick answer

Power the L9110S motor supply from a separate battery or adapter, tie its ground to the Arduino ground, and test one motor at a time before connecting the second.

Why the motor supply decides whether your wiring works

The L9110S switches motor current through its H-bridge, but it does not create that current. If you feed the motor terminals from the Arduino 5 V pin, startup current can pull the rail down and reset the board. Use a dedicated motor supply within the module's supported voltage range and keep the Arduino on USB or its own regulator.

The module has no current-adjustment potentiometer and no thermal readout. That means you cannot dial back stall current the way you can on some other drivers. Choose motors whose running and stall current stay within what your supply and the board can deliver, and stop the test if the chip becomes too hot to touch.

When the L9110S is the wrong driver

The L9110S is a small dual H-bridge for light DC and stepping motors. It is not a drop-in replacement for every L298N project: the L298N module usually adds a heatsink and screw terminals for larger loads, while the L9110S trades that headroom for a compact board. If your motor is rated for high continuous current or your project needs current sensing, plan for a different driver rather than pushing this one.

For a single small stepper, the same board can drive both coils, but you must confirm the coil wiring and step sequence yourself. The catalog does not list a supported stepper current rating, so treat that figure as a limit to verify from your motor's label before connecting it.

Step-by-step L9110S wiring and test sequence

  1. Set up the motor power supply first: Connect the motor supply to the L9110S motor power terminals and leave the Arduino disconnected. Check the polarity with a multimeter before plugging anything in. Common mistake: powering the board from the Arduino 5 V pin, which can brown out the board when the motors start. Confirm the supply voltage is within the module's supported range before any motor is attached.
  2. Tie the grounds together: Run a wire from the motor supply ground to the Arduino ground and to the L9110S ground. Without a common ground, the input signals have no reference and the motors may twitch or not turn. Checkpoint: measure continuity between all three ground points. A missing common ground is the most common reason a correctly wired L9110S appears dead.
  3. Wire motor A to one side and motor B to the other: Connect the first motor across the A terminals and the second across the B terminals, keeping the two motor wires in the same order on each side. Do not connect motor power to the logic input pins. Checkpoint: tug each wire gently to confirm the terminal is clamped on conductor, not insulation. Label motor A and motor B now so direction fixes later are unambiguous.
  4. Connect the logic inputs to the Arduino: Wire the A-direction and A-speed inputs to two Arduino digital pins, and the B-direction and B-speed inputs to two more. Keep the input wires short and away from the motor leads. Common mistake: assuming the inputs are labeled with the same pin names as another driver board; follow the silkscreen on the L9110S you received. Record which Arduino pin drives each input before writing code.
  5. Upload a one-motor test sketch: Write a sketch that sets one direction pin high, the other low, and pulses the speed pin with analogWrite. Run motor A for two seconds, stop, then reverse. Do not connect motor B yet. Checkpoint: if the motor only hums, disconnect power and recheck the A wiring before changing the code. A single-motor test separates a code problem from a wiring problem.
  6. Add the second motor and test both directions: Once motor A runs forward and reverse, repeat the sketch for motor B. Then run both motors together and watch the supply voltage. A dip that resets the Arduino means the supply is too weak or the motors are drawing more than expected. Common mistake: blaming the L9110S for a supply that cannot deliver the combined startup current. Test both motors together only after each one passes alone.
  7. Check heat and stop if the board is hot: After a few minutes of running, touch the driver chip briefly. It should be warm, not painful. If it is too hot to hold, disconnect power and reduce the load or change to a driver rated for more current. The L9110S has no current limit adjustment, so heat is your main warning sign. Treat a hot chip as a load problem, not a code problem.

Product facts

  • 5x L9110S H-bridge Dual DC Stepper Motor Controller Board: The 5x L9110S H-bridge pack contains five compact dual DC and stepper motor controller boards. Having five boards lets you wire one motor pair per board and keep a spare for a second prototype or a replacement after a wiring mistake.
    5x L9110S H-bridge Dual DC Stepper Motor Controller Board
    5x L9110S H-bridge Dual DC Stepper Motor Controller Board

Shop Related Products

5x L9110S H-bridge Dual DC Stepper Motor Controller Board

5x L9110S H-bridge Dual DC Stepper Motor Controller Board

$3.68 $4.90

Shop Now