Vibrating motor confusion

I recently got the following vibrating motors from Amazon.

I hooked them directly between Gnd and 3.3V and they seemed to work fine. However upon connecting to a GPIO pin, the voltage for that pin drops and the motor stops working. What am i missing? Do i need to connect a motor driver?

Do i need to connect a motor driver?

Yes, and, I say this in the nicest way possible, don't ever connect a motor to a GPIO again.

GPIOs on any modern chip typically like to source/sink no more than 10-20mA each. The ones on the Particle are rated to max 14mA. The motors you linked to are rated at .1A no-load, so 5-10x more!

Worse, a motor's inrush current is going to be a lot higher than the nominal no-load current. That means that you massively overloaded your GPIO pin. If you're unlucky, the whole core CPU is fried. If you're neutrally lucky, the only thing which broke is that specific GPIO pin. And If you're really lucky, then somehow the chip protected itself and nothing fried at all.

Don't mean to pick on you, it's a very natural thing to want to connect a motor like you did! We've all made that mistake, and we've all learned very quickly never to do it again.

Moving forward, you'll always want to have a FET, MOSFET, transistor, solid-state relay, or driver between your microprocessor and any kind of load, whether it be a motor, a solenoid, or just a powerful LED.

Best of luck!

5 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.