Introduction: 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.

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.