Thread Tools
Aug 24, 2011, 01:22 PM
Registered User

Flashing Turnigy 9x - Using ARDUINO

Flashing Turnigy 9x with ARDUINO!

Start by opening the Turnigy 9x by removing the 6 phillips screw behind.

Opening it will reveal a cable connecting the front to the back, remove
that cable from the pcb

Now you can find the big chip on the front panel's PCB looking like this
image (without the wires):

Thoose 6 points needs wires soildered to them, i am thinking to just
soilder 6 wires of different colors then output them only on programming.
When i'm done i'll just tape them inside the TX. There is some who
create a plug on the outside for it for easy access. I wont do that

When you got all 6 wires connect them to the arduino in this order:

NOTE: On arduino MEGA the pinout is different.
SCK: 52
MISO: 50
MOSI: 51

Now go to the Arduino application and open up. Select the correct
Arduino board in the settings and go to "File -> Examples -> ArduinoISP"
and upload this sketch to the board.

Now the arduino is a AVR ICPS programmer and hooked up to the 9x.
Cheap and easy.

Now download EEPE from here:

Open it and press yes to download the update. The update is ER9x so store it somewhere you know as "Er9x.hex".

When that is done the window is opening, press "Burn -> Configure" then let the screen look like this;

Port is the only one you have to find the correct one for the arduino.

Now you can try pressing Burn -> "Read EEPROM form TX" and check if it works. It should look like this:

Then most likely an error comes. But if it reads it should work.

Now go to Burn -> Read EEPROM Memory to file -> and store it as a backup call it "EEPROM_MEMORY_backup.hex"
Now go to Burn -> Read Flash Memory -> and store it as a backp call it "EEPROM_FLASH_BACKUP.hex".

Now your'e ready to upload firmware!! Go to Burn -> "Write Flash Memory" -> Then locate ER9x.hex. Wait and FINITO!
Last edited by Toffe87; Sep 20, 2011 at 10:29 AM.
Sign up now
to remove ads between posts
Sep 15, 2011, 10:43 AM
Registered User
Hi, I'm wondering if you got this to work?
Sep 18, 2011, 04:49 AM
Registered User
No i did not, i heard that you got to have a arduino duemioelle or something but all i got is a mega. Bought a cheap programmer on ebay instesd

I am here:,9.320827
Sep 18, 2011, 07:23 AM
Registered User
erazz's Avatar
To transfer ER9x to the radio you can use eePe. Simply set the programmer to be "avrisp".
Sep 19, 2011, 09:59 AM
Registered User
Originally Posted by erazz
To transfer ER9x to the radio you can use eePe. Simply set the programmer to be "avrisp".
That's what worked for me. But, I had to make a couple other changes as well to get it working. I had to disable the auto-reset and manually set the baud rate. I've posted some instructions here:
Sep 20, 2011, 10:29 AM
Registered User
Got it working, guide complete! My 9x works like a charm!
Sep 21, 2011, 04:47 PM
Registered User
Little update: I LOVE THE NEW FIRMWARE. Much better thanks to fregon45 who got me on the correct path and to ressurect this project
Dec 26, 2011, 10:46 AM
Registered User
used an arduino nano .

only problem was the auto-reset function from arduino.

after adding a 20μF capacitor (took it from an old pci network device lying aroung here...) between the RESET and GND lines it worked perfect.

i flashed the th9x firmware , maybe i ll try er9x later.

in order to use 2S lipo in my turnigy i needed other firmware.
if low voltage warning would be adjustable with original firmware, i wouldnt have changed it.
Feb 06, 2014, 12:18 AM
Registered User
This worked for me using an Arduino Duemilanove. Note: if you get the following error: "avrdude: stk500_getsync(): not in sync: resp=0x15", you need to disable auto-reset by placing a 120 ohm resistor between RESET and +5V on the Arduino. See

The alternative method is in the post above, but it did not work for me.
May 01, 2014, 01:02 PM
Registered User
I'm trying to do this with my mac and sparkfun's ProMicro. I'm pretty sure I've set the port right, I had to use terminal and type:

ls /dev/tty.usb*

and found out my port was /dev/tty.usbmodem621, in epee instead of using a predefined port I left that field blank, then added :

-b 19200 -P /dev/cu.usbmodem621

in the extra arguments field.

When I try and communicate using avrdude or eepe I get the error:

Device signature = 0x000000

and if I use -F to force a read or write I hear the TX beep like crazy and I see the screen flickering like I was mashing buttons. Can someone tell me if the TX should beep like this when programming, or if they think my Arduino-AVR Programmer is not working. In videos I've seen, the TX turns off when getting programmed.

I figured out the problem:

In the ProMicro the SS pin is D17, which is not on the breakout board. You have to change the line in the ArduinoISP code from:

#define RESET SS
#define RESET 10

and use the SCK, MOSI, and MISO pins as 15, 16, 14 respectively (see the linked pinout from sparkfun)

Hope this helps anyone having trouble
Last edited by TheButcher; May 01, 2014 at 02:06 PM.
Jan 01, 2015, 07:30 PM
Registered User
Hello all,

Attempting to flash new firmware to my 9x after it had a stroke (see here

I've wired up the Tx to an Arduino Uno and have the Uno's reset disabled with a 22uF cap between Reset and Ground, and have followed the ISP sketch loaded to the Uno.
Champion9x is pointed to the correct path for AVRDude, programmer is STK500, target is M64, Port is blank(using OSX) and extra arguments are " -b 19200 -P /dev/tty.usbmodem411" (411 is where Arduino GUI says the Uno is.)

When I try to read Tx EEPROM, I get error message "avrdude: stk500_recv(): programmer is not responding".

I've been beating my head against this for three nights now, trying all sorts of crap through Terminal and Champion9x. I'm at wits end here. Help? Thanks!
May 21, 2015, 09:38 PM
Registered User
Soldered everything as in the pic and I was getting the "avrdude: Device signature = 0x000000" error. After looking around other guides I noticed that in those the SCK cable was soldered to the pad directly above the resistor leg to which it is soldered in this pic. Unsoldering it from the resistor and soldering it to the pad solved the problem.

Flashed with arduino nano, using a 117 ohm resistor between RST and +5V.

For anyone who might find this info useful, since this is the first google result for "arduino er9x".
Nov 05, 2015, 02:28 PM
Registered User
You must specify the "-b 19200" extra argument in communications setup. I used Mega 2560 clone, with power supply, without reset fix, with Companion 9x, and it worked only after the extra argument in avrdude communication settings.
Nov 30, 2015, 07:57 AM
Registered User

command line on Ubuntu


Just thought I add my 2p worth. I could not set the Port to ttyACM0 in the GUI with my arduino avrisp setup. So I used the following command once I backup the existing firmware.

avrdude -c avrisp -p m64 -b 19200 -P ttyACM0 -U flash:w:/er9x.hex

Then it proceeded to install er9x fine!

Quick Reply

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Using smaller Rx on Eurgle/turnigy 9x donrecardo Radios 6 Jul 10, 2011 03:45 PM
Build Log Building PAN/TILT camera pod using arduino and accelerometer to create DIY head track Ecibob FPV Talk 6 Jun 07, 2011 04:06 AM
Discussion Can anyone help me flashing turnigy esc to fast pwm using avrisp? jstnt Multirotor Drone Talk 0 Mar 24, 2011 03:40 PM
Discussion Turnigy Plush 10A /Arduino help SIT_Quad Multirotor Drone Talk 3 Feb 24, 2010 12:34 AM
Discussion cost effective quad rotor using arduino smarth Coaxial Helicopters 1 Apr 07, 2009 06:51 PM