Due to only a tiny amount of gearing (what is it - 2:1? 3:1? something like that) your motor is operating near the stall point unless it is able to pick up enough speed (at which point it would smash into the nearest wall and pulverise itself).
Consequently it is drawing far more current from the battery than you'd like. And that is, without the Arduino connected, about all the puny little PP3 battery can provide. Add the Arduino etc into the mix and you are over-stepping your current budget by enough to mean the motor cannot start turning (the 1A stall current).
So what to do? Well, two options:
- Use a bigger battery.
- Increase the gearing of the motor.
- (my personal recommendation) Do both.
Increasing the gearing of the motor will decrease maximum output speed, increase the torque, and most importantly, decrease the start-up current. The whole load on the motor will be reduced making it much easier to start.
By increasing the power of the battery (use a 2S or 3S Li-Ion depending on what your motor's voltage limits are) you have a much bigger current budget to play with.