Monday, November 16, 2015

How to Program RC Trains / Deltang Receivers

Introduction

This article aims to provide you with sufficient information and ideas to begin the process of reprogramming Deltang receivers. It focuses primarily on Rx60/61, Rx65 and Rx102 receivers as these are the ones I have used most extensively in my locos. However, the general principles laid out here apply to the majority of RC Trains / Deltang receivers. It assumes you already have a working knowledge of RC Trains / Deltang radio control equipment and can make effective use of the input/output pads on RC Trains / Deltang receivers. If you are unfamiliar with RC Trains / Deltang equipment or the use of pads on receivers then you might find these articles useful:
I have been using Deltang / RC Trains radio control equipment to control my fleet of battery powered 16mm scale garden railway locomotives since 2013 (see An evaluation of Deltang radio control equipment). In that time I have explored many aspects of this well engineered and versatile system. I would hasten to add that at the time of writing this blog posting I have no connection with Deltang, other than being a very satisfied customer. However, I would like to thank David Theunissen (Mr Deltang) for the help and guidance he has provided through my journey. I have only skipped across the surface of the capabilities of Deltang gear and its programming potential, but hopefully this tutorial will help others to get started.

Subsequent to writing this blog posting, I set up a small online company manufacturing and distributing radio control receivers and transmitters based on the Deltang system. However, for health reasons I was unable to continue running the business and it has now been handed over to Phil Partridge. For more information see RCTrains.co.uk.

This article covers the following aspects of programming:

Preparing to program

The first stage in the process is to find the right settings for reprogramming your receiver. It is very important to make sure you find the correct model and version number for your particular receiver. RC Trains / Deltang products are continuously being developed and evolved and so you need to check which model and version you have.

To find the model number look very closely on the the circuit board, the model will be etched on it somewhere in very tiny writing. You may need a magnifying glass if your eyesight is anything but 20/20.
You can see that this receiver is an Rx61b

....while this is an Rx65b

Once you have the model (eg Rx60a, Rx61c, Rx65b, etc), then you need to find the version number. This is usually written in gold felt pen on the largest chip on the board. For example, these Rx65b's are both Version 611

 .... while the Rx61b shown above is Version 603.

Armed with this information, you are now ready to access or download the programming options for your particular receiver.  However,  before starting the process of programming, it is advisable to check the features for your particular receiver to check that it is not already programmed to do what you want.

 To do this you must go to the Deltang website and then scroll down the list of receivers until you find your model number. Click on the link to the details about your receiver. If necessary, you might also then need to click another link to find information about the particular variant of your receiver (eg whether it is pre-programmed to respond to the Tx22 or whether it is designed to operate with a standard joystick transmitter).

Check the chart and the information to see if your receiver already comes with the feature(s) you are wanting. If not, follow the link on the page to the 'Paperclip settings'. For example, the paperclip settings for the Rx61d allow you to:
  1. Perform a 'Hard reset' (factory reset).
  2. Change motor control between 'low off' and 'center off'.
  3. Enable/disable LVC (eg: when using Nicads, NiHMs, LiFe cells).
  4. Enable/disable Selecta.
  5. Enable/disable Cruise Control/Failsafe.

Programming with paperclip settings

As indicated above, a limited range of settings can be reprogrammed simply by connecting together two of the pads on a receiver when it is turned on.

For example, any of the Deltang Rx6x v611 receivers (eg Rx60, Rx61, Rx65) can have the following settings reprogrammed in this way (see Paperclip settings).

Factory reset 
Returns the receiver to the 'as bought' default settings. This is useful if you make a mess of programming your receiver and want to start all over gain. Alternatively, you might remove a receiver from one loco and want to use it in a different way in another loco.

Enable/Disable Selecta 
Turns on or off whether the rx works with Selecta knob on a Tx22 (or Tx23) transmitter. These transmitters can control up to 12 locos independently, depending on the position of the Selecta switch on the transmitter. Receivers can be bought ready programmed to respond to the Selecta settings on the transmitter. Alternatively, a non-Selecta-enabled receiver can be reprogrammed to work with the Tx22 or Tx23 transmitters.

Low off / Centre off speed control 

You may have wondered why Deltang transmitters have a direction switch when, by default, the speed knob controls both speed and direction. You can reprogram the receiver so that the speed knob controls just the speed, with the direction switch changing the loco's direction. This would enable the full swivel of the speed knob to be used for controlling speed - giving fine control when shunting for example.

LVC - Low voltage cut-off. 

Deltang receivers are designed, by default, to work with lithium batteries. They detect which size of li-ion or lipo battery is connected and cut-off the supply if the voltage in the battery falls below the requisite safe level. However, this can be inconvenient if you are powering your loco with NiMh or alkaline batteries. This paperclip setting allows you to disable the LVC feature.

Cruise control / Failsafe
As Deltang Rx6x receivers are designed to be used primarily with trains, they have cruise control as their default. This means that if the loco loses the signal from the transmitter (eg when running through a tunnel), the loco will continue running at the same speed until it regains the signal from the transmitter. Those controlling model aircraft, cars and boats usually prefer their models to stop when they lose the transmitter signal (ie 'failsafe'), to avoid accidents or to stop their model disappearing into the far blue yonder. You might prefer that your loco remains under your control at all times and so cruise control can be disabled and the receiver programmed for 'failsafe'.

Menu
 At the time of writing, this option is under development. It is intended for use with the Tx72 and Tx74 transmitters which use the Selecta knob to reprogram receivers with twelve different settings.

How to reprogram a receiver using paperclip settings

As suggested by the title, two pads on the receiver are connected together using a paperclip, length of wire or any other conducting material, while the receiver is being switched on. The pads to be connected are shown on the paperclip settings page of the RC Trains or Deltang websites. For example, on Rx6x receivers, to change the Cruise/Failsafe settings, Pad 1 and Pad 4 need to be connected together.
Pads 1 and 4 connected on an Rx65a
The LED on the receiver will flash a number of times dependent on the setting being reprogrammed (eg twice in 1.5s if Cruise Control is enabled), to indicate that the reprogramming has been successful. Once reprogrammed, the receiver is switched off and then back on again to operate normally.

And that's literally all there is to it!

The programming chart

If the paperclip settings do not cover what you want to do, somewhere on the page will be another link to 'Programming' options. The link is usually at the top of the page or sometimes at the bottom. The link will take you to another page containing a chart something like this:

2. PROGRAMMING OPTIONS:

Level 1

Level 2 Level 3 Level 4 Level 5 Information






Menu 1
Motor

Output number: Output type: Channel number: Other:  
1 1-2 = H1-H2 1 = Center off
(1ch, half each way)
[M-TYPE-1]

1-18 = Channel
Forward and Reverse with one control
(-100% < 0 > +100%)
(eg: 1,1,1,1 = Menu1, H1, Center off, Ch1)
1 1-2 = H1-H2 2 = Low off
(2ch: speed + direction)
[M-TYPE-2]

1-18 = Channel
Throttle
1-18 = Channel
Direction
One control for Throttle (0 ~ 100%)
Second control for Direction
(eg: 1,1,2,1,3 = H1, Low off, Ch1 Throttle, Ch3 Direction)
1 1 = H1+H2 3 = Combo
[M-COMBO]


1 = Disabled
(H1/H2 controlled separately)

2 = Enabled
(H1/H2 work as one)


Parallel two outputs for higher current handling
When enabled, H1 settings control H1 and H2
(eg: 1,1,3,2 = H1+H2 used as one output)
(eg: 1,1,3,1 = H1 and H2 controlled separately)
(followed by several more rows on successive pages

This is an extract from the programming options for the Rx65b (version 611). At first this information may seem somewhat overwhelming, but I found that I soon got used to tracking down the information I needed. To see a more detailed explanation of any particular feature, click the link in the third column (eg  [M-TYPE-2] ).

Let's assume you want to reprogram your receiver so that you can turn on and off the directional lighting feature from your transmitter. Normally, an LED connected to Pad 1 will come on when the loco travels forward and an LED connected to Pad 2 will come on when it travels in reverse. The DIR_LIGHT_2 feature allows you to turn the direction lighting feature off (and back on again) using, say, the bind button on your Deltang transmitter. A quick consultation of the chart for receiver will reveal something like this:

Menu 3
Led, On/Off,
Serial,
Automation
Pad number: Output type: Channel number: Switch Action:
3 1 5 = Control settings
[DIR-LIGHT-2]

0 = Auto
1-18 = Channel

Controlled with a channel:
Latch (toggle)
1 = Ch low
2 = Ch high
Momentary
3 = Ch high on
(mid/low off)

This row of the table will give you the coding needed to reprogram the receiver:

3, 1, 5, 5, 1

Let's examine what the code numbers actually mean
3 = Menu 3
1 = Pad Number 1 (reprogramming Pad 1 usually also affects Pad 2)
5 = Control setting for directional lights 2
5 = Channel number 5 (the bind button controls channel 5 when not used for binding)
1 = Latch the output when the channel goes low

Hopefully, most of that will make sense apart, maybe, from the last setting. Because the bind button, which controls channel 5, is a button rather than a joystick or a speed knob, it is either on or off. When it is pressed it sends a 0v (or 'low') signal to the receiver. The direction switch (Channel 3) has three states - Left (or Up) - Centred - and Right (or Down). When in the centre the switch does nothing - it is disconnected. When it is switched Left (or Up) it goes 'high' (ie sends 3.5v to the receiver) and when it is switched Right (or Down) it goes 'low' (ie sends 0v to the receiver). (Note: Your direction switch might be wired the other way round (Up=Low, Down = High) depending on whether you bought it readymade or made it from a kit).

Once you have extracted the code you are ready to start programming.

Programming with a transmitter (including the Deltang Tx20)

I have summarised how to program a receiver with a Tx20 in this video.

 In more detail, there are really three stages:
  1. Noting down the programming information for your receiver from the Deltang website (see above)
  2. Putting the receiver into programming mode with the transmitter
  3. Programming the receiver with the transmitter

Getting the program settings you need

This is covered fully in the section above. For each feature which needs to be reprogrammed, the settings will need to be extracted from the chart and the process of programming repeated.

Let's assume we will be re-setting the Direction Lights as indicated above. The code will therefore be ....  
3, 1, 5, 5, 1

Putting the receiver into programming mode

Whether using a Spektrum DSM2 joystick transmitter or the RCT-Tx20 or Deltang Tx20, the first job will be to make sure the transmitter is bound to the receiver. All RC Trains / Deltang Rx6x receivers go into bind mode after about 20 seconds if they do not detect a transmitter. The transmitter then needs to be turned on with the bind button held down. The LEDs on the receiver and the transmitter should now flash in unison to show they are binding and will then come on steadily once bound. Occasionally, the bind process needs to be repeated if binding wasn't successful the first time.

Once bound, turn off the receiver. If not already on, the transmitter now needs to be switched on.

With a standard Spektrum DSM2 transmitter, the left and right sticks (Channels 2 and 4) now need to be pushed towards the centre of the transmitter and held in place.

With the Tx20, Channels 2 and 4 are on the two push buttons. These need to be held down.

With the sticks or buttons held in place, the receiver is now switched on. The LED on the receiver should flash rapidly to show that it is going into programming mode. When the buttons and sticks are released, the LED should flash once, with a 2 second pause between each flash.

The receiver is now ready to receive its instructions. The single flash shows its current setting for the first column of the table on the Deltang website - ie the first column currently has a setting of 1. We want this first value to be 3 (for menu three). To advance the flashes you push the Elevator (Ch3) joystick downwards on a DSM2 transmitter .......



..... or move the Direction switch to the left (or down) on the Tx20. [Note My Tx20 was built from a kit and so I mounted the direction switch so it switches left and right. Yours might be mounted so it moves up and down]

The LED should now start flashing twice, with a 2 second pause. We need this first value to be three and so we need to advance the flashes again, by moving the stick down or the button left once more.

Once we have changed it to three flashes, we need to confirm that this is the value we want in this first column by moving the joystick upwards ........
.... or moving the direction switch to the right.

The LED should flash rapidly while the stick or switch is deflected to show it has accepted the setting. When the stick or switch is released, the rapid flashing should stop. This now moves us to the second column. The LED should now be flashing once and then pausing. As we need a value of 'one' in this second column, all we need to do is ACCEPT this setting, so the joystick needs to be moved upwards or the switch moved to the left.

We are now in the third column of the chart. This value needs to be five. So we go through the ADVANCE process to increase the value to five.

NOTE - If you advance too far (to, say, six flashes) then keep advancing. Eventually the flashes will return back to one-flash and you can start all over again.

Once the LED is flashing five times, you accept this which moves us on to the next column. The next column also needs to be set to five-flash. Follow the same procedure until you reach the final column, where the value needs to be one-flash.

NOTE - Depending on the settings already in the receiver, the number of flashes in each column as you move on to it will vary. As indicated above, if you need to reduce the number of flashes in a column, keep advancing until eventually the number of flashes cycles round to one-flash again.

When you have reached the end of the columns, the LED will go out for a couple of seconds and then come back on solidly without flashing. You can now test your receiver to see if the new function works as you expected.


Programming with a Deltang Programma module

Over the years, I have worked with Prog1, Prog3 and Prog4. Prog4 is the easiest to use but the most difficult to set up. Prog3 is still available and works in a similar way to programming with a transmitter (see above) and is a bit of a fiddle to use but dead easy to set-up.

A couple of years ago, I made a video showing how to reprogram a receiver with a Prog1. The same principles apply for using Prog3 and Prog 4, and so you might want to watch the video before ploughing through the written explanation below. Note, that when I made the video, there were no paperclip settings for such things as Cruise and Failsafe and so these had to be reprogrammed 'the long way'


Programming with a Prog3

After having worked out the code which needs to be transmitted to the receiver (see above), the first stage in programming is to power up the Prog3 and bind it to the receiver.

The Prog3 needs a supply of anything between 3.5v and 10v. I power mine with 6v supplied by a pack of four AA alkaline batteries, a switch and a servo plug

I connect the power lead to the seventh row of pins (ie the rightmost row, looking from the pins end of the Prog3), making sure that the +ve lead connects to the middle pin and the -ve lead connects to the lowermost pin.

The receiver is put into bind mode (with Rx6x receivers, turn on and wait for around 20 seconds until the LED flashes rapidy - with Rx10x receivers, two pins need to be connected together with a bind plug prior to the rx being turned on (the pins depend on the particular rx)). The bind button is pressed on the Prog3 before being turned on. The bind button is then released.

Once the receiver has been bound, it needs to be turned off while the programming codes are set-up on the Prog3.

We'll use the code for re-setting the Direction Lights as indicated above........  
3, 1, 5, 5, 1

The first five sets of pins on the Prog3 represent the five columns of the programming chart. And so, the first set of pins (ie the leftmost pins when looking at the Prog3 from the pins side), need to programmed with the value 3.

You will need the two bind plugs supplied with the Prog3 (a small red one and a large black one with a loop of plastic) to program the Prog3 with the new settings.

Because the Prog3 remembers its settings, unless you are starting with a brand new unit, the pins may already be set up with varying numbers of flashes. To see the flashes already set on the first pin, connect the large bind plug from the top pin (signal) to the bottom pin (-ve).

The LED on the Prog3 will flash a number of times and then pause. It will then repeat the flashes. The next time it flashes there will now be one more flash than before and then repeat the same sequence of flashes. For example, if the first pin has already been set to two-flash, it will flash twice, pause, and then flash twice again. It will then flash three times, pause and then flash three times once more.

Remove the bind plug.

Connecting the smaller bind plug from the topmost pin to the middle (+ve) pin will decrease the number of flashes by one with each cycle.

We need the first pin to flash three times. Use whichever bind plug is necessary to change the number of flashes to three, and then immediately remove the bind plug. Re-connecting either of the bind plugs will enable you to check that the number of flashes is correct, provided you remove it again immediately after the LED has finished flashing for the first time.

The next signal pin (pin number two) now needs to be set to one-flash. Use the bind plugs to change its setting to one-flash (ie by incrementally increasing or decreasing the flashes).

NOTE: Zero-flash is denoted by a faint glow from the LED

Signal pin three needs to be set to five-flash, as does pin four. And pin five needs to be set to one-flash.

NOTE: Pressing the bind button at any time during this re-setting process will save the settings

When you have reset all the pins to the correct number of flashes, you are ready to pass this information to the receiver. Turn on the receiver and wait until it shows it is communicating with the Prog3 (the rx LED should either be flashing three-flash, then pause or be on steadily, dependent on the receiver you are reprogramming).

Press the button on the Prog3 briefly.

 The LED on the rx should flash rapidly for a second and then go back to either three-flash or steady state. If the LED did not flash rapidly, try pressing the button on the Prog3 again.

Assuming you have successfully reprogrammed your rx, you must now turn off the Prog3 and the rx. Then turn on your normal transmitter and then the rx and, provided you have reprogrammed the rx properly, it should now behave in the way you have just reprogrammed it.

If you make a mess of the reprogramming you can return the rx to its factory settings by using the paperclip method of reprogramming (see above)


Programming with a Prog4


I have covered programming with a Prog4 in two previous posts - see How I reprogrammed an Rx65b to operating in auto-shuttle mode and How I reprogrammed an Rx102 to operate a DigiSounds soundcard 

The Prog4 takes a little while to set-up on your computer and I know some modellers have found it problematical to get the Prog4 working satisfactorily. It took me a couple of attempts to get the software to communicate with the Prog4. Eventually, I discovered that I needed to buy a different USB to RS232 converter lead. The two leads looked identical, but for some reason, the first one did not seem to connect the Prog4 correctly.

Once the software had been set-up, programming with the Prog4 is relatively straightforward. Creating a text file is a lot less fiddly than counting LED flashes.

Conclusion

For me, the ability to reprogram Deltang receivers greatly enhances their versatility and hence the ways in which they can be used. It also means they are very cost-effective - rather than having to buy additional bits of kit to enable a receiver to interface with other devices such as soundcards, the pads on receivers can reprogrammed to provide precisely the sort of output needed by a device. Programming has also allowed me to make use of receivers' built-in features such as the Rx65's auto-shuttle mode - again, saving me additional cost of a separate auto-shuttle module and increasing the receiver's flexibility. For example, I am planning to reprogram a couple of receivers in locos to operate in station-stop mode which will mean, on balmy summer evenings (remember those?), I will be able to set a train running around the main loop and watch it automatically slow down and wait at each station before moving off again. All that for no extra cost (apart from one reed switch in the loco and a magnet for each station approach).

I do hope you find this information useful and that it will enable you to explore and unleash the potential of Deltang radio control equipment more fully. Remember the old Chinese proverb - "Every journey must start with the first step". I hope this article will enable you to take your first step.



2 comments:

CastagnolaSteam said...

Hi Rik,
An immensely useful topic, it has helped me install Deltang in both battery and live steam locos, replacing an aging Spectrum DX6 (the original version).

I've a question - I'm using a TX20 with both 65b and 102 receivers and wonder if you can think of a way to use one of the pushbuttons, say Ch5 (Bind) as a latching switch?
This is simply to allow me to switch a headlight on or off without linking it to the directional control.

Paul

GE Rik said...

Hi Paul
Thanks for the feedback. The Rx65 has a latching output for the bind button (Ch5) by default on Pad 5. Just connect the +ve leg of the LED to P5 and the -ve leg via a resistor(say 150R) to the negative supply.

Possible but more complicated with the Rx102. You could buy a latching switch module like this - http://modelradioworkshop.co.uk/shop/power-switching-devices/dual-relay-controller-switch/ - or you could make your own from a servo and a toggle switch, like this - http://www.members.optusnet.com.au/satr/2point4GHz.htm (about half way down).

Hope that helps.

Rik