Do I need an ESC to control the speed of a motor with an Arduino uno?
You'll need a motor driver (something to translate the direction and PWM signals from the Uno into bridge drive signals) to power the motor.
If you are only controlling speed and not direction of rotation and using a simple dc motor you can send PWM to a mosfet and control the speed with PWM width. It only gets more complicated from here on. Just don’t forget the fly back diode.
It depends on the actual motor you intend use.
KIADb2: Do I need an ESC to control the speed of a motor with an Arduino uno?
Some motors yes, other motors no. So what sort of motor is it?
A 130 size DC motor. Its the one that comes with the Arduino super starter kit.
With dozens of different starter kits around that doesn’t say much.
If it’s a regular DC motor (two wires) it can probably be controlled with an H-bridge, such as the TB6612FNG.
If you just need to control speed and not direction then a simple MOSFET or other transistor will do it.