Ok, so here's the basic deal. The stock firmware coming on the ESCs works as intended but is far less than ideal for use in our quads. The problem here is that due to startup sequence timing from when you plug in the battery, each ESC has a microprocessor and code and so does the APM. The ESCs want to do some calibration when they first start and most of the time, the APM atarts it's code fast enough to send the right singals but it's a far less than ideal system. The truth is, we don't need a smart ESC. We need it to simply response to a known range of PWM from the APM and just run the motor. I presonally have seen the issues here in the forum and on my own equipment with the ESCs going into program mode and not responding because APM2.0 need you to press reset and then it boots whihc throws the entire start sequence into a wreck. THe problem again is usign off the shelf RC hardware designed to be used in all kinds of istuations where for the drones with the APM, we need one set of settings and that it.
Luckily for us, the community has done some hacking created some amazing firmware. Basically, a lot of the ESCs are from China and use Atmega 8 processors !! Most of them are clones on the same design with a different heatshrink or different form factor. The bottom line is that if you have the atmel based ESC, then likely, this will owrk and can remove 90% of the problems i have seen. I'll be the first to admit, it's a PITA to do it but after the first ESC and you verify it works, totally worth it.
My ESCs were from 3DR and they have the 3DR label and are rated at 20Amps. I also got some 30Amp ones from RCTIMER and they are the EXACT same board with a different stick and the 30amps have 3 more FETS that were missing on the 20 Amp version. Reports say that all three sizes from RCTIMER are the same 18, 20, 30, 40Amp are the same boards with more or less FETS.
SO, the good news is here are the combined instructions:
You need an AVR programmer such as Adafruit's usbtiny, or an actual AVRISP MK2 (or really any actual AVR programmer).
Some male to male jumper wires or pins
AVRdude and I used AVR burn o mat as the gui to make life easy.
Download the latest firmware from here as a zip file.https://github.com/sim-/tgy/downloads
I got the standard ICSP header pinout (for the programmer side) from here http://www.evilmadscientist.com/article.php/avrtargetboards
This thread had the ESC info and flashing directions
FYI, both the 20Amp from 3DR and the 30 amp from RCTImer are exactly the same as the DYS 30Amp!!! It might as well be my own picture. Further, after you do one, rather than cutting the entire heatshrink off, you just cut a hole where the pins will be.
Just to be clear, here is the pic
After you get AVRdude downloaded and either follow the directions on the posting or use one of the tools to flash, you are good to go. The specific file used is tgy.hex as the new firmware for these ESCs that match the above picture.
Trust me, I flashed 10 ESCs today, 6 on the hexa from 3DR and 4 on the quad from RC timer and they are perfect. No more calibration BS, they just plain work. Due to removeal of some filtering code in the firmware, they also are faster to respond. No more BS, NO MORE CALIBRATION, just fly.
Can't believe somebody hasn't posted this before, the results are AMAZING. This firmware has been out for 2 MONTHS!!!!!