40mV (Which is the most an output pin can give from the Arduino)
Care to explain that? If you are getting only 40mV from a pin set to OUTPUT and HIGH, there is something very wrong with the pin or what it is connected to. You need to fix that before you proceed.
To choose a MOSFET you will need to know the stall current of the motor and size the MOSFET to handle that current.