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.
What transistor are you using and how are you wiring it? Also what's the motor control portion of the code look like? You probably want to use a transistor to avoid burning out the arduino. The trick is to use the correct transistor and signal from the arduino. TIP120s are pretty versatile for this.