You need to do this for a new set of ESCs, if you replace an ESC, or if you didn't do this step correctly in your initial setup. The ESC calibration is actually permanently stored in the ESC.
This page additionally includes instructions that correctly set the motor/output neutral which is technically not part of ESC calibration, but should be done immediately after ESC calibration and uses the same setup (GCS and FC via USB) as this version of ESC calibration.
The following procedure does not require the use of the RC radio at all. The GCS is used to control the FC (e.g. CC3D, Revo, Sparky2), and the FC supplies the servo pulses to all the ESC's at the same time.
1 - Take props off !!! Really !!! Part of these instructions will have you running the motors, and other parts could accidentally run the motors e.g. if you do something wrong.
2 - Disconnect flight battery if connected.
3 - Connect FC to GCS/USB. Note that this powers up the FC, but not the ESC's. If your ESC powers up and the motor produces some beeps you can't use this procedure as written here.
4 - In the GCS, go into Configuration->Output.
5 - Verify that ESC's are running either all PWM/490, PwmSync, or even OneShot125 (all the same) aircraft stability will not be as good if you don't use one of these fast signal protocols.
6 - Make sure all your mins are 1000 and all your maxes are 1900.
7 - Link all ESC's together ('Link' check boxes on right in GCS).
8 - Click on one of the ESC sliders to give it focus.
9 - Play with Home and End keys on keyboard and see that they make sliders go full off and full on.
10 - Enable "Test Outputs" (and read the caution pop-up).
11 - Click on one of the ESC sliders to give it focus.
12 - Press End key to max all ESC's.
13 - Plug in flight battery to power the ESC's
14 - Wait just for first beep and immediately press the keyboard Home key. There are two beep sequences. If you wait too long you will hear the second set of beeps and must immediately unplug flight battery and start over (or risk changing some ESC settings on some ESC's).
15 - You should hear a set of confirmation 'calibration done' beeps that ESC's are programmed. Listen carefully. You might get for instance only 3 of 4 motors done correctly. You can tell that the beeps are all the same (good) or some are different (bad). After you have done this a few times, you can tell that it is correct by the beeping "calibration done" beeps.
16 - If incorrect or uncertain, or you just want to get the hang of it, unplug the flight battery and go back to step 11 (really easy).
17 - Unplug flight battery.
18 - Warning: This and later instructions will spin the motors. With sliders still on min, plug in flight battery, wait for ESC startup beeps, and then slowly drag a slider with mouse a short way to test all motors at once.
19 - Press the keyboard Home key to set all ESC's/motors to minimum.
20 - Uncheck all 'Link' checkboxes.
21 - Move one slider up till that motor runs slowest but reliably. Motor start often happens about 1070 or so with generic ESCs. Consider adding about 15 to the slowest reliable to allow for changes caused by temperature in ESCs without an accurate clock frequency (very common).
22 - Do the same with the other sliders.
23 - The neutral values should all be within 2 or 3 of each other or you may not have a good calibration, start over and time your Home key a little more accurately.
24 - Often, one ESC's BEC is providing all the 5V power for the FC, RC receiver, etc. That ESC will be warmer. Depending on design, warmer ESCs read the signal differently and need a slightly higher number (3-5) to start the motor. That is normal and acceptable.
25 - All motors are now running slowly.
26 - Disable "Test Outputs". The motors will stop.
28 - Optional: Reduce the high end dead band. Subtract about 30 from each max. If you used 1900 set them to 1870.
29 - Press Save.