Driving vibration motors in a compact environment

So I bought a vibration motor from SparkFun. It hasn't arrived yet, but I wanted to confirm a couple things.

Firstly, it says it runs on 3V, but on Adafruit's page for the same motor, they say that 5V works too. Adafruit also says that with a 100-1000 ohm resistor, you can run the thing straight from an Arduino pin, which I'm skeptical about considering the reverse voltage generated from motors turning off.

So what is it? Can I drive this thing like an LED? Or should I use this:
That design is on the current PCB, and it's what I'll get made if nothing changes. Of course this assumes that the motor can actually tolerate 5V, which I'm unsure of.

EDIT - That schematic as well as my PCB doesn't have a diode for the reverse voltage thing so I'll have to add one later.

EDIT - The vibration motor assembly is on the right side of the board.

Tell us how that motor will run with no power input.

Transistor motor drivers. NPN or N channel MOSFET.

Add the current limit resistor in the collector/drain side.

This is a schematic that I made and it might be totally wrong, as it was based on some Fritzing diagram or something.

VCC is top, Arduino D9 is on the side, and GND is the bottom.

All 3 are shown as ground.

1 Like

I know. It's just reference. Are there any ports for schematics that are just general purpose?

I have a labeled version. Let me find it...

EDIT - I couldn't find it but my earlier labels were wrong. The bottom port is VCC and the top is GND.

You should measure the current. If it is below 40mA, then it might be possible to drive them directly with a output pin. The ATmega32U4 has mosfet outputs. If you make a pin OUTPUT HIGH and LOW and never make it INPUT, then you may connect a motor without any diode.
I would not use them with 5V. They could get warm, or mechanically fail (after a very long time).

Perhaps a resistor + motor directly to a output pin is the easiest solution.
Can you measure the current of the motor ?

  1. This is what Adafruit says.
  2. My voltage converters are in moving boxes. Adafruit says that at 5V it's like 80mA, which is a no for Arduino.

Thermals aren't a concern, nor is longevity. The motor won't be on that much, and when it dies, I can unstick it from it's PCB and replace it.

EDIT - I am using a 32U4 board.

Then you need indeed a transistor as shown in Reply #2.
A third possible circuit is with the motor at the emitter of a NPN transistor.
The NPN transistor can be a small PN2222A.
The flyback diode can be a 1N4148 diode. Those little things can take a punch.

1 Like

I have the first part. Will a 1N4007 work for the diode?


Could you edit the title of this topic ? This is about driving a small vibration motor with an Arduino board.

1 Like

How's this?

The motor should arrive on Saturday or Sunday and I'm intentionally not packing my UNO boards and breadboards for this sort of thing.

EDIT - Thanks.

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