Transform a Cheap RC Transmitter With Custom Firmware

by hivoltage in Circuits > Remote Control

196243 Views, 303 Favorites, 0 Comments

Transform a Cheap RC Transmitter With Custom Firmware

IMG_1422.JPG
IMG_1418.JPG
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. 

Tools and Materials

IMG_1423.JPG
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.

Open It Up!

IMG_1428.JPG
IMG_1427.JPG
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.

Ribbon Cable

IMG_1429.JPG
IMG_1431.JPG
IMG_1432.JPG
IMG_1433.JPG
IMG_1434.JPG
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. 

Solder to the Main Board

IMG_1436.JPG
IMG_1437.JPG
IMG_1438.JPG
atmel_6-10pin.png
turnigy9x_pcb.png
IMG_1441.JPG
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.

Optional: Adjust Stick Spring Tension

IMG_1439.JPG
IMG_1440.JPG
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. 

Flash Firmware

IMG_1444.JPG
IMG_1441.JPG
IMG_1419.JPG
IMG_1422.JPG
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.