Motor driver, L9110S
Two tiny bridges on one supply. Each output follows its input, and no coast: equal inputs brake.
- 10 pins
- In 5 projects
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
10 pins
Named as the editor names them, so a wire lands where you expect 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.
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.
const int A_IA = 5; // PWM
const int A_IB = 4;
void forward(int speed) {
digitalWrite(A_IB, LOW);
analogWrite(A_IA, speed);
}
void reverse(int speed) {
digitalWrite(A_IB, HIGH);
analogWrite(A_IA, 255 - speed); // inverted: the other output is high
}Common Motor driver, L9110S errors and fixes
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.
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.
See the Motor driver, L9110S in a project
5 built-in projects use it. Each opens in the editor, already wired.
The boards it is shown on
This board has a built-in project with the Motor driver, L9110S in it.
The rest of the bench
Every one of these is drawn and simulated the same way.
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.