I'm new to robotics and this is my first time building a quadcopter.  I'm unable to work out why I keep losing ESCs.

Most recently in testing, I've managed to calibrate all 4 ESCs and accurately control the speed of all 4 motors.  But after neatly securing them to the frame, 1 motor didn't work.  I recalibrated the ESCs again and, when running them again, the motor still didn't work.  However, the other 3 motors continued to run at first, but also suddenly just stopped altogether.

Research suggested that ESCs have a cut-off voltage, indicating that my battery might be too flat, so I immediately looked to recharging it. To my surprise, the (still very new) battery appeared to have bulged out, indicating that it had damaged.

Further research suggested that the size of the battery I was using is insufficient for the amount of current drawn by the motors.  So, without any PWM applied, I reconnected a new fully charged battery in hope to listen for any beeps to diagnose, and one ESC immediately coughed up a huge puff of smoke.

Before all of this happened, I only managed to get 2 of the ESCs to run their motors.  Despite several attempts at tweaking PWM signals and calibrating them, I ended up replacing the other 2.

Unless there's some obvious reason for my ESCs to keep dying on me, I can only assume that these specific ESCs are badly made and I should ask for my money back.

These are the components I'm using:

 - [Raspberry Pi 2 Model B][1]
 - [Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685][2]
 - [RCTimer Mini ESC 40A OPTO BLHeli Firmware (Oneshot125, Support 2-6S)][3]
 - [RCTimer 2208-8 2600kV Outrunner Brushless Motor][4]
 - [Gens ace 2200mAh 11.1V 25C 3S1P Lipo Battery Pack][5]


The Raspberry Pi is powered through it's micro USB interface by a [5V Step-Up Voltage Regulator][6] connected to a [5000mAh 3.7V LiPo battery][7].  The PWM Controller is powered to its Vcc pin by the GPIO1 (3.3V) pin from the Raspberry Pi, that also happens to power other [sensors][8].

At the time (when all 4 motors worked), I was able to accurately control them at either 50Hz or 400Hz with 1-2 millisecond duty cycles.

  [1]: https://www.raspberrypi.org/products/raspberry-pi-2-model-b/
  [2]: http://www.adafruit.com/product/815
  [3]: http://rctimer.com/product-1324.html
  [4]: http://rctimer.com/product-112.html
  [5]: http://www.gensace.de/recommend-products/gens-ace-2200mah-11-1v-25c-3s1p-lipo-battery-pack.html
  [6]: https://www.pololu.com/product/2564
  [7]: https://www.robotics.org.za/index.php?route=product/product&path=59_144&product_id=1042
  [8]: https://www.pololu.com/product/2470