So im switching to a smaller build and I tried to control the speed of a tiny DC motor that I happen to own. I used a transistor and it works but there is an issue. The motor speed is much weaker than connecting it directly to the battery. I have a 3.7v battery and if I connect the motor to a transistor and than arduino, it would be the same max speed as connecting it to a transistor and than to Arduino 5v. Both however, are much weaker than hooking it up to 3.7v directly. So how do I control the speed of the motor using Arduino without making its max speed weaker? I want to give it the same power that it gets from the battery with the ability to control its speed through Arduino.