Do I need to program the controller?
The controller does not need to be programmed, unless you have a 902 motor. See the FAQ on setting the controller for a 902 motor.
With the default settings and a 36 volt battery the 901 and magic pie motors perform like a 500w motor and cruise along at street legal speeds of 30-32 kph.
With the default settings and a 48 volt battery the 901 and magic pie motors perform like 1000 watt motors and can reach speeds of 42-48 kph. This is ok for offroad vehicles like electric dirt bikes. If you intend to run your motor on the road, you must program the motor with a USB cable or bluetooth and change the settings to street legal setting for Ebikes in your area. Please read the FAQ on Ebikes laws.
You may also want to program the motor for other reasons. For example front wheel drive Ebikes you may want to set the regenerative braking lower or even shut it off to avoid front wheel slides when braking on slippery surface conditions. Also on a front wheel drive, you may want to turn down the take off power to avoid the wheel spinning out at take off.