I'm trying to drive a small motor (around 20mA when spinning) directly from the output of a microcontroller. The datasheet says it can cope with 50mA, however when the motor is turned on, the pin output voltage is pulled down from 5V to under 1V, stopping the motor from getting started. I tried giving it a little nudge, and once it's spinning, the pic handles it fine, but it just struggles getting it going. Without having to introduce an H-bridge, how can I get the motor to start?