Brushless DC Motor Control (Clockwise & Counterclockwise)

I'm controlling a brushless DC motor using an ESC, lipo battery and arduino. Currently I can control the motor in a counter clockwise direction. I can change the direction by switching two wires from the motor to the ESC.

Is there a way to switch directions of the motor through the programming alone?

Or is it mandatory to have additional hardware to make the motor switch directions? (ie: a double pole double throw as shown in this video Arduino Brushless DC Speed AND Direction Control Setup (Part 2) - YouTube)

I know "myservo.write(100);" can gives the motor a speed, and was really hoping that just making the number negative would switch directions. This doesn't seem to be the case though.

Thank you in advance for an answer.

-Jeff

Is your ESC capable of reverse? So you have a link to the ESC data sheet?

Is there a way to switch directions of the motor through the programming alone?

Doubtful. I think ESCs are made that have bidirectional control.

Normal ESCs are designed for driving props, do not have much torque at spin-up. If you
are wanting controlled reverse under heavy mechanical load then standard ESC will not
do, you need a sensored motor and ESC.

If you use a cross-over switch on the phases, be sure to remove drive before switching
as an ESC connected only by 2 wires to the motor may burn out a motor winding
as it will be confused by the lack of backEMF on the third wire.

ESCs that might be of interest: