Source: https://mokxi.com/parts/l9110
Updated: 2026-11-10

Part

# Motor driver, L9110S

Two tiny bridges on one supply. Each output follows its input, and no coast: equal inputs brake.

See every part

- 10 pins
- In 5 projects

Drawn live by the editor's own code, at the size you see it.

At a glance

## The Motor driver, L9110S in brief

What it is, and where it sits on the bench.

The L9110S module is the cheapest motor driver there is and the one in the Pico kits and the small two-wheel robot kits. It is a small blue board with two L9110S chips, one per motor, and each chip is two push-pull outputs, one per input, which together make an H bridge. There is no enable pin and no separate motor supply: VCC runs the chips and the motors, from 2.2 V to 6.5 V. The Mokxi model follows the UMW datasheet. Each output follows its own input, so one high and one low turns the motor one way, the opposite pair the other way, and equal inputs brake, because the chip has no coast. A low input is at most 0.25 of VCC and a high at least 0.7 of it, the inputs have no pull-downs, and the bridges drop about 1 ohm a side. With a battery on VCC the motor’s current really comes out of the pack. The 800 mA rating and the flyback diodes are not modeled.

Family

Outputs

Pins

10

Pins

## 10 pins

Named as the editor names them, so a wire lands where you expect it.

Pin

What it does

BIA

Motor B's two inputs, printed B-IA and B-IB on the board.

BIB

Motor B's two inputs, printed B-IA and B-IB on the board.

GND

Ground.

VCC

Supply for the chips and the motors, 2.2 V to 6.5 V.

AIA

Motor A's two inputs, printed A-IA and A-IB.

AIB

Motor A's two inputs, printed A-IA and A-IB.

OB1

Motor B.

OB2

Motor B.

OA1

Motor A.

OA2

Motor A.

How to use it

## How to use the L9110S (HG7881) motor driver

The project uses no board at all, so the truth table is plain. A four-AA pack, 6.4 V fresh, is joined to VCC and GND. Two slide switches each connect one input, AIA or AIB, between the pack’s minus and plus. A motor sits across OA1 and OA2. Up on A-IA and down on A-IB turns it one way, the reverse the other way.

Equal inputs, both up or both down, brake the motor hard. There is no coast on this chip, which surprises people used to the L298N. For speed, put analogWrite on one input and hold the other low, and the motor is driven and braked in turn. In reverse, the PWM input is inverted because the other output is now high.

Two limits catch most builders. The chip is rated to 6.5 V and 8 V absolute maximum, and past that the outputs are dead in the model, though listings often say 12 V. And a high must be at least 0.7 of VCC, so on a 6 V supply a 3.3 V board’s HIGH is not a high. An unwired input draws almost nothing and the model leaves that output off rather than guess.

Part pin

Board pin

VCC

Pack plus (2.2 V to 6.5 V)

GND

Pack minus

AIA

Switch 1, between pack minus and plus

AIB

Switch 2, between pack minus and plus

OA1, OA2

The two motor leads

A 3.3 V board such as an ESP32 or a Pico drives it only if VCC is about 4.7 V or less. Above that, the 0.7 of VCC threshold is more than 3.3 V.

Hold the button

This is the simulator itself, running here. Click anything to open it in the editor.

Open this project in the editor Read the full tutorial

Forward and reverse with PWM on one input

Common errors

## Common Motor driver, L9110S errors and fixes

What goes wrong

The fix

Both inputs low and the motor stops dead instead of coasting.

The L9110S has no coast. Equal inputs brake. To let a motor spin down, remove its supply, or choose a driver with an enable pin.

The motor never turns on a 3.3 V board.

A high must be at least 0.7 of VCC. On a 6 V pack that is 4.2 V, so 3.3 V is not a high. Lower VCC to about 4.7 V or less, or add a level shifter.

The module is run from 9 V or 12 V because a listing said so.

The chip’s own sheet says 2.2 V to 6.5 V operating and 8 V absolute maximum. Past that the model’s outputs are dead. Use a 4-AA pack at most, or a driver rated for the voltage.

Speed control does not work in reverse as it did forward.

In reverse the other output is held high, so the PWM duty is inverted. Send 255 minus the speed, as the reverse() function does.

Questions

## Questions and answers

### What is the L9110S truth table?

High-low turns the motor one way, low-high the other, and equal inputs brake. There is no coast state, and no enable pin.

### What voltage does an L9110S module run on?

2.2 V to 6.5 V, with 8 V absolute maximum, from the chip’s datasheet. The same pin feeds the chips and the motors.

### How much voltage does the L9110S lose?

About 0.19 V at 100 mA across the two transistors in a motor’s path, about 1 ohm a side. The bridge is not lossless, so the motor gets a little less than the pack gives.

### Is it the same as an L298N?

No. It is smaller and cheaper, has no enable pins, no heat sink and no regulator, and handles about 800 mA a channel against 2 A. The 800 mA rating is not modeled here.

How it is modeled

## What is true about the Motor driver, L9110S, here

In its help article’s own words: what the simulation gets right, and where it stops.

### Modeled

From the UMW L9110S datasheet:

The logic table, both brakes included.

Input thresholds. A low is at most 0.25 of VCC and a high at least 0.7 of
it. On a 6 V supply that is 4.2 V, so a 3.3 V board's HIGH is not a high and the
motor never turns. Between the two thresholds the sheet promises nothing; the
model keeps the input's last state.

No pull-downs. The inputs draw 0.1 µA, so an unwired input is not a direction.
Its output is left off rather than guessed.

Saturation. 0.19 V at 100 mA across the two transistors in a motor's path:
about 1 ohm a side.

The supply. 2.2 V to 6.5 V operating and 8 V absolute maximum; past that the
outputs are dead. Module listings often say 12 V; the chip's sheet does not.

Where the current comes from. With a battery on VCC the bridges are part of
the analog solve, so the motor's current comes out of the pack and it sags.

### Not modeled

The 800 mA continuous rating, the 500 mW package limit, and the flyback diodes.

From L9110S motor driver, in full.

Projects

## See the Motor driver, L9110S in a project

5 built-in projects use it. Each opens in the editor, already wired.

Boards

## The boards it is shown on

This board has a built-in project with the Motor driver, L9110S in it.

- Arduino Uno R3

Keep going

## Keep going

- Arduino L298N Motor Driver: Wiring, Jumpers and Code
- NPN Transistor as a Switch: a 2N2222 and an Arduino
- DC motor
- Motor driver module, L298N
- Motor driver, DRV8833
- Motor driver, TB6612FNG

More parts

## The rest of the bench

Every one of these is drawn and simulated the same way.

Full-size breadboard

A real 0.1 inch grid with the rails and the center channel, 63 columns wide.

Jumper wires

Drag from any pin or hole to any other. Corners snap, and you can drag them.

Power

A supply rail at the voltage you choose.

Ground

The other end of every circuit.

LED

Lights when current flows. Five colors, and the brightness is what your eye would see.

Filament lamp

A tungsten bulb in a holder: an inrush when it is switched on cold, tens of milliseconds to warm up, and dim on half its voltage.

Resistor

Any value you like, with the color bands drawn to match.

ESP32-C3-DevKitM-1

A RISC-V board that runs your firmware at 160 MHz on the real memory map.

Pushbutton

A 12 mm tactile switch. Hold it while the simulation runs.

Raspberry Pi Pico

The RP2040 board on our own Cortex-M0+ core. Pick a program and press Run.

Raspberry Pi Pico W

Raspberry Pi Pico W (RP2040). The same board and the same pinout as a Pico, with the CYW43439 on it. The WiFi is simulated (no radio; real internet through the Cloud panel’s switch), and the on-board LED, which hangs off that chip rather than off GP25, is driven through the same path. Everything else is the Pico.

Raspberry Pi 4 Model B

Raspberry Pi 4 Model B: the 40-pin header, driven by main.py with RPi.GPIO or gpiozero.

See every part

## Wire up the Motor driver, L9110S

Open the editor and push it into the breadboard. It is free, and it runs on your own machine.

Start building free Open the editor
