Initializing the ESC through microcontroller
I have used 2 ESCs in a hovercraft project I built. Brushless ESCs expect a calibration at power up. Usually this is achieved by sending the high value pulse (2ms) first, waiting for around 2-3 seconds for the beep, then sending the low value (1ms) pulse, and waiting for another beep (another 2-3 seconds). ESC then identifies these are the values you will send for max and zero speed. After that you are free to speed up from zero. Usually, for most ESCs, the low pulse duration doesn't matter as long as it is around 20ms.