Transistor Arduino Loss of Voltage
You've set up the NPN transistor as a high-side driver, but you aren't feeding the base a high enough voltage for it to be effective. Move the motor to between the collector and the positive terminal of the battery in order to turn the transistor into a low-side driver.

Also, put a resistor between the base and the Arduino so that you don't try to pull the positive supply down to 0.7V (between 820 ohm and 1.2 kohm should do), as well as a diode across the motor so that you don't blow up the transistor.







simulate this circuit &ndash; Schematic created using CircuitLab