Vibration motors characteristics

Hi,
I would like to make a vibrobot similar to this one. But probably a bit larger and somewhat "clever". I was looking at vibration motors on eBay and found very little characteristics. For less soldering I would like to power them directly from a pin. (I am a bit afraid joints will suffer from the vibrations.) I don't know which motor to choose. For example description of this one says maximum 70mA @ 3V. Another one consumes 0.15-0.23A @ 1.5-3V. But this one needs only 12mA @ 3V. I don't know how to understand those numbers. I would expect vibrations ~ I.U so the last one would vibrate much less than the first two. On the other side trying to source large current from the pin will lead to voltage drop so the motor will consume less current and be less efficient...
I also tried to find more info about vibration motors. Here I have found some interesting stats about 8x2.5 mm flat motor. There is this graph:

It looks like until the motor starts at about 2.4V there is no current. Then current consumption and speed quickly rises and when current is around 40mA it needs more voltage to operate but efficiency decreases. Is it "normal behavior" of motor or is it just artifact caused by not characterizing motor at voltage under 2.4V?
Also second page of this motor states "Typical Start Current: 60 mA at rated voltage". Does that mean the graph is for consumption of the motor when running but it will not start until it gets 60mA? Or will it just start slower when the current is not limited?
Do you have some experience with those motors and hints what to look for? For example if the flat motors are somewhat better than cylinder motors or vice versa?

Stall current, which is the same as Start current, is the current needed to get things moving, and once moving then less current is needed to keep it moving. Go out and push a car, same effect. If the motor gets loaded down (road starts going uphill) more current is needed to keep it going, until the load gets so great the windings burn up when you try to put enough current thru them to keep the motor spinning.

The min voltage is the voltage needed to create current across the motor winding resistance (impedance, really, but same effect). You can measure the resistance across a motor's coils and get an idea. If the windings measure 3 ohm and it takes 100mA to make the motor move, then using Ohms Law V = IR, .1A * 3 ohm = 300mV most likely in steady state once moving. There's probably some more math involved as the motor creates back EMF (electromagnetic force) once current starts flowing. The start up current is higher as the motor fights back against being spun up to start with.

Long story short, use a low Rds N-channel MOSFET controlled by Arduino pin to sink current thru the motor, an IO pin is not good. I used to recommend something in the AOI5xx series at Digikey, but they've all gone obsolete. https://www.digikey.com/products/en?keywords=aoi5 Can you handle SMD? AOD5xx parts are good. https://www.digikey.com/products/en/discrete-semiconductor-products/transistors-fets-mosfets-single/278?k=aod5

My soldering is comparably poor with SMD as THT, it is no problem. In fact I prefer buying cheap components (opamps, comparators, transistors) in SMD to learn it :wink: I am afraid about mechanical stress of the joints - the more joints the better chance for failure. So I would prefer to get motor that pin alone can handle (the third one I linked should be the right one - if it will generate enough power).
If the motor were driven directly from pin I hoped there would be no need for flyback diode either. My idea: if pin is HIGH it is as if the pin were connected to Vcc via small resistor. If it is LOW it is as if it were connected to GND. So in setup pin — motor — GND if I turn the pin HIGH current will flow from Vcc → pin → motor → GND. If I turn the pin LOW the path will be GND → pin → motor → GND. I am not sure - is the pin driver able to source current when pulled low and voltage on it is lesser than GND or will the ESD protection diode need to handle it (and probably die trying)?

Smajdalf: If the motor were driven directly from pin I hoped there would be no need for flyback diode either.

Bad error - burnt out pin or chip will likely result.

Always you need to protect sensitive electronics from an inductive load. The input protection diodes on a typical CMOS chip are rated for less than 1mA as their job is to protect from static electricity only - they do not protect from an inductive load.

To protect the protection diodes you need schottky free-wheel diodes on a CMOS output (schottky diodes conduct at lower forward voltage than the protection diodes). You also have to avoid over-current on the pin if used directly - there simply are very very few motors with less than 40mA of stall current, and the ones that are are tiny weeny little motors.

MarkT: You also have to avoid over-current on the pin if used directly - there simply are very very few motors with less than 40mA of stall current, and the ones that are are tiny weeny little motors.

Yes, that is what I hope to get - small toy running from coin cell(s) for hours. Do you know: can CMOS output stage source current when pulling LOW or will be all the work on poor ESD diode possibly not rated for such current? But on the other hand - how long will such current flow? ESD protection diode should be made to handle large current spikes for brief period of time - more than current it is probably limited by power dissipated? But I have no clue how to guess dissipated power generated from motor of unknown characteristics...