I have a k'nex motor that I am trying to interface with a arduino. The motor works fine conntected to 5V. It is connected to ground but it can not be powered by a digital pin. The pin works, a led leights up when place in the pin
BJT: amplifies its base current... so with a 2N4401 u can use 500uA via a 10k Ohm resistor to give that motor 150mA(max)...
MOSFET: with a IRLML2502 u can use a 5V/0V voltage to turn on/off the ground connection of that motor... there will be almost only the charge current for the gate capacitance...