Transform a Cheap RC Transmitter With Custom Firmware
Intro: Transform a Cheap RC Transmitter With Custom Firmware
The Turnigy 9x is a cheap Chinese radio transmitter widely sold by hobby king and other retailers under a variety of names. This is a computerized radio transmitter and is already a great deal for the price ($53 currently) and pretty capable if you can figure out how to use the stock firmware. The microcontroller running the show is a common ATMEGA64 type and is not code protected, so several groups of dedicated hobbyists have completely rewritten their own firmware versions that vastly improve the radio and are open source to boot. This instructable will show the steps required to modify your radio and reflash it with the firmware of your choice.
STEP 1: Tools and Materials
For this instructable I used:
an old IDE cable,
some other bits of wire,
2x6 pin header,
solder,
hot glue.
you will also need:
a soldering iron,
hot glue gun,
small saw,
wire cutters/strippers,
an AVR ICSP programmer, I used a USBasp
a PC.
an old IDE cable,
some other bits of wire,
2x6 pin header,
solder,
hot glue.
you will also need:
a soldering iron,
hot glue gun,
small saw,
wire cutters/strippers,
an AVR ICSP programmer, I used a USBasp
a PC.
STEP 2: Open It Up!
First thing to do is to remove the battery door and the battery pack within. next unscrew the six screws on the back of the unit and gently lift the back of the case. unplug the long connector in the middle holding the two halves together. set the back half aside.
STEP 3: Ribbon Cable
Time to tear apart your IDE cable. Remove six conductors from the ribbon on the side with the red stripe. These will be used to connect your programming port to the appropriate pads on the main board. Separate the wires and strip them. If you have a 2x3 female pin header plug you can use that, otherwise use a thin saw to cut a piece of the connector that is three long. carefully sand the edges smooth. take your mini-ribbon cable and bend every other wire the same direction, so that the wires line up with the plugs on the connector section. solder them together.
STEP 4: Solder to the Main Board
next, carefully place your iron on each of the pads shown below and apply a small amount of solder to them. separate and tin the ribbon cable wires, and solder them to each pad so that the 6-pin header matches that in the ICSP header diagram. once connected, apply some hot glue to the ribbon cable to act as a strain relief and hot glue the ribbon to the board. before cutting the case of the radio to install the header in its final location make sure that you will be able to close the case once its installed. I was a little careless and ended up having to notch the other side of the case slightly to make room.
STEP 5: Optional: Adjust Stick Spring Tension
the sticks on this radio seem a little loose from the factory, so I adjusted the spring tension while I had the radio on. there are three screws that adjust the springs and a fourth to adjust the stiffness of the throttle stick. these screws are highlighted in the below pictures, turn right for more resistance.
STEP 6: Flash Firmware
reassemble everything, and fire up the PC. I use a software program called EEPE created by the same people responsible for the ER9X firmware I am using. this is basically a front end GUI for AVR dude, and it also allows you to back up and edit EEPROM data from the MCU. Information about the settings for each model profile in the radio is stored here, so the ability to edit it or share the info with others on the internet is useful. install EEPE and go to burn-> configure. select your programmer from the programmers drop down, and port if applicable (not necessary for usbasp). next you may backup your current firmware if you so desire, but I just jumped straight to the custom firmware install. plug your header into the port we installed on the radio, then plug into the programmer. make sure the radio power is off and battery pack removed, then plug into USB. in stall drivers if necessary. once plugged in the radio will probably beep continuously, this is alright. click on burn firmware and sit back while the new firmware is written to your radio. If you don't want to use EEPE and are command line savvy, you may use AVR dude directly as well. unplug the radio once complete, plug in the battery pack and enjoy your new radio! Try out several of the different firmwares available to see which ones you like, and even modify their code yourself if you want a feature that is not available. several of the most popular firmwares include : ER9x, Gruvin 9x, Radioclone, and many others.
51 Comments
Tomtom10000 6 years ago
varmon 7 years ago
Hello from FRANCE,
I would upgrade my radio but i would use a USB Fireware Loader USBasp Programmer but I don't know if it could be use to do this ?
Have you please any idea or perhaps somebody already use this kind of USBasp ?
Many thanks, best regards, Michel.
achituv 12 years ago
hivoltage 12 years ago
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=8992
astro_wanabe 12 years ago
KenL9 8 years ago
Got mine on Amazon with my points card, so got 3% back on card which I use for other amazon purchases. Good card no complicated bs. Free shipping (not prime) from :
New FlySky 2.4G 9CH FS-TH9X-B/TH9B TX Transmitter+R8B RX Receiver Radio Control By BuyincoinsSold by:RC Mall $88.61Condition:
New
Ordered on December 31, 2015Order#
112-8855019-5559457 Delivered Jan 19, 2016.
My only complaint is the marginal usage for multi-rotor without er9x. And the no back lite. Bangood states this is an "Upgraded model" but doesn't mention what the upgrade is. Perhaps as a way I believe to deceive you into thinking it has the open firmware, or back lite. Will probably end up springing for er9x if its more quad friendly. Then the backlite too.
I knew loved instructables, but this is great stuff. Thanks!
XTL 12 years ago
I think its fair to mention its price not including shipping. How urgently you want it is an extra factor.
Try to remember its a small world out there...
hivoltage 12 years ago
pietzeekoe 12 years ago
fidibiri 12 years ago
pietzeekoe 12 years ago
fidibiri 12 years ago
dustinnewton 12 years ago
Ben The Builder 12 years ago
newbeduino 9 years ago
hivoltage 12 years ago
he who crashes often 11 years ago
John_Edward 12 years ago
Saves a lot of work as you don't have to solder anything.
That was how I did it :)
As a bonus,the end of the plug has that little notch on the side, and also the extra part for the assembly, making it very simple to remember which side was pin number one.
You just have to check which pin is which cable before soldering them to the microcontroller.
newbeduino 9 years ago
newbeduino 9 years ago