Jump to content
Sign in to follow this  

Turnigy 9X Radio/Receiver

Recommended Posts

Browsing the HobbyKing site, they have a Turnigy 9X 2.4 GHz FHSS 9-channel transmitter/8-channel receiver for $65 USD. This seems like an amazing deal considering brand name 8-10 channel radios are going for $300-$500 USD. Extra receivers are $9 USD. 2.4 GHz seems legal to use for surface vehicles even though this is meant to be an aircraft radio. Has anyone tried one for tanks, trucks, or scale off-road rigs with a lot of accessories?

The open-source community has created their own firmware for this radio, and there are several flavors available including th9x, er9x, gruvin9x, and open9x. To me open9x looks the most interesting as it treats all of the sticks, trims, switches, and knobs as generic inputs feeding a bank of 32 mixers. There's support for virtual switches, curves, multiple mixes, conditional logic, trim, subtrim, limits, model memories, etc. It seems like a model maker's dream with so many channels and mixers available. You could certainly keep it simple with just throttle and steering going straight through to an ESC and servo, but you could also add some more features like controlling a winch with the 3-way switch, individual control of parking lights and headlights, rotating a driver's head or FPV camera, setting a smoke unit's output, etc.

Link to the radio/receiver:


Open9X firmware:





Share this post

Link to post
Share on other sites

I have one of these, and it´s OK.. I must say that compared to my other radios )mainly Futabas), it is a bit "plasticky", but it´s very good value for the money, i think. :)

Share this post

Link to post
Share on other sites

They seem to be OK, though at that price there will be an element of 'you get what you pay for'. A lot of people have commented on the variable build quality (Turnigy seem to be very keen on hot glue). They use the FlySky V2 FHSS 2.4GHz TX and RX modules, which although better than the original FlySky V1 system (which did not frequency-hop, and had some serious problems as a result), still has some drawbacks - the receivers have no built-in failsafes, and only have a single antenna so there is no antenna diversity. It's for these reasons that a lot of aircraft modellers have upgraded their 9Xs with FrSky DIY modules and receivers. Turnigy have made this more difficult in the V2 version of the transmitter though, as the TX module that clips in the back can't be fully removed - the antenna is hard-wired though to it via holes in the rear case and PCB, so it either has to be cut or desoldered off the TX module PCB to allow it to be removed.

If you aren't going to use it for aircraft or nitro cars then these issues aren't really a problem - I went with the FrSky module to mod my MC10 as I wanted the failsafe for my 1/8th scale tank (I didn't want something weighing 70kgs going out of control). If you want to use it on Tamiya trucks with an MFU then having digital trims instead of analogue ones will make things awkward (though I see that some of the open firmware hacks have a mod to make the throttle trim buttons work like a slider - you would need to apply this to all of the trims).

The only other thing is it's intended to be an aircraft radio, so the Y-axis on one of the sticks will be on a ratchet to be the throttle. If you want both sticks to centre in both axes, you will need to get the parts (coil spring and centring lever) from another 9X, or a radio that uses the same stick units.

The '9 channel' thing is a bit of a misnomer as well - the 9X V2 can only ever use 8 channels as that's all the PPM signal through to the 2.4GHz TX module can carry. The V1 version of the transmitter had a fully removable TX module (the 2.4GHz antenna was on the back of the module). The radio had a telescopic antenna on the top of the case for use by 72 or 35MHz TX modules. When one of these modules was fitted, the radio could be switched from PPM to PCM encoding, and that is how the extra channel could be used (you needed their specific PCM receivers to decode the signal though). Unfortunately this facility was removed from the V2 version, as the 2.4Ghz module can't be fully removed, and the telescopic antenna was deleted in place of the fixed 2.4GHz one.

Share this post

Link to post
Share on other sites

Bought one. Here are some pics and initial thoughts.

The transmitter and receiver come in a cardboard box with styrofoam form inside. The outside of the box mentions reading the manual before using, but the box does not include a manual. This has been reported by others before as well. The manual comes in two parts online, http://www.hobbyking...926x11510x2.pdf and http://www.hobbyking...26x11510x49.pdf.


Inside the box is the transmitter and receiver. There is no manual, neck strap, receiver power switch, adjustment screwdriver, or other goodies typically found in a Futaba box. That's ok by me as the manual is available online, and all the extra goodies usually stay in the box for me anyhow.


The receiver has 8 channels, not 9, and includes a bind plug for marrying the receiver to the transmitter. I'm not sure why there is a large piece of heat shrink tubing on the end of the antenna; all my Futaba receivers have the coax antenna exposed.


Here's the transmitter itself. I can see where others might say this is kind of plasticky looking; some knit lines and sink marks are evident in the bezel. There aren't any rubber grips on the backside of the unit.

The LCD comes with a protector sheet on it for shipping, like many electronic products. I noticed the LCD was not 100% centered in the window; I'll have to see if it can be moved a little when I open it up. Everything is visible and readable on the display, it's just a nitpick I want to correct.

The toggle switches, potentiometers, and sticks all feel good, but the trim buttons and the menu buttons are kind of stiff. They make a relatively loud click when pressed. I installed some batteries to try it out, and the main power switch was very difficult to move the first time. After that first cycle it loosened up and feels good now.

The beeper installed in the unit is kind of weak. It doesn't make an authoritative beep; it starts with a beep and ends with a whine each time a button is pressed. Open9X changes the tones the beeper makes and also allows you to shut it off completely, so I'll probably disable it anyhow.

Navigating the menu isn't too bad, but it seems like the buttons are not always intuitively coupled to their actions. It doesn't matter much to me anyhow, as I'm planning on installing Open9X to get more raw and direct control over the channel processing.


Share this post

Link to post
Share on other sites

Top side of the unit. All the switches and potentiometers, the big LCD, and the open source firmware were what drew me to this radio.


Back side of the unit. There is a module installed, but as noted earlier the antenna is hardwired between the rubber duck and the module. This doesn't bother me as I'm not looking to modify the unit for telemetry, which would require a different module. I'm just looking for more channels to do some things with electric surface vehicles.

The bottom compartment houses a battery holder that accepts 8 "AA" cells. The holder is plugged into the main PCB, not soldered in, so it can be removed and replaced pretty easily without opening the radio.


Here's a comparison photo between the Futaba 4YF 2.4 GHz system and the Turnigy 9XV2 2.4 GHz system. The 4YF is about as low as you can go for an aircraft radio. It has four stick channels, mechanical trims, reversing switches, and works with the same R2004GF receivers that also work with the 3PL and 4PL surface radios. I have a few 3PLs and several R2004GF receivers, so this was an easy initial choice for me.

However, as time has gone by and as I've read threads about multi-motor drivetrains, gearboxes, winches, lights, smoke units, MFUs, etc., it started to look like a different radio would work better for what I wanted to do. The price of an 8-channel or 10-channel Futaba made me pause, though, at $300 to $650. With this being $65 and with the Open9X firmware being available, I felt like any tradeoffs in fit/finish would be acceptable to get the functionality.


In the past there have been some threads about problems getting the Tamiya MFU to work with 2.4 GHz stick systems with digital trims, in particular the 4YF. Since the Open9X firmware allows you to define custom mixers and threshold logic that can be routed to any receiver channel, it seems like a second set of channels could be dedicated to just the MFU and not shared with the ESC, gear select, or steering servo. The second set of channels could have unique trims, subtrims, end points, and rates easily enough. I haven't tried it; I'm just hypothesizing that splitting the signals and tailoring them for each controller could make it easier.

Overall it looks like a fair purchase and I think it will work out ok. After I get the firmware changed and have a chance to install it in a model, I'll report back with some findings.


Share this post

Link to post
Share on other sites

The receiver has 8 channels, not 9, and includes a bind plug for marrying the receiver to the transmitter. I'm not sure why there is a large piece of heat shrink tubing on the end of the antenna; all my Futaba receivers have the coax antenna exposed.

As I explained above, as it's been built around a 2.4GHz RF module it can only use PPM modulation, which limits it to 8 channels. The large piece of heatshrink on the antenna is a cover - unlike your Futaba antennas which are just coax cable with the 1/4 wave section of the centre core exposed at the end as the antenna, the 'lump' at the end of the Turnigy antenna is a 'sleeved dipole'.


The coax will be threaded through a plastic sleeve, with the 1/4 wave centre core going straight through it and the outer braid (or a wire connected to it) bent back over the side of the tube. The heatshrink over the top is to keep it all in place. The effect is to try and get better reception sensitivity from a single coax antenna.

This is Flysky/Turnigy's solution at trying to give their receiver some kind of antenna diversity without totally redesigning it. The very early V1 FlySky systems only had a single antenna (as is seen on most 2.4GHz surface and short-range 'park flyer' receivers), and had reception problems when used in aircraft as a result (on top of the interference problems the V1 system had due to not having frequency hopping). Most other 2.4GHz aircraft receivers have radio sections designed to use 2 antennas to give better reception at whatever orientation the receiver is to the transmitter (this is known as antenna diversity). To combat this problem quickly, Flysky simply added a second radio section into the same case (known as a 'satellite' receiver) .See the pic below - the V1 receiver is on the left with the tacked-on satellite PCB, and the V2 is on the right:


The V2 FlySky receiver's digital section design has been modified to implement frequency hopping, but the radio section designed around a single antenna has been retained. However, to reduce costs they have removed the satellite radio section, and added the screened dipole antenna as a cheaper alternative solution.

Share this post

Link to post
Share on other sites

I decided to try loading Open9X on the Turnigy 9X transmitter tonight. This involved installing a programming cable in the transmitter itself, installing some Atmel software tools, reading/saving the original firmware and EEPROM settings from the transmitter, and then burning new firmware into the ATmega64A processor.

I opted to do this at work after hours since my company has better tools than I do when it comes to surface mount electronics. I knew going into this I would have to swap a few components on the board and then tack on some wires, so it's really nice to have a microscope, tweezers, and a nice soldering iron for doing the work.


Here's the victim, er, patient...


It only takes six screws to remove the back cover from the front bezel. The connection between the rear board and front board is made with a white single row connector. The battery pack actually plugs into the rear board. I looked throughout the whole assembly and didn't see any signs of hot melt glue, so maybe another transmitter in their lineup is built that way. This one seemed pretty conventional to me.


A little closer view of the front board. The black square at the bottom of the transmitter is the microcontroller that reads all of the sticks, switches, and potentiometers, performs calculations/functions on those inputs, and then generates a PPM output to the V2 radio transmitter module on the back of the unit. The firmware that's inside that chip is what I'm replacing so the functions and calculations are more configurable and less tailored towards aircraft. I took a look under a magnifying glass and found markings, "Atmel ATmega64A."


Share this post

Link to post
Share on other sites

Here's an even closer look at the microcontroller and surrounding circuitry. I was extremely fortunate to stumble upon a posting by another person who had used the same programming tool I had bought, and he had found it necessary to swap out a capacitor and three resistors to get the in-circuit programming interface to work. This isn't a tool issue; it's more an issue of how Turnigy implemented the interface on their board. It's possible the interface works fine in an automated in-circuit test process in a factory where pogo pins touch the silver pads and then program the flash, but with a low-end desktop programmer some of the parts on the board interfered with operation.

This is a comment Gerd wrote in the installation section of th9x, a predecessor to Open9X. I'm quoting this verbatim; the original text can be found at http://code.google.c...ion_de?wl=en-US.

"Hello, I used the Atmel AVRISP mkII to program the FW. It works well but following steps are required: 1) convert the downloaded .BIN file to .HEX using a hex2bin converter (I don't remember where I downloaded it, just google for it, it is a common tool). 2) As already mentioned by some people above, Flysky's engineers have a bit strange way to design electronic circuits... (not sure they know what they are doing...). The big 4.7uF on reset is much to big, the programmer is not able to discharge it in a fast enough time and reports an error. Replace it with 100nF ceramic one. Removing it totally works as well, but it is a good habit to keep a decoupling cap on the reset pin for avoiding the processor to reset on a glitch. 3) The filtering resistors on the PB pins (also where the SPI programming signals are taken) are configured in a strange way. I do not really understand what they wanted to do with... I would have reversed them (capacitors on the mcu pins then resistors to the switches), but the goal is not to re-do the design... In current configuration, the resistor values are too small and the capacitor values too big. The SPI signals from the programmer is "seeing" too much of the these big capacitors and is not able to drive the lines. To get the system working, the resistor values must be increased. From the Atmel spec, the programmer is able to drive a line impedance of 820 ohm or higher. The resistor values should therefore increased at least to this value to be safe. I used 2.2Kohm.
The modifications are easy to do if you are used to solder SMD components.
After these 2 steps, the programming is works smoothly

So with these comments in mind, I replaced the small yellow capacitor under and to the right of the processor with a smaller value, and then replaced the resistors associated some of the programming pads, changing from 200 ohms to 2.2k. This preparation was needed before installing a cable.


My programming cable is made with a six-pin header, some ribbon cable, and some heat shrink tubing.


Finished cable.


Now, how to hook up this cable? Again, at the same th9x installation page there are pictures of the silver pads that need to have the wires attached. These pads are labeled, "VCC," "GND," "RST," "MOSI," "MISO," and "SCK." These are signals for power, reset, and serial communication to the processor. The programming pod I have also has these signals, and they're assigned to certain pins on the programming cable. The pinout of the connector is here.


For my ribbon cable, I have the following color-to-signal assignments:

Red = MISO (lines up with the red wire on the programming pod)
Orange = VCC
Yellow = SCK
Green = MOSI
Blue = RST
Purple = GND

Share this post

Link to post
Share on other sites

Here's the cable installed. I used a small adhesive square and a zip tie to provide some strain relief to the connections.


I had seen where other people had cut holes in their transmitter to expose a connector for programming, but I didn't want to alter the housing if I could avoid it. I found that the battery compartment had a little bit of spare room in it, and there were already slots in the battery compartment for passing wiring through.


End result. I put a layer of black duct tape on the end of the battery holder so none of the programming pins would touch power by accident. Now I can push the connector down and close the battery compartment door, or I can pull the connector out by about 2 cm to attach a programming pod if necessary. This way I can continue to update the firmware without opening the transmitter again.


Just making sure it still works!


Share this post

Link to post
Share on other sites

Here's the Atmel AVR ISP MkII programming pod. It costs about $35 from Digikey.com. One end of the pod plugs into the programming header installed in the radio; the other end plugs into a PC's USB port. There are less expensive programmers out there with open source drivers and utilities, but I opted to use Atmel's Studio 6 (a free download from their site).


Here's the pod attached to the radio.


And here's the programming in action. It's difficult to see, but the window open on the PC is a programming utility that's part of Studio 6. After selecting the pod and the processor part number, it's as easy as connecting the pod, turning on power on the transmitter, and then reading out the original firmware and EEPROM settings into files. I did this in case the Open9X firmware had problems; that way I could put the original firmware back in the radio and still use it instead of having a useless brick. Once the original firmware and settings were backed up, then I selected the Open9X programming file and had the tool to write it all to memory. Erasing memory before writing it is enabled by default and is necessary.


And, it worked just as expected! The first time Open9X boots, it complains about an EEPROM data error and then formats it to default values. Everything seems to be working; now it's a matter of skimming the manual again, configuring some outputs, binding a receiver, and checking it out with a servo. I'm going to declare success at this point and play with it more later.



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...