Do you need an ESC to run this brushless DC motor with Arduino Uno? This is the motor:

https://www.aliexpress.com/item/Wholesale-JGA25-2418-8-5-1977-rpm-Electric-Motors-Brushless-Motor-High-Torque-Speed-Controlled-DC/32360228129.html

I'm hooking it up to the arduino as described and giving the PWM outputpin analogWrite functions, but it's not working.
No. It has an ESC built in.

You just provide power and a PWM signal, and optionally a direction signal.

To test:


Connect red to +12V.
Connect black to 12V GND and to Arduino GND
Connect white to D5
analogWrite(5, 128);