TURNIGY 9X TRANSMITTER/ER9X FIRMWARE

I wrote this article mainly because it's become harder to search on the Internet for solutions to esoteric problems like those I encountered when trying to make sense of this transmitter. The signal-to-noise ratio has gotten worse due to the huge number of cloned sales blurbs and forum postings that pose the questions but are left unanswered, or replied to by people without the answers, or without sufficient detail. (+1!!!) This article is my meager attempt to help the RC tanker who's got one of these cool toys, but needs some questions answered.

Turnigy 9x transmitter radio control RC tank

08/07/13- I was perfectly happy with my old Spektrum DX6 transmitter, but it had become really hard to find DSM receivers for it. Spektrum had moved on to the DSM2 and DSMX standards, making the first-generation 2.4 GHz DX6 and its receivers (AR6000 and BR6000) unsupported and obsolete. For a while, some DSM2 transmitters also supported the DSM standard, but newer DSMX versions of those same transmitters don't. For RC tanks, the old DSM technology works just fine, but if you want to expand your fleet of tanks, you're going to need transmitters for them. You also might be wondering what you're going to do if your obsolete transmitter dies, leaving you with a fleet of tanks with receivers that can't be used with any other transmitter.

Basically, if you want to stay with Spektrum, you're going to be spending some serious money, whether you buy old or new. Judging from the prices commanded at eBay for old DSM-compatible transmitters and receivers, it seems that the DSM standard isn't really dead, except in Spektrum's product lineup. I checked this out to weigh my options, but had a hard time stomaching the prices. Upgrading to the new stuff would have been painfully expensive since I would have needed to buy a bunch of new receivers to retrofit in my old tanks. (They're really expensive: There are bargain-priced Hobby King "Orange" receivers, but I wanted to be certain that whatever I got worked well, especially if I were going to be buying several.) Also, if I was going to spend a bundle for new equipment, I wanted to upgrade and not spend it to achieve the same functionality I already had. This was a hard decision especially since I felt an unreasonable sense of loyalty to the Spektrum brand (and I'm sure they feel the same way about me).

Ultimately, I'm a semi-practical guy about certain things, and the Turnigy 9x transmitter looked more and more attractive the more I read and learned. Reviews seemed unanimous in proclaiming it an amazing value and a very capable transmitter. There were a few grudging acknowledgments of its value, tempered by comments about it feeling "cheap". You have to filter comments like that based on what you know about yourself: How would I feel about a transmitter that cost a fraction of what I'd paid for an uber-statusy one, and hit all the right notes? Shades of the Tamiya versus Heng Long debate!

My main criteria were that it have a fully centering left stick and affordable/available receivers. Ideally, it would have lots of channels (more is better?). Receivers should be fairly cheap since I'd want several, ideally enough to cover future tank purchases when the transmitter might be made obsolete (Yes, I do try to learn from my experiences). The Turnigy 9x sold by Immortal Hobbies met all of these, and had a special customized version of the er9x firmware especially for tanks, plus a backlit panel and the USB firmware interface. Although you could probably find the pieces to put this together more cheaply, you'd have to source the parts and know what you were doing to put it together. I was happy to pay the extra and have it all arrive at once with everything installed. I have absolutely no regrets about that decision.

 

Turnigy 9x transmitter radio control RC tank

Battery Replacement: Another thing that concerned me was battery life. The DX6's Ni-MH 1500 mAh battery drains very quickly, even with Dimension Engineering's higher efficiency voltage regulator. No doubt, newer transmitters would be much more energy efficient, but I wanted to address that issue from the git-go by installing a high-capacity LiPo. It took some serious Dremeling to get the sucker to fit and I needed to make an adapter cable but it's much more cost-effective and easier to maintain than using 8 AA Duracells, or charging a bunch of rechargable NiMH AAs. I can leave it in a long time before pulling it and charging it with my LiPo balance charger. (After doing this, I did the same thing with my DX6 with a huge improvement in run time! Important: Do it at your own risk because it may be bad for your transmitter! My fully-charged 11.1 volt Lipo shows 12.5 volts in the DX6; the fully-charged Spektrum 9.6 volt NiMH showed 11.4 volts, so there's clearly some wiggle room. At any rate, it seems to be working fine and I haven't seen any smoke or flames yet. Like I said, do it at your own risk!)

The Tanker Firmware: The transmitter that Immortal Hobbies sells is flashed with a special tanker version of the ER9X firmware that has some tank-specific setup templates. It seems like sort of a "branding"-style gimmick, and I didn't find the templates to be helpful when setting up any of my tanks (for example, the Tamiya template didn't turn on Extended Limits which is necessary to fire the cannon-- see below). I was actually a little disappointed that there weren't any heli or plane templates, and that the CCPM heli setup page is missing (page 3 of 10). Helis have a more complex setup than tanks so I was curious as a general RC hobbyist and failed RC heli pilot. I've found that sometimes you can repurpose stuff to get functionality in a different context that the designers hadn't thought of... but if it ain't there, you'll never know! Sometimes, less is just...less.

Turnigy 9x transmitter radio control RC tank

Fortunately, what makes the Turnigy 9x great is the core ER9x firmware and all the important stuff is there: It's good for tanks, planes, and helis. Don't waste your time looking for a .pdf of the Turnigy 9x hardware manual (you'll probably find the largely useless Eurgle manual); instead, search for the .pdf manual of the ER9x firmware. (I'd link it, but I suspect that it's a dynamic link that changes.) The software is what lets all those knobs and switches do their magic and control your tank. As you'll see from reading the firmware manual, it's extremely flexible and powerful. The software interfaces with the transmitter hardware controls (knobs & switches) to send processed signals to the receivers, which tell servos and ESCs what to do. All the cool and amazing stuff happens in the software, so concentrate on understanding the logic of the software and you should be able to make it do whatever you can think of.

Turnigy 9x transmitter radio control RC tank

(According to the FCC, this receiver should not be used in radio-controlled dumpsters. Darn.)

From a practical perspective, the process goes like this:

  • Bind the Transmitter and Receiver: Connect the receiver to the tank's control board so the receiver can get power. One of the control board's receiver plugs will usually provide power via one of the channels. Rarely is a separate power plug needed for the receiver, but the Turnigy receiver has a separate battery socket for it, if necessary. To bind it, connect the binding plug to the receiver and power up the tank. Find the bind button on the back of the transmitter, hold it down and power up the receiver. Watch the receiver for the difficult-to-see LED on the inside, and release the button on the back of the transmitter when the LED glows solid. With mine, it binded instantly.

  • Map the Control Board's Plugs to the Receiver's Channels: This is totally flexible since the software lets you assign any control to any receiver channel. However, there are some traditional default labels (like RUD=CH1, ELE=CH2, THR=CH3, AIL=CH4) that can help guide your channel plugging job and help you get started quickly. To date, I've set up 3 tank models with 3 different control boards: An ElMod ECO (the Elefant), a Clark TK-22 (the Pzkpfw IV), and a Tamiya King Tiger DMD combo previously connected to a Spektrum AR6000. Although the Tanker version of the firmware has some board-specific templates, they didn't work for me so I had to figure out how to set up the models manually. In my opinion, this is the best way to go since it forces you to learn how the software works. Besides, it's easier to set it up for yourself than trying to figure out how someone else thought to set it up for you. From my scribblings on a scrap of paper, I believe this is what worked for me (right stick= drive/turn, left stick= turret):

    Receiver Channel ElMod (pdf labels & colors) Clark (position) Tamiya (DMD/AR6000 labels) Function
    1(RUD) TRAV GREEN 4 TURR/RUDDER Left stick horizontal: Turret traverse/rotation*
    2(ELE) ACCEL BROWN 2 THROT/ELEVATOR Right stick vertical: Drive forward/reverse
    3(THR) ELEV YELLOW 3 MGUN/THROTTLE Left stick vertical: Barrel elevation, cannon/machine gun fire*
    4(AIL) STEER ORANGE 1 RUDD/AILERON Right stick horizontal: Steering

    *The Clark board (and ElMod,to a lesser extent) map functions to combinations of channels 1 and 3.

  • Tweak It: Of course, I used a few more channels to do other things, but that's just gravy. You'll get around to tweaking and twiddling with that stuff once you begin to understand how the software works.

  • Stuff That's in the Manual, but You'll Want To Know ASAP: Once you're thrilled that pushing the transmitter sticks actually does something, you'll wonder about stuff like, "But how do I get it to drive forward instead of backwards when I push the stick forward? There's no frickin' servo reverse switch!" and "The @#%^%$#@!!! cannon doesn't fire on my Tamiya tank, even at 125% travel! Google's no @$^%$#!!! help at all!" (I used actual cuss words when this happened to me.) After you've browsed the manual to get a general idea of how it works, you may find yourself looking for help with these specific topics:
    • The Servo Reverse "Switch": It's in the model setup "Limits" screen (page 5). Go to the last column of your target channel and toggle it to "INV" (invert).
    • Firing the Tamiya Cannon: This one had me ready to throw in the towel. I'd set the limits to 125%, done repeated setups of the DMD, tried to trick it by moving the stick half way while calibrating the DMD, rebound the receiver ... basically anything to get the throttle/gun elevation channel to go a little further. By the book, you're supposed to use analog trimmers to fire the cannon and machine gun, but tankers have long known that you can extend the stick travel end point to do the same thing. With my DX6, setting the travel to 150% easily did the trick. With the Turnigy, nothing seemed to work, and I blamed it on the max adjustment being 125% instead of 150%. Feeling defeated, I reconnected the old AR6000 receiver and even began to consider buying an old DSM Spektrum DX7 that did 150% travel adjustments. Fortunately, I don't give up that easily. After additional hours of renewed Googling, I came upon a clue, many pages deep in the Google search: On model setup page 2, there's a setting named "E LIMITS" near the end of the list. E LIMITS means "Extended Limits", and turning it on allows limits to go to 125%. It doesn't matter that the LIMITS page lets you set a channel to 125%, if E LIMITS isn't set to "ON", it's not really giving you 125%! Go figure. At any rate, the channel probably doesn't need to be set to 125% to do the trick and if you do this, there's the possibility of channel bleed (one channel's signals bleeding over into another)... which is probably why it has to be turned on to work. As they say, "RTFM".

      Turnigy 9x transmitter radio control RC tank

      Turnigy 9x transmitter radio control RC tank

      These are the main settings that finally got the KTiger working. I've since tweaked them slightly as indicated below.

      CH3 is the left stick vertical, and in the MIXER the spring-loaded Trainer switch is additionally mapped to fire the cannon (since changed to fire the machine gun simply by changing the value to -100. A nearly identical additional entry was created in CH3 which maps the GEAR switch to fire the cannon (+100) since the reload delay works okay with a 2-position toggle switch).

      CH5 is connected to a servo to switch between hull and turret machine guns (remapped to the AIL switch since the GEAR switch was used to fire the cannon); in LIMITS, it's set up to reduce unnecessary travel of the servo and goose it slightly at the other end (which trips a momentary contact lever switch).

      CH6 controls the warm startup/shutdown via the left Throttle Cut switch. LIMITS shows the configuration for it to start with the Throttle Cut switch down, Pico switch on when the tank is powered up (so it doesn't start up to a warm shutdown state). The values probably aren't optimal, and your setup may differ since it depends on how the physical components are wired: I was just relieved to get the damn thing working.

    Those are the only problems I had, so I can't help with any problems I didn't have. Personally, I hate reading manuals as much as the next guy. I prefer knowing exactly where in the manual to read, or just mindlessly fiddling until it works (guided by intuition, of course!). Fortunately, for a lot of the other stuff, you can futz around changing settings until it does what you want. I had such an experience in setting up the warm shut down/start up toggle switch (a Pico switch). Mindlessly changing values in the LIMITS page accomplished the task. Maybe someday I'll read the manual to figure out why what I did works.

There are so many cool things that can be done with this transmitter. I was surprised that the Elefant's servo-controlled machine gun was so easy to set up. The slow-down setting could also be used to control momentum, so you don't need the external Turnigy servo speed gizmo in a Tamiya. Likewise, you can also set up a 9-point curve for fine control of the tank's slow speed, forward and reverse. Exploring the transmitter's capabilities is probably more fun than (or as much fun as) actually futzing with the tank itself.... but I guess they're really one and the same.

[Momentum Control: 08/17/13- I like having momentum/inertia in my tanks because it makes the drive feel more realistic: No jackrabbit starts (intentional or not) and the tank should coast a bit when you bring the throttle to zero. On the other hand, it's not fun to run your barrel or mudflaps into an immovable surface, especially if you watch it happen, powerless to change the inevitable. My King Tiger had a stand-alone Turnigy speed chip for momentum/inertia, but I thought that the function would be better if you could turn it off while operating the tank-- effectively, a braking function. Another use would be for IR battling, where you might not want to be at a disadvantage because your tank was set up to simulate the momentum of a real one but no one else's was (rules permitting): How convenient it would be to turn momentum on/off without even popping the hood.

I would have liked to have set this up as it's done on an ElMod: Moving the stick quickly in the other direction tells the tank to brake. That's a very natural reaction that doesn't require much thinking. However, as near as I can tell, the software custom switches don't have any way of detecting a quick change of stick position as a triggering event (would require constant polling and comparing two sequential stick values for a threshold difference within a selected time value).

A less-elegant (but possibly more useful) solution is to use a switch as a separate "brake" (I used the ELE Dual Rate switch). The right vertical channel (#2-ELE) MIXER was set up with 2 nearly identical entries. The first entry (for the DR switch in the default/0 position) is set up with the Slow Up and Slow Down settings with a fairly high value (I used 6; the higher, the longer the tank will take to slow down and stop). The "Switch:" setting should be left as-is (null).

The second entry (for the DR switch in the down/1 position) is set up with zeroes in the Slow Up/Down settings, and the "Switch:" configured as ELE (the dual rate switch). The Multiplex setting is set to "Replace"-- I think this is necessary for using it as a brake.

Flipping the switch turns off the Slow Up/Down settings, instantly changing the throttle setting to your stick position for as long as the switch is in the down position. This is the same as having a tank without the momentum feature, which can be very useful (combined with the switch also set up for Expo) for situations where you need to maneuver slowly with precision in tight spaces or if you just want to run your tank this way. If you do it while your tank is "coasting" from momentum, it will make it stop more quickly, but not instantly, which is easier on your gearbox.

This is such a useful function that I added it to my Clark Pzkpfw IV and don't use its built-in momentum.]

USB Interface: The Immortal Hobbies version comes with the USB interface soldered to the circuit board inside the case. If you're brave, you can download free software to tweak and re-flash it (and possibly turn it into a very attractive brick, I suppose). The transmitter has a devoted following of creative and smart folks who like to tinker with its firmware... it's reminiscent of the early days of personal computers where hobbyists fired up EDITASM to explore the potential of the amazing TRS80. Beyond RC tanks, that can open a whole new world of exploration, learning, and personal growth.

In Conclusion: If you own an old DX6 and are concerned about your current and future options, this is a very solid path to take. Feature-wise, it's miles ahead of the DX6 for less money, and you can get 4 receivers for half the price of a single Spektrum receiver (or the price of a single used AR6000 receiver on eBay). As for it feeling "cheap", I don't notice any difference in the exterior construction quality between it and my DX6; the circuit boards look like any other manufactured by the high-tech Pacific rim factories-- no evidence of hand-wiring or huge blobs of cold-soldered joints that I could see. I believe that you will be pleasantly surprised by what this cheapie transmitter can do!

 

MAPPING CLARK TK-22 LEFT STICK FUNCTIONS TO SWITCHES

08/10/13- The Clark board was the first one I set up with the Turnigy 9x, and getting it to work was a breeze (compared to the Tamiya) after I figured out how to invert the channels. However, the feature-packed left stick functions has always seemed weird to me, and although I'm getting used to it, I really would like to break out some of its functions into separate switches (so I can stop accidentally turning the lights on and off with that loud, obnoxious click!).

Mapping the Cannon Fire to a Separate Switch: This was simple because it's set up to trigger at the full travel of only the left stick vertical, or channel 3 on the receiver and board. All you have to do is set up a switch on channel 3 of the transmitter to send a 100% signal (or -100%, depending on your setup). The board processes it as if it came from the stick and fires the cannon.

However, most of the left stick functions rely on a combination of both the horizontal (CH1) and vertical (CH3) stick coordinates to be triggered, and have to be sent a specific value, or within a range of values simultaneously (actually, with a slight delay).

This can have some curious effects that you might not expect, but are understandable if you think about it. For example, if you put the machine gun on a switch, you should not expect the turret rotation and the machine gun fire to operate independently and simultaneously. Firing the machine gun relies on horizontal channel data and so does turning the turret. You're telling the horizontal channel to be in two places at the same time, which it can't do... so it quickly jumps between the two, with a momentary hiccup in between. That momentary hiccup might trigger another function, like turning on the engine sound. This isn't a bug; you're just asking the board to do something it wasn't designed to do and wouldn't be possible if controlled by the stick as intended. Chalk it up to putting a bunch of features into a reduced controls interface. As a general rule, 2 functions that originally used left stick horizontal movements shouldn't be done at the same time. It won't hurt anything, it just probably won't operate as expected.

Firing the Machine Gun By Switch: This was simple on the Tamiya because the machine gun is controlled solely by the left stick vertical. However, on the Clark board as set up in my Pzkpfw IV, the machine gun is fired by the left stick vertical at the bottom (-100), and the horizontal at the far right (+100). To set this up, additional entries have to be added in the Mixer to both CH1 and CH3 for the same switch and with the appropriate values (or weight). When you flip the switch, those values are sent for both channels, as if you'd moved the joystick to that position.

There's one other thing you need to do to minimize chances of hearing the "thonk" sound of the turret rotation as the machine gun fires: Set the Slow Up of the horizontal channel (CH1) to "1". This puts a short delay between the two signals that the board decodes as moving the stick to fire the machine gun (instead of rotating the turret) after the downstick move. At least I think that's how it works, and it works most of the time (but not always). It delays the machine gun response slightly, and because the machine gun is louder than the "thonk", you might prefer it without the delay.

Engine Sound On/Off: I wanted to map this to the left-side Throttle Cut toggle switch as I'd done with my Tamiya's warm startup/shutdown. Here, the situation was nearly identical to the machine gun mapping, except the horizontal (CH1) was at far left, with a value of -100. Since this isn't a momentary contact switch like the Trainer switch, the switch needs to be flipped down to toggle the function on or off, and flipped back up ASAP. Otherwise, the channels will continue to see the values after the function has been triggered. That will mess up the triggering of other switches. Using "Replace" mode won't fix this since you want the values to return to zero. You'll want to set the horizontal channel's switch Slow Up to "1" since the "thonk" sound is loud relative to the startup sound.

The Lights: Yep, you can do the same thing with the lights; you just have to change the vertical coordinates (weight) to trigger the light toggle. I set mine to trigger on the ELE dual rate switch at a weight of -60 on the vertical (CH3). This is approximately mid-way between neutral center and where the machine gun and startup/engine sounds trigger. Setting the Slow Up delay to "1" is even more important here because as you get closer to center, there's a stronger triggering of the turret rotation, so you'd not only get the "thonk", but also a slight bit of turret rotation without it.

Since this is a toggle function (like the engine sound), the switch should be turned on and off to turn it on, then the same to turn it off. Ideally, it would be a spring-loaded momentary contact switch.

If you use the auxiliary lighting and have an available toggle switch on the transmitter, you can set it up in much the same way; the only difference is that the additional CH1 switch entry should send a weight of -100 to toggle it on and off.

Turnigy 9x transmitter radio control RC tank

"THR" is the Engine On/Off, "TRN" is the Machine Gun, "ELE" is Lights, and "GEA" is the Cannon. The "S" on CH1 is where the Slow Up setting was turned on.

With those 3 functions mapped to switches, you don't have to worry about unintentionally triggering any of the lower functions by side-stick movements (unless you want to, since the left stick still works exactly as it was originally designed to). Obviously, there's still the matter of barrel elevation, which happens on the upper side of neutral.

Barrel Elevation on Vertical Stick: There may be other ways to do this, but I was okay with doing away with all of the standard left stick vertical functionality (it's just software, so everything can be undone). That includes firing the cannon on upstick (at least for now, one thing at a time!) as well as controlling the lights, engine startup, and machine gun by the usual stick motions. This would make it work more like my other tanks, where horizontal controls the turret rotation and vertical controls the barrel elevation. The other stuff would be controlled only by the switches as they were configured above.

The basic concept is this: The left stick vertical (THR) would be "unmapped" from controlling CH3 (throttle) by setting it's weight to zero in its default entry in the MIXER page (or deleting it). The left stick vertical (THR) would get added as an new entry to CH1 (rudder). At this point, both horizontal or vertical stick movements would make the turret rotate, and you wouldn't be able to trigger lights, engine on, etc. Next comes the tricky part.

On CH3 (throttle), add an entry with SOURCE=HALF, with a WEIGHT of 36 (in the neighborhood of where the vertical stick should be when you want to do barrel elevation the normal way-- your value may differ depending on how your transmitter is calibrated). Set the SWITCH to SW1. Add another identical entry, except set the SWITCH to SW2. Exit and go to the models CUSTOM SWITCHES (7/9) screen.

Here, create entries for SW1 and SW2. The first column of SW1 should be set for "v>ofs". The second column should be set for "THR". The third column should be set for "4" (or any fairly low value). What this does is turn on SW1 if the throttle stick (left vertical) value is greater than 4, meaning that the stick is slightly pushed up from the neutral center point.

SW2 is set up similarly, except use "v<ofs" and "-4" as the value. This turns the switch on if the left vertical stick is pushed slightly down from the neutral center point.

Picking the value of "4" is to create a narrow band where the turret rotation function can be activated: It's "operational wiggle room" on both sides of zero because we don't operate our radios that precisely. The rotation will only work on side stick if the vertical is roughly at center. It's an either/or thing because channel 1 (RUDD) is designed by Clark to handle direction and speed information for both turret rotation and barrel elevation. As designed by Clark, the vertical coordinates in channel 3 tell the board which function is being called for.

To recap, what this does is activate the CH3 (throttle) with a weight of 36 when the vertical stick is pushed above or below neutral center. SW1 or SW2 detect this. The weight of 36 tells the board that barrel elevation mode should be engaged, and to look at CH1 (rudder) for the actual movement data (direction and speed) for the motor.

If the vertical stick is in the center band, CH3 (throttle) has a weight of 0, (so SW1 and SW2 don't turn on) which the board deciphers as turret rotation mode. It looks at CH1 (rudder) for movement data. The horizontal stick is the only source of movement data since the vertical stick is at 0.

As you may have noticed, CH1 (rudder) has both axes of the left stick mapped to it. That means that if you operate in the diagonal areas, the board can be receiving some mixed and possibly conflicting control signals. For example, while in barrel elevation mode, both vertical and horizontal sticks are providing movement data to the same channel. One could be saying "go up" and the other saying "go down", which is something you want to avoid. To avoid this, stay out of the diagonal area, and just go up/down and left/right from the centerpoint. In normal stick operation, you can't turn the turret and raise/lower the barrel at the same time, so you can't do it with the functions split between the two stick directions. In other words, the Turnigy 9x can't do magic.

Turnigy 9x transmitter radio control RC tank

(Things got a little bit more complicated...)
Based on these concepts, it's easy to restore the cannon fire by upstick function, but I'll leave that for you to figure out!

There are other ways of controlling barrel elevation, by using a pot or installing a servo and controlling it directly from the transmitter. The Clark board even has the option of servo-controlled elevation (activated with their optional configuration remote). Thanks to the power of the ER9x firmwere, there's a lot of oddball stuff you can try to make the tank work the way you want it to.

There's one other benefit that's worth mentioning: Being able to re-map controls lets you set up your transmitter so that it works (more or less) the same for all your tanks, regardless of which boards are inside them. I always had a hard time remembering which corner to hit to fire up the ElMod and turn on the Clark board's engine sounds since they weren't in the same corner. Now, the same switch does it for them and my King Tiger. Same for the lights, machine gun, and cannon fire. That sort of thing is important to folks with aging brain cells!


 

RC TANK INDEX