3

I have a peristaltic pump which is rated 6V, 30mA that, when plugged into the 3.3V GPIO (& ground of course), runs smoothly.

When I code a GPIO to drive the same motor it doesn't move. I measure 3.3V across both circuits yet only the first gives any movement.

Any ideas?

  • Post a link to the pump. I bet its more than 30mA when it starts. – CoderMike Jan 17 '18 at 9:51
4

A GPIO can only supply a little current, perhaps 60mA or so, whereas the 3V3 rail can supply up to 1 amp depending on the Pi model.

It is probably not safe to draw more than say 20mA from a GPIO for an extended period (which may be of the order of seconds) as they are not designed for that purpose and you may destroy the GPIO and/or the Pi.

It is also dangerous to drive any inductive load (like a motor) directly from a Pi GPIO because back EMF may destroy the GPIO and/or the Pi.

  • Thanks joan, got it. Will add an external power supply + driver to the circuit for the Pi's GPIOs to control. – Brian Jan 17 '18 at 10:15
1

GPIO pins are only supposed to produce 16mA. In fact you CAN draw more (at some risk) BUT NOT at 3.3V.

Quite simply the voltage is too low. It is also a bad idea to connect ANY inductive load to GPIO.

  • Thanks Milliways, got it. Will add an external power supply + driver to the circuit for the Pi's GPIOs to control. – Brian Jan 17 '18 at 10:16

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.