Fan module, L9110

A small DC motor with a soft propeller on an L9110S driver board, run straight off two board pins. Aliases: L9110 fan module, mini fan module.

The chip on the board is a whole H bridge, run from the module's own VCC, so the two inputs are logic pins and there is no transistor to add.

Pins

Pin What it does
INA High (with INB low) spins the fan one way.
INB High (with INA low) spins it the other way.
VCC Supply for the chip and the motor, 2.2 V to 6.5 V.
GND Ground.

The inputs

INA INB Fan
low low brake
high low forward
low high reverse
high high brake

analogWrite() on one input with the other low sets the speed: the motor brakes in the low part of each period and drives in the high part, and the propeller averages the two.

Properties

voltage is the supply that gives full speed, 5 V. inertia is how slowly the propeller follows a change, 250 ms, an assumption for a light propeller.

While it runs

The propeller turns, and the readout shows the speed in percent of full, negative in reverse.

What the model gets right

The truth table. It is the L9110S's, with no coast: equal inputs brake.

The input levels. Low is under a quarter of VCC and high is over 0.7 of it, so a 3.3 V board on a 5 V module is not a high: 3.3 is under 3.5. Run the module from 3.3 V too, or use a 5 V board.

The supply. Under 2.2 V or over 6.5 V the chip does nothing here.

What it does not model

The motor's current and the sag it puts on a weak supply, and the air.

Common mistakes

Driving it from a 3.3 V board with the module on 5 V. See above.

Leaving one input unwired: the chip cannot tell what it is, and the fan stops.

See it in action

Thermostat fan speeds the fan up as a TMP36 warms. Open it at /templates.