I want to use the L9110 to drive 12V solenoids using my Arduino Uno. I bought this module to test with but ultimately want to design my own board. I desoldered the pull ups so I wouldn't be pulling my Uno pins up to 12V, for safety. My problem is that even with no load the chip is getting crazy hot and drawing around 60mA, which is about 720mW. This happens when I activate the output with pulling the inputs to opposite logic levels. I tried the same thing with 5V VCC and it barely went above room temp.

Thanks in advance.


simulate this circuit – Schematic created using CircuitLab

  • 3
    \$\begingroup\$ Include a schematic so that it is more clear how everything is connected. Also information about the "solenoids" is needed, what are they, what current do they take at what voltage. \$\endgroup\$ – Bimpelrekkie Mar 4 '19 at 11:47
  • \$\begingroup\$ What makes you think that logic level input voltages are suitable for this device? \$\endgroup\$ – Andy aka Mar 4 '19 at 12:47
  • 1
    \$\begingroup\$ The (poor detailed) datasheet? \$\endgroup\$ – Huisman Mar 4 '19 at 13:05
  • \$\begingroup\$ Remove the power supply and solenoids. Measure the resistance between 1 and 2/3 of the L9110, between 4 and 2/3, between 1 and 5/8 and 4 and 5/8. When one of these are close to zero, the module is defect. \$\endgroup\$ – Huisman Mar 4 '19 at 13:08
  • \$\begingroup\$ @Bimpelrekkie The solenoids -> link. They draw 220mA at 12V and they will be connected same as a DC motor would. \$\endgroup\$ – BdT141 Mar 5 '19 at 9:41

"The poor datasheet" states a typical VHin of 5V , up to 9V when powering the board with 9V. Very nice. At 12V it might be higher leaving the driver in the linear region (half opened).

I couldn't find a real design that uses 12V for the motor driver and 5V for inputs, most were using 5V for the motor to.

The pull-ups you removed were pulling the Arduino outputs (when high) to 5.5V limited by the clamp diodes, by removing them the the high output is lower and this might be the explanation why your board is not working.

It's not wise to let the inputs without a pull-up, at some point Arduino outputs might float which can damage the driver. Even connected to 12V the current through the pull-up resistors is low and harmless for the Arduino board.

| improve this answer | |
  • \$\begingroup\$ I even directly connected the board's inputs to 12V and ground directly in case the 5V wasn't enough as you said, but same problem. I used "manual" pullups to Arduino's 5V after I removed the board's pull ups so the inputs weren't left floating, but thanks. \$\endgroup\$ – BdT141 Mar 5 '19 at 9:37
  • \$\begingroup\$ @BdT141 You should post a picture with your setup. Groud issues, or oscillations might be also a source. \$\endgroup\$ – Dorian Mar 5 '19 at 18:13
  • \$\begingroup\$ I've added a schematic of how I currently have it set up. Note that all grounds(Arduino and ext 12V supply) are connected and that isn't the real inductance of the electromagnet. But as I said even with no load and no PWM applied to the input the module gets hot. \$\endgroup\$ – BdT141 Mar 7 '19 at 7:50
  • 1
    \$\begingroup\$ @BdT141 Nothing left. Try to put a decoupling capacitor >100uF on the board and, if still not working, just assume that the board is deffective. \$\endgroup\$ – Dorian Mar 7 '19 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.