1
\$\begingroup\$

In order to use a GPIO pin to drive a 180 mA mini water pump, the GPIO pin needs to switch a MOSFET or an Optocoupler because it can't safely do 180 mA.

I want to run 16 low-current pumps from 16 GPIO pins. I'll only be running one pump at a time, because the pumps will be powered by the same Li-ion battery as the GPIO device.

Can I use one of those 4- or 8-channel 3.3 V to 5 V logic level converters as mini relays? They are quite cheap and easy to handle. They are made by Adafruit, SparkFun, and there are even 8 channel ones such as this and this. The only problem is that I'll be using the same voltage for the high and the low side.

Alternatively I can use a dedicated solid state relay boards, but those are very heavy-duty and I prefer something lightweight.

\$\endgroup\$
0

2 Answers 2

1
\$\begingroup\$

No, a bidirectional logic level converter has no current gain, so it won't serve your purpose. However, you could use a Darlington transistor array, such as the ULN200x series.

\$\endgroup\$
2
  • \$\begingroup\$ Thank you for the recommendation. Can you elaborate a little bit? The ULN2001 has IN, OUT, and GND. Where does the extra current come from if I can't attach VCC? \$\endgroup\$
    – Redsandro
    Mar 23 at 12:24
  • 1
    \$\begingroup\$ The positive side of each pump connects directly to the power supply. Pin 9 should also be connected to that power supply so that the diodes can protect the transistors. \$\endgroup\$
    – Dave Tweed
    Mar 23 at 15:34
2
\$\begingroup\$

No, you can't use these level shifters to drive a 180mA pump even if you manage them to put in right configuration. The shifters, per descriptions, use BSS138 N-FETs. The FETs have 6 Ohm Rds_on even if driven by 4.5V. As such the transistor will dissipate about 200mW, and the tiny SOT-23 case will likely overheat and burn out.

enter image description here

You will need to use a beefier MOSFETS, or see Dave's recommendation regarding the use of ULN2001 IC, it even has all necessary clamping diodes.

\$\endgroup\$
1
  • \$\begingroup\$ I have tested using 3.3V on a bread board and everything works as expected. The 180 mA pump runs for five minutes and the BSS138 doesn't even get noticeably warm. But here's the real puzzle: Once I attach the logic VIN to GPIO in stead 3.3V, it doesn't work anymore. My oscillator shows it turns on for 10 milliseconds and then off again. I can tell the pin is working properly because I can replace the BSS138 with a LED + resistor and then it works. I don't understand what causes the problem, but clearly this won't work. Albeit for different reasons than expected. \$\endgroup\$
    – Redsandro
    Mar 26 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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