Flash Blue Series 12A ESC SimonK Arduino ATMega Tool

by Oscar

12A ESCs are Great for mini quadcopters and spider hexacopters. Many people use Tiger T-motor 12A ESCs or Afro 12A ESCs with SimonK firmware. However these ESCs are often out of stock, so I decided to get some hobbyking blue series 12A ESC, flash them with simonK firmware and give them a try.

banggood

One thing about this ESCs, although it states “2S – 3S Lipo”, in fact you can run these ESCs up to 4S.

Get Firmware

Find what firmware you need for your ESC

http://wiki.openpilot.org/display/Doc/RapidESC+Database

Then get the SimonK Firmware here, click “download zip” on the right hand side.

https://github.com/sim-/tgy

Compile .asm File

The SimonK firmware zip file contains many .inc files and some a .asm file, but no .hex file. That’s because you will need to compile the .asm file to generate the hex file. I followed this tutorial to do so.

http://www.rchacker.com/diy/simonk-esc-firmware-flashing

Flash them!

Now we have the .hex firmware file we need, we can now flash the ESCs. I used a ATMEGA flash tool and Arduino Uno to do this. (because I don’t have a USBasp AVR programmer) No need to solder or create cumbersome clip on devices.

Simply connect the socket flashing tool to the Arduino Uno following these connections.

Arduino Uno / Nano

Arduino Pin 10 – SS / Reset Arduino Pin 11 – MOSI Arduino Pin 12 – MISO Arduino Pin 13 – SCK

atmega flash tool pinout

flash-12A-blue-series-ESC-simonk-tool

And cut open the heatshrink on the ESC.

flash-12A-blue-series-ESC-simonK

how to flash ESC with atmega flash tool orientation

The Same way you as your flash the KK2. The Arduino Uno needs to be uploaded with the ArduinoISP Sketch first, you can follow how it’s done in this post.

This is the command I ran.

d:ESC20140519>avrdude -P COM4 -b 19200 -c arduino -p m8 -v -e -U flash:w:tgy.h ex:i

And the output should be similar to this.

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "d:ESC20140519avrdude.conf" Using Port : COM4 Using Programmer : arduino Overriding Baud Rate : 19200 AVR Part : ATMEGA8 Chip Erase delay : 10000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max W ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- --- -- --------- eeprom 4 20 128 0 no 512 4 0 9000 90 00 0xff 0xff flash 33 10 64 0 yes 8192 64 128 4500 45 00 0xff 0x00 lfuse 0 0 0 0 no 1 0 0 2000 20 00 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 2000 20 00 0x00 0x00 lock 0 0 0 0 no 1 0 0 2000 20 00 0x00 0x00 calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : Arduino Description : Arduino Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9307 avrdude: safemode: lfuse reads as 2E avrdude: safemode: hfuse reads as CF avrdude: current erase-rewrite cycle count is -50462977 (if being tracked) avrdude: erasing chip avrdude: reading input file "tgy.hex" avrdude: writing flash (8192 bytes): Writing | ################################################## | 100% 6.19s avrdude: 8192 bytes of flash written avrdude: verifying flash memory against tgy.hex: avrdude: load data flash data from input file tgy.hex: avrdude: input file tgy.hex contains 8192 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 9.77s avrdude: verifying ... avrdude: 8192 bytes of flash verified avrdude: safemode: lfuse reads as 2E avrdude: safemode: hfuse reads as CF avrdude: safemode: Fuses OK avrdude done. Thank you. 

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

7 comments

James Coker 4th February 2018 - 3:34 am

I’ve seen this link all over the web, ‘http://wiki.openpilot.org/display/Doc/RapidESC+Database’, but it’s no longer active. Do you happen to know where the info can be found currently?
I enjoy your posts and I’m learning a lot. I’ve been into quadcopters for two years but just now getting into building one. Now I’m learning how little I know about this hobby. I love the challenge and greatly appreciate people like you that share your knowledge and talents.

Reply
Oscar 5th February 2018 - 2:59 pm

These ESC’s are super old and they perform pretty bad compared to what we have today. My advice is to get some modern ESC’s :)

Reply
klaatu 4th July 2015 - 2:06 am

so you flashing them this way cause they dont have a built-in usb port, right?

Reply
Oscar 4th July 2015 - 12:16 pm

ESC doesn’t have USB port.

Reply
andres 18th January 2015 - 1:46 am

gracias por su informacion tengo unos ces 10a red brick los puedo flashear con arduino uno para quadracopter mas especificamente para drone flone

Reply
Demock 10th January 2015 - 4:45 am

This was a huge help thanks!

Reply
Alan 29th August 2014 - 8:23 am

Thanks for the article….very informative…..and well presented with lots of useful links

Reply