The motor in your list is sensorless meaning that there is no provision internally for commutation feedback. Such a motor cannot be operated reliably below 10-20% of it's maximum speed and it requires a fairly complex sequence to initiate rotation when stopped. All of this is because the controller needs to know the rotor's position relative to the stator while running and that is determined by detecting when the voltage from the undriven winding (at the motor rotates the windings are driven in sequence) crosses zero and at low RPM the voltage is too low to sense accurately.
To operate a BLDC motor in servo (position control) or full range reversible variable speed mode some feedback is required. For servo mode that usually means a rotary encoder and for either you need at least a "hall effect" commutation sensor which has three outputs that indicate which magnetic pole is closest to alignment with the rotating magnet.
Here's a couple links to projects using an Arduino plus some homemade electronics to control a BLDC motor with hall effect feedback:
https://www.vbesmens.de/en/positioning-controller.html
https://simple-circuit.com/arduino-bldc-brushless-dc-motor-control/
Neither has encoder feedback which is necessary if you need to control the motor's position to a small fraction of one rotation, but both designs will allow complete control of the motor's speed and direction from an Arduino.