Flashing ESC RCTimer 20A


Flashing ESC RCTimer 20A

Please read Liability Disclaimer and License Agreement CAREFULLY

Electronic Speed Controller (ESC) is used to vary the speed of an electric motor.

The ESC that i bought for my Quadcopter is RC Timer 20A and uses an ATMega 8 MCU as controller. By default the MCU is clocked at 16MHz without external oscillator which means that the frequency will drift with the temperature up to 15%.

Another thing is that the standard ESC  are not designed for multirotor applications, so their performance for a Quadcopter is not great. giving these facts i have decided to update the firmware of my ESC's with the one provided by SimonK to improve the performance from the software point of view, but in order to have a stabilized oscillator i have decided to add to my ESC's also a 16MHz crystal that i soldered on the MCU contacts as shown in the picture below. 

Flashing an ESC can help improve your motor's overall performance and therefore improve the flying capabilities of your Quadcopter. 

ESC RcTimer 20A ISP Connections


In order to flash the Firmware to the MCU i have tried several software's that are used by the community for this job, but unfortunately for me they did not work.


BACKUP your EEPROM and Flash using "READ" buttons before flashing new firmware.

Because i have flashed before similar MCU's i decided to apply the ATMega328P - Burning bootloader for the ESC flashing...and it worked like a charm.

To do this connect the pins shown in the ESC RcTimer 20A ISP Connections to an Arduino board like shown in the link, then with AvreDude-GUI select the "Programmer", "Device" and type "Command line Options" like shown in AVRDUDE BitbBang Method image, then click on "READ" from "Fuse" nad "Lock Bit" (the values will not be like in the image). If they are read then the connection is working, if not check your wiring. Next click on "Chip Erase", after select the "tgy.hex" file in "Flash" field and finaly "Erase - Write - Verrify". After the process is finished type in the values foe "Fuse" if you want to change them and click "Write".

Without external oscillator: avrdude -U lfuse:w:0x24:m -U hfuse:w:0xda:m

With external oscillator: avrdude -U lfuse:w:0x3f:m -U hfuse:w:0xca:m

After the firmware flashing is done solder on the pins of ATMega 8 the assembly of crystal and capacitors and you have a working ESC with external oscillator.


 AVRDUDE BitbBang Method

 Connect your ESC to the motor and receiver and calibrate the Min&Max throttle using a limited current source like a 9V battery,, if it works the 

To Do:

1. Reflash the Quadcopter controller and test it at 20MHz and why not at 24MHz

2. Reflash the Quadcopter ESC's and test it at 20MHz and why not at 24MHz

Comments powered by CComment

Who’s online

We have 62 guests and no members online