Using the L9110H Motor Controller with the Wemos D1 Mini

Wemos-L9110HA few parts and just 8 pins can get you started with motor control

I was recently loitering on AliExpress again, aimlessly filling my basket with $2 cheap thrills as you do. My last order of pointless things included a cheeky 10-pack of L9110H motor controller ICs which I stumbled across.

They seemed kind of pointless to a guy who maintained a good stock of humble L293D chips. The L9110H only offers one motor output, but it is somewhat ‘cute’ when compared to its crusty ex-celebrity older cousin.

Despite having absolutely no need for a new go-to motor chip, it’s been fun learning about this little guy over the last couple of weeks – so I’ll show you how I used it with my trusty Wemos D1 Mini.

The L9110H

L9110H – The Perfect Beginner IC?

I should give this thing more credit, it’s actually pretty solid for something so cheap and small.

The L9110H has some handy features that similar chips don’t always offer, which will help beginners (even if they’re not aware of them):

  • Wide input voltage range – 2.5V-12V
  • Built-in clamp diodes
  • Forward & reverse capability
  • Just 8 pins

I love that you can make something move with just 8 pins and pretty much any battery pack you’ve likely got lying around the house. Let’s do it!

Wiring Up the Wemos and L9110H

The L9110H is a doddle to wire up. You’ve got 2 GND connections, 2 power (5V), 2 GPIO control pins and 2 pins that run to the motor. Easy!

Here’s the chip pin-out, courtesy of the charming engineers over at Elecrow:

L9110H Pinout
Just 8 pins, and a couple of those are repeat pins anyway (GND and VCC)

Here’s where the pins go on your Wemos:

L9110HWemos Function
GND (x2)GNDGround
VCC (x2)5V5V Power
IAD5Input Pin A
IBD0Input Pin B
OAMotor Wire 1
OBMotor Wire 2

…and for what it’s worth, here’s what it looked like on my breadboard:

Wemos L9110H project
My completed breadboard circuit, using motor shims (so handy)

It doesn’t matter which way you wire the motor, it’ll just turn one direction or another (you can’t break it), and the IA/IB input pins connect to your Wemos GPIO (D0, D5) to control the motor direction/speed.

Super simple huh?

Simple Arduino IDE Code

The code for the L9110H works just like the popular L293D – using 2 GPIO pins per motor to determine the direction of travel.

I’m using a Wemos D1 Mini here – if you need help setting it up with the Arduino IDE, check out my guide.

Here’s my Arduino sketch which makes the motor move forwards for 5 seconds, takes a 1 second pause, and then backwards for another 5:

//Motor Pins
int Motor1 = D0;
int Motor2 = D5;
void setup() {
//configure pins as outputs
pinMode (Motor1, OUTPUT);
pinMode (Motor2, OUTPUT);  

void loop() {
  // Forwards
  digitalWrite (Motor1, LOW);
  digitalWrite (Motor2, HIGH);

  //5 second wait
  delay (5000);
  // Stop
  digitalWrite (Motor1, LOW);
  digitalWrite (Motor2, LOW);

  //1 second wait
  // Backwards
  digitalWrite (Motor1,HIGH);
  digitalWrite (Motor2,LOW);

  //5 second wait
  delay (5000);

  // Stop
  digitalWrite (Motor1, LOW);
  digitalWrite (Motor2, LOW);

  //1 second wait

Over to you

GO FORTH fellow makers! Create useless 1-wheeled robots and other such pointless moving things with the slightly 1-armed-but-wonderful L9110H!


Be the first to comment on "Using the L9110H Motor Controller with the Wemos D1 Mini"

Leave a comment

Your email address will not be published.


This website uses cookies. Please visit our privacy policy page for more information. Privacy policy

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.