# ESC Calibration
These instructions are only relevant to PWM ESCs and OneShot ESCs. DShot and CAN ESCs (DroneCAN/Cyphal) do not require calibration.
Electronic Speed Controllers (ESCs) regulate motor speed (and direction) based on the PWM input value from the flight controller (FC). The range of inputs to which an ESC will respond is configurable, and the default range can differ even between ESCs of the same model.
This calibration updates all the ESCs with the maximum and minimum PWM input values that will be supplied by the flight controller. Subsequently all the ESCs/motors will respond to flight controller input in the same way (across the whole input range).
Calibration is recommended for all ESCs, and in particular for low cost models.
The system must include a power module (PX4 uses the measured voltage to determine whether or not a battery is connected).
To calibrate the ESCs:
Remove the propellers.
Never attempt ESC calibration with props on.
The motors should not spin during ESC calibration. However if an ESC doesn't properly support/detect the calibration sequence then it will respond to the PWM input by running the motor at maximum speed.
Disconnect the battery and connect the flight controller via USB (only).
Open the QGroundControl Settings > Power, then press the Calibrate button.
Connect the battery when prompted:
The calibration will begin automatically:
Once the calibration complete you will be prompted to disconnect the battery.
High-quality controllers come with a factory calibration. In theory this means that they can be configured by just setting the PWM_MAIN_MINn/PWM_AUX_MINn and PWM_MAIN_MAXn/PWM_AUX_MAXn parameters to the values provided in the ESC technical specification. In practice the input range may differ even on high quality controllers, which is why calibration is recommended.