Information Update on the ProMini Air Receiver and Transmitter

Introduction

Typical application. In some cases, such as the Airwire transmitters, the throttle and transmitter are combined. Also, the receiver and amplifier may be integrated, such as for Airwire and Tam Valley Depot receivers. The ProMini Air transmitter and receiver require a “DCC Converter” or “DCC Amplifier” provided as part of the purchase.

I was inspired to fully develop a wireless DCC transmitter and receiver by two sources: Martin Sant, who runs the BlueRidge Engineering website, and an article by Mark and Vince Buccini titled “Build Your Own Wireless DCC System” that appeared in the April, June, and August 2014 editions of Garden Railways magazine. These back issues are still available.

The Buccinis showed that it was possible to home-build a wireless DCC system. And Martin became a great collaborator who concretely started me with the initial version of the “ProMini Air” wireless DCC transmitter/receiver hardware and the wireless DCC software for the Pro Mini microcontroller board. I am deeply indebted to these people.

Note: Some photos may show older versions of the ProMini Air. Also, previous versions of the ProMini Air receiver and transmitter used 9000/9001 for their DCC address, respectively, which we changed to 9900/9901. Photos and examples may use the now-obsolete addresses.

Feature Comparisons

My goal for offering the ProMini Air receiver/transmitter is to provide those interested in “dead-rail” (radio control, battery power of a model railroad locomotive) inexpensive wireless, DCC compatible transmitters and receivers for radio-control of model railroad locomotives in the US/Canadian 915MHz ISM band – the same band and protocol as used by Tam Valley Depot (TVD), CVP Airwire, NCE/QSI Gwire, and Stanton Cab. Also, you can operate the ProMini Air transmitter and receiver in the European ISM band at 869.85MHz, and we have verified interoperability with Tam Valley Depot European DRS1 transmitters and receivers.

A note about channels: modern CVP Airwire transmitters and receivers can all operate in the Airwire channels designated 0-16 using current Anaren AIR transceiver chips. Older wireless transmitters and receivers from Tam Valley Depot and Stanton Cab used the Linx ES series transmitter or receiver chip that only operated at 916.48MHz with slightly different specialized radio settings from the Airwire channels. I call this channel 17. In most but not all cases, these Channel 17 devices are interoperable with Airwire channel 16 @ 916.36MHz. Also, European versions of these older transmitters and receivers operated on 869.85MHz, and I call this Channel 18. Here’s my unofficial Table of channels and frequencies.

ChannelFrequency (MHz)Comments
0921.37
919.87 
2915.37 
3912.37 
4909.37 
5907.87 
6906.37 
7903.37 
8926.12
9924.62
10 (A)923.12
11 (B)918.12 S-Cab alternative frequency
12 (C)916.87
13 (D)913.62
14 (E)910.87
15 (F)904.87
16 (na)916.37 TVD interoperability w/ Ch. 17
17916.48S-Cab and older Tx/Rx
18869.85European operation
Unofficial channel designations

The “ProMini Air” receiver is compatible with the Tam Valley DRS1 transmitter (Channel 16 or 17), both the CVP AirWire T5000 and T1300 wireless throttles (Channels 0-16), the no longer manufactured NCE GWire CAB (Channels 0-7), and the Stanton Cab Throttle (Channel 17).

The ProMini Air transmitter is compatible with the Tam Valley Depot DRS1 receiver (Channels 0-17, Channel 18(E)), the CVP Airwire CONVRTR receivers (Channels 0-16), the QSI Gwire Receiver (Channels 0-7), the Stanton Cab LXR-DCC receiver (Channel 17), and the NCE D13DRJ wireless decoder (Channel 16 or 17). Of course, the ProMini Air transmitters and receivers are compatible!

The ProMini Air has some features that may be of interest compared to commercial offerings. See the Comparison Tables below.

NameAirwire Receiver
Compatible?
ChannelsPower
Level Adj
Any DCC
Input
TVD DRS1
Transmitter
NoCh 17
(or 18(E))
NoYes
Airwire
T5000
Yes0-16YesNo
NCE Gwire CabYes0-7YesNo
S-Cab ThrottleNo17NoNo
ProMini
Air Transmitter
Yes0-17, 18(E)YesYes
Comparison of wireless DCC transmitters

In fairness, the manufacturers of the Airwire T5000, the NCE Gwire Cab, and the S-Cab Throttle hand-held throttles never intended to interface to standard DCC throttles. But, as Tam Valley Depot recognized, it is advantageous to use any device that supplies DCC to the rails and transmit this DCC wirelessly to DCC-compatible receivers.

A notable limitation of the Tam Valley Depot DRS1 transmitter is that it does not provide DCC “IDLE” packets that the Airwire receivers require unless the original DCC throttle does so (most, if not all, do NOT). Also, the Tam Valley Depot DRS1 transmitter can only broadcast on one channel (near Airwire Channel 16, which I have designated Channel 17 @ 916.48MHz).

Shown in the Table below are the comparisons for wireless DCC receivers.

NameChannelsDCC
Filtering?
Channel Auto
Search
TVD DRS1,
MK IV
0-17, 18(E)NoneYes
Airwire
CONVRTR
0-16Always
On
Yes (Limited)
QSI
Gwire
0-7NoneNo
S-Cab LXR
receiver
17NoneNo
ProMini
Air
0-17, 18(E)None or
On
Yes
Comparison of wireless DCC receivers

The most notable difference among the receivers is “DCC filtering,” i.e., how the receiver behaves when losing a valid RF DCC signal.

When the TVD DRS1 or QSI Gwire receivers lose a valid RF signal, they output random pulses to the decoder. I have discussed the pros and cons of this in another post.

On the other hand, the Airwire CONVRTR outputs constant-level DC when it loses a valid RF signal or doesn’t receive enough DCC “IDLE” packets. Again, as discussed in another post, the DCC decoder may halt the locomotive dead in its tracks when it receives this constant-level DC, which may or may not be what the user wants.

The Airwire CONVRTR performs “DCC filtering” by periodically evaluating whether it’s receiving DCC “IDLE” pulses. So, even if a stream of completely-valid DCC packets are received, but there are few or no “IDLE” packets, the Airwire CONVRTR will become inactive and output constant DC to the decoder.

These characteristics of the Airwire receivers are why Tam Valley DRS1 transmitter will usually NOT work with Airwire CONVRTR receivers because the DRS1 will not insert additional DCC “IDLE” packets! The Tam Valley Depot DRS1 transmitter is a passive participant: if the input DCC throttle doesn’t produce frequent DCC “IDLE” pulses, then the Tam Valley Depot DRS1 will not transmit frequent DCC “IDLE” pulses.

Stanton designed the S-Cab LXR-DCC receiver specifically for the S-Cab Throttle’s intermittent DCC transmissions. Like the Airwire CONVRTR receivers, the LXR outputs a constant DC voltage when a valid RF signal is lost.

Via OPS mode (by default at address 9901), you can reconfigure ProMini Air’s output behavior when a valid RF signal is lost. The first option (CV246 -> 0) selects the output of DCC IDLE messages (which the decoder is “comfortable” with, rather than random pulses that might “confuse” the decoder). The second option (CV246 -> 1) selects the output of constant-level DCC.

This reconfigurability makes the ProMini Air receiver a versatile wireless DCC receiver. The ProMini Air receiver’s RF DCC detection technique is more sophisticated than Airwire’s. The ProMini Air receiver detects how long it’s been since it received ANY valid DCC packet. And, after a preset time interval (which is reconfigurable via OPS mode, changing the CV252 value in 1/4 second multiples), the ProMini Air receiver will output either the DCC “Idle” messages (DCC filtering “off”) or output constant-level DC (DCC filtering “on”). When DCC filtering is “on,” and there is no valid RF signal, the DC level output is reconfigurable via an “OPS” mode setting of CV248 (-> 1 for positive DC, -> 0 for 0V DC) at the ProMini Air’s DCC address.

Once a valid RF signal is received again, the ProMini Air receiver detects this condition. It outputs these valid DCC packets to the “DCC amplifier” that sends “track-level” DCC to the decoder.

Another important feature of wireless DCC receivers is Channel selection and searching.

The TVD DRS1 receiver will “listen” on a fixed Airwire Channel if you set some jumpers. Otherwise, the DRS1 will automatically search the Airwire Channels for a valid RF signal if you do NOT insert the jumpers. This behavior may or may NOT be a good idea if multiple wireless DCC transmitters transmit simultaneously on different Channels. And, changing the Channel selection behavior (fixed channel or auto-scan) requires physical access to the receiver to connect or disconnect jumpers.

On startup, the Airwire CONVRTR “listens” for a valid RF signal on its “startup” channel (which is reconfigurable by accessing a CV using the wireless throttle’s “OPS” mode). If the CONVRTR finds no valid RF signal after a given time, the CONVRTR will switch to Channel 0. This behavior is usually a good idea.

Like the Airwire CONVRTR, on startup, the ProMini Air receiver will “listen” for valid RF on its “startup” Channel (default, 0) stored in EEPROM memory. This startup channel is changeable using the transmitting throttle’s “OPS” mode by setting CV255 to 0 through 18 at the ProMini Air transmitter’s DCC Address (default, 9901). Like the TVD DRS1 receiver, if the ProMini Air does not find a valid RF signal on its startup channel, the ProMini Air receiver will then auto-scan Channels 0(A), 18(E), 17(S), 1(A), 2(A), …, 16(A) (in that order) for valid RF signal (A=Airwire channels, E=European channel @869.85MHz, S=S-Cab Channel @ 916.48MHz). This scan sequence guarantees that a wireless DCC transmitter (if one is available) is selected, but only if the ProMini Air does NOT find a valid RF DCC signal on its startup Channel from another wireless DC transmitter.

If the ProMini Air receiver finds no valid RF DCC signal on any Channel on startup, it will select Channel 0 and wait for a valid RF DCC signal. Also, upon reset, the ProMini Air’s Channel search process will be unchanged: trying the “startup” channel stored in EEPROM memory, then try auto-searching Channels, and if all else fails, wait on Channel 0.

So, in summary, we are offering the ProMini Air DCC transmitter and receiver to provide a low-cost alternative with a set of features not entirely found in commercial offerings.

You are provided with a few additional components when buying a ProMini Air receiver or transmitter. In the case of the ProMini Air transmitter, we include a simple “DCC Converter” PCB that converts DCC output to the track into Ground, 5V power, and 5V logic DCC. These outputs supply the ProMini Air transmitter with power and DCC packets to transmit, so no additional power supply is necessary.

For the ProMini Air receiver, we include a low-cost “DCC amplifier” that converts the ProMini Air receiver’s 5V logic DCC back to DCC. The onboard DCC decoder would, in its typical configuration, pick up from the track (again, discussed in detail below). The ProMini Air receiver can be powered directly from the battery or a small external 5V power supply.

This modularity keeps costs down, allows for easy replacement of components rather than the entire assembly, and enables the use of commodity components less susceptible to supply-chain disruptions.

ProMini Air transmitter connections
ProMini Air receiver connections

And, you will need an antenna of your choosing! I love antennas, but your antenna requirements are too diverse to offer a “one size fits all” antenna solution. We provide an FCC/IC-approved Anaren “whip” antenna that connects to the U.FL connector on a 10-pin transceiver daughterboard. This antenna should work well for most transmitter applications and is FCC/IC approved for “intentional radiators.”

For the ProMini Air receiver, some can use the small whip antenna without modification; others will need to run an antenna connecting cable to a small, externally-mounted antenna. We discuss several excellent antenna options below.

Documentation

The definitive source of information for the ProMini Air transmitter and receiver is available here.

Kit Assembly

We no longer offer the ProMini Air as a kit.

Firmware Installation

The ProMini Air Tx and Rx are provided with the firmware already loaded. These instructions are only for advanced users who want to update the firmware.

The source code is available from this GitHub site. Locate the source code in a directory where the Arduino IDE can find it. You should retain the subdirectory structure to access the “project” with the Arduino IDE.

How to download the GitHub zip file that will maintain the directory structure

Depending on whether you want a transmitter or receiver, edit libraries/config/config.h to select the “define” for the transmitter or receiver.

For a receiver (Rx), config.h should look like this:

...
// #define EU_434MHz
/* For World-Wide 2.4GHz ISM band*/
// #define NAEU_2p4GHz

//////////////////////////////
// Set Transmitter or Receiver
//////////////////////////////
/* Uncomment ONLY ONE #define*/
/* For receiver*/
#define RECEIVER
/* For transmitter*/
// #define TRANSMITTER

/////////////////////////////////////////////////
// Set the default channel for NA/EU 900MHz only!
/////////////////////////////////////////////////
#if defined(NAEU_900MHz)
/* Uncomment ONLY ONE #define*/
/* To set the default to NA channel  0 for 869/915MHz ISM bands only!*/
#define NA_DEFAULT
/* To set the default to EU channel 18 for 869/915MHz ISM bands only!*/
// #define EU_DEFAULT
#endif

//////////////////////////////////////////
// Set the transceiver's crystal frequency
//////////////////////////////////////////
/* Uncomment ONLY ONE #define*/
/* For 27MHz transceivers (e.g., Anaren 869/915MHz (CC110L) and Anaren 869MHz (CC1101) radios)*/
// #define TWENTY_SEVEN_MHZ
/* For 26MHz transceiver (almost all other radios, including Anaren 433MHz (CC1101), 915MHz (CC1101), and 2.4GHz (CC2500) radios)*/
#define TWENTY_SIX_MHZ


...

If you want a transmitter (Tx), then config.h should be

...
// #define EU_434MHz
/* For World-Wide 2.4GHz ISM band*/
// #define NAEU_2p4GHz

//////////////////////////////
// Set Transmitter or Receiver
//////////////////////////////
/* Uncomment ONLY ONE #define*/
/* For receiver*/
// #define RECEIVER
/* For transmitter*/
#define TRANSMITTER

/////////////////////////////////////////////////
// Set the default channel for NA/EU 900MHz only!
/////////////////////////////////////////////////
#if defined(NAEU_900MHz)
/* Uncomment ONLY ONE #define*/
/* To set the default to NA channel  0 for 869/915MHz ISM bands only!*/
#define NA_DEFAULT
/* To set the default to EU channel 18 for 869/915MHz ISM bands only!*/
// #define EU_DEFAULT
#endif

//////////////////////////////////////////
// Set the transceiver's crystal frequency
//////////////////////////////////////////
/* Uncomment ONLY ONE #define*/
/* For 27MHz transceivers (e.g., Anaren 869/915MHz (CC110L) and Anaren 869MHz (CC1101) radios)*/
// #define TWENTY_SEVEN_MHZ
/* For 26MHz transceiver (almost all other radios, including Anaren 433MHz (CC1101), 915MHz (CC1101), and 2.4GHz (CC2500) radios)*/
#define TWENTY_SIX_MHZ

...

Two further options are available. The first option selects the crystal frequency of the FCC/EC-approved transceiver: 27MHz (Anaren) or 26MHz (Ebyte). The second option specifies North American or European default use.

After you complete downloading the firmware into the Pro Mini, please do not remove the USB connection from the computer until the “secondary” LED, which indicates attempted communication over the SPI (serial peripheral interface), flashes on (it will not be bright). This step ensures you properly initialize the EEPROM!

You load the firmware into the Pro Mini MCU using an “AVR ISP,” such as the Sparkfun Pocket AVR Programmer or a less-expensive clone. This “ISP” downloading mode will bypass and erase the bootloader to directly load the firmware into the Pro Mini MCU. On boot-up with the bootloader now erased, the Pro Mini MCU will almost instantly supply “5V logic DCC” to the DCC amplifier, which provides the DCC decoder with standard DCC waveforms. There is no “boot-up DC” and no need to set CV29, bit2=0. (I set it anyway.) With this solution, all DCC decoders I’ve tried (ESU, Zimo, MTH) startup without the “boot-up jerk.”

This “ISP” form of loading firmware is not as extensively used by folks using the Arduino IDE, but ISP loading is easily accessible within the Arduino IDE. The overly-brief method of ISP programming steps are the following:

  1. Remove the transceiver daughterboard and the jumper (if inserted).
  2. Connect the USBtinyISP (or other) Programmer (with power switch ON to supply 5V DC to the ProMini Air PCB while programming) to the 6-pin connector on the ProMini Air.
  3. From the Arduino IDE, Select Tools → Programmer → “USBtinyISP” (or whatever ISP programmer you use).
  4. Select the AirMiniSketchTransmitter sketch.
  5. Select Sketch → Upload using a Programmer.
  6. The Arduino IDE will compile the sketch and download the resulting firmware to the Pro Mini via the USBtinyISP, bypassing (and erasing) the bootloader. 

Once the ProMini Air receiver or transmitter firmware is installed in the Pro Mini and inserted into the ProMini Air PCB, the ProMini Air is ready for integration!

Integration

To complete the integration of the ProMini Air receiver (Rx) or transmitter (Tx), you must establish several connections.

Overview of Connections

See the picture below for an overview of the connections to and from the ProMini Air. Which connections you use depends on whether the ProMini Air will act as a receiver (Rx) or a transmitter (Tx). THERE IS NO PROTECTION AGAINST INCORRECT BATTERY OR EXTERNAL POWER CONNECTIONS!!! You will destroy the ProMini Air immediately if you reverse the GROUND and POSITIVE POWER SUPPLY connection!

Data and power connections for PMA Rx
Data and power connections for PMA Tx

The Anaren and Ebyte transceiver daughterboards have a versatile
U.FL plug for antenna connections. You can plug in either the
Anaren whip antenna we provide or a U.FL-to-SMA or U.FL-to-RP-SMA
cable that screws into a remotely-mounted antenna. Also, a two-pin
output provides Ground and the DCC input to (Tx) or output from
(Rx) the RF transceiver board, serving as signals to an oscilloscope for
waveform review. See the figure below for details
on these connections.

ProMini Air antenna connector (female RP SMA) and transceiver DCC input/output

The ProMini Air has several connections that provide AVR programmer, I2C display outputs, and 5V logic DCC inputs or outputs. See the photo below.

ProMini Air connections for AVR programmer, I2C display output, and 5V logic DCC input or output

We will break down these connections for the ProMini Air receiver and transmitter in the following two sections.

Receiver Connections

Starting with the ProMini Air configured as a receiver (Rx), several options exist for providing power. The first option is to use external battery power and jumper the +5V and +5V (Battery) pins to use the onboard 5V regulator to provide board +5V supply.

ProMini Air power connection options (for Rx only, the Tx receives power from the DCC Converter).

Since you may not like the heat generated by the onboard 5V regulator when you supply power with external battery power and install the jumper, as an alternative, you may use an external +5V power supply, as shown below, where the external power supply provides Ground and +5V. Of course, you do NOT install the jumper.

ProMini Air receiver powered by an external +5V power supply (older PMA version, but the connections are the same for newer versions)
Close-up of ProMini Air receiver power connections to an external +5V power supply (older PMA version, but the connections are the same for newer versions)

The ProMini Air receiver must connect to an external DCC amplifier that converts the 5V logic DCC from the ProMini Air receiver to DCC A/B that a DCC decoder requires. This DCC amplifier uses battery power and the inputs from the ProMini Air receiver to provide the power and DCC messages, coded as a bipolar DCC waveform, to the decoder for both power and DCC messages. These “DCC amplifiers” are usually medium to large amperage amplifiers that accept pulse width modulation (PWM) input to provide precision output control for electric motors. The maximum PWM frequency of these amplifiers is usually high enough (> 20kHz) to reproduce DCC packets accurately.

Depending on the particulars of your installation, the author will provide an appropriate DCC amplifier as part of your PMA Rx purchase.

Close-up of the inputs to the DCC amplifier from the ProMini Air receiver

Some DCC amplifiers have their specialized connector configurations, as shown below, for a GROVE-compliant amplifier.

Example of another DCC amplifier’s connections to the ProMini Air receiver

Integration of the ProMini Air Receiver into a Locomotive

Of course, the real purpose of the ProMini Air receiver is to integrate it into a locomotive for wireless DCC control using an onboard battery as power. An excellent high-power (13A continuous) DCC amplifier may be purchased here, as shown below. This Cytron MD13S amplifier is the one we provide with the ProMini Air receiver unless determined otherwise for size constraints. You can successfully use more expensive high-amperage amplifiers (about $30 US as of 2020) found at Pololu here or here. These amplifiers are smaller (0.8″ x 1.3″) than the Cytron.

ProMini Air receiver integration with battery power, DCC amplifier, and antenna (older PMA version, but the connections are the same for newer versions)
Example Installation

Transmitter Connections

Now, let’s turn the ProMini Air used as a transmitter (Tx) of DCC messages from any DCC-compatible throttle.

The photo below shows the connections between an interface board that takes throttle DCC A/B inputs (“track” DCC) and rectifies these inputs to provide Ground and +5V power supply output. This “DCC Converter” PCB also “taps off” the DCC A input and converts it to a 5V logic DCC output suitable for the ProMini Air transmitter. These outputs provide the ProMini Air transmitter with Ground, +5V power, and 5V logic DCC input.

We provide the “DCC Converter” PCB as part of your PMA Tx purchase.

Photo of ProMini Air receiver connections to a “DCC Converter” PCB that supplies the ProMini Air transmitter with Ground, +5V power, and 5V logic DCC. The ProMini Air transmitter does NOT connect to a battery and does NOT use the jumper connecting +5V to +5V (Battery)!
Close-up of ProMini Air transmitter connections to the “DCC Converter” PCB. The jumper connecting +5V to +5V (Battery) is NOT used! (older PMA version, but the connections are the same for newer versions)

The user can change the ProMini Air transmitter’s Channel (Airwire channels 0-16, S-Cab channel 17, and EU channel 18) and Power Level (0-10) by setting the DCC throttle’s address to that of the ProMini Air transmitter’s (9900 by default). Then, using the throttle’s OPS mode, change the value of a configuration variable (CV255 for Channel: 0-16, and CV254 for Power Level: 0-10), exit OPS mode, and change the throttle back to the locomotive’s DCC address.

Receiver/Transmitter Antenna Connections

For the ProMini Air transmitter, we strongly urge you to use the FCC/IC-approved Anaren “whip” antenna supplied with the transceiver that is surface-mounted to a 10-pin interface daughterboard. This whip antenna/transceiver combination is FCC/IC-approved as an “intentional radiator.” You can purchase antennas for the ProMini Air transmitter online from many sites for experimentation purposes. For fixed installations of the ProMini Air transmitter, we suggest reputable products from Linx, such as their SMA one-half wave antennas with an internal counterpoise. You can find these antennas at Digi-Key, e.g., ANT-916-OC-LG-SMA ($10.55) and ANT-916-CW-HWR-SMA ($12.85). The former antenna has a slightly better gain (2.2dBi versus 1.2dBi) but is somewhat longer (6.76″ versus 4.75″).

Linx half-wave antennas. The ANT-916-OC-LG-SMA has better gain than the ANT-916-CW-HWR-SMA at the expense of being 42% longer.

For the ProMini Air receiver or the ProMini Air transmitter where a small, remotely-mounted antenna is needed, we again recommend Linx antennas such as the ANT-916-CW-RCS or ANT-916-CW-RAH.

The ANT-916-CW-RCS is an excellent choice for a small antenna with a 3.3 dBi gain. It is available from Digi-Key or Mouser, and note the male RP SMA connector.
The ANT-916-CW-RAH is another excellent choice for a small antenna (2.2 dBi) available from Digi-Key or Mouser. The connector shown here is a male RP SMA, but male SMA connectors are also available from Digi-Key and Mouser.

 

Diagnostic Outputs

The ProMini Air receiver or transmitter provides diagnostic outputs that are not required for operation but are helpful for troubleshooting or just for fun:

  • You can monitor the transceiver’s output (in Rx mode) or input (in Tx mode) on the output DIP pins described above.
  • “I2C” outputs can drive an inexpensive two rows 16 columns I2C LCD.
The 2-pin connector provides Ground and the RF transceiver’s transmitted or received DCC signals. An oscilloscope can monitor these signals.
ProMini Air receiver/transmitter connections to an I2C LCD (older PMA version, but the connections are the same for newer versions)
Close-up of ProMini Air receiver/transmitter connections to an I2C LCD (older PMA version, but the connections are the same for newer versions)

The ProMini Air software automatically searches for a valid LCD I2C address on boot-up. Please make sure you connect only ONE display to the ProMini Air.

You can also change the ProMini Air’s DCC address using the throttle’s “OPS” mode. For the transmitter, you use the DCC throttle that connects to the ProMini Air transmitter (by default at DCC address 9900 (previously 9000)). For the ProMini Air receiver, you use the wireless DCC throttle transmitting to the ProMini Air receiver (by default at DCC address 9901 (previously 9001)). The EEPROM permanently stores the changed address, but this new address is not operative until you power cycle the ProMini Air.

Configuration and Testing

We default-configured the ProMini Air receiver and transmitter to operate on Airwire Channel 0. This default can be changed by setting the DCC address to 9901(Rx)/9900(Tx) (the default, which can be changed as described in the Users Manual) to access the ProMini Air transmitter and in OPS or Programming-on-the-Main (POM) mode setting CV255 to the desired channel. Valid channels are 0-17 for North American operation or Channel 18 (869.85MHz) for European operation.

Should the ProMini Air receiver fail to detect valid DCC packets on its default channel during startup, it will cycle through all Airwire Channels to find a Channel producing valid DCC packets. If this cycling fails to find a valid Channel, the ProMini Air receiver will change to Channel 0 and wait for a valid RF DCC signal. This channel change is not permanent, and on a restart, ProMini Air will revert to its default channel.

Several other configuration options are available through “OPS” mode programming, as described in the ProMini Air Users Manual.

We strongly urge the user to test the ProMini Air before the final deployment. At the least, an inexpensive I2C LCD can be purchased here or here (and numerous other locations) to gain some insight into the ProMini Air’s state. This display is particularly beneficial when using the ProMini Air as a transmitter.

Examples of Testing (Advanced)

This section is only for the advanced or adventurous. In the examples below, the Yellow waveform is the signal from/to the RF transceiver for Rx/Tx, respectively. The blue waveform is one channel of the resulting DCC (Rx) sent to the decoder or DCC received from the throttle via wireless transmission (Tx).

Receiver Testing

The photo below shows the ProMini Air operating as a receiver. Of course, an RF transmitter wirelessly sends DCC packets. This transmitter may be a dedicated wireless DCC throttle, such as the Airwire Tx5000. Or, it may be a transmitter that converts standard “track DCC” to wireless DCC, such as the Tam Valley Depot DRS1 transmitter or the ProMini Air used as a transmitter (as discussed in the next section)!

On the LCD, “My Ad: #” is the DCC address of the ProMini Air itself. The “(L)” means “long” address. Displayed on the second line is the Channel number and whether DCC “filtering” is “off” (Filter: 0, as shown) or “on” (Filter: 1).

Example of output from a ProMini Air receiver. The yellow signal on the oscilloscope is from the T/R DCC output pin on the ProMini Air receiver (the green PCB on the left with the red RF transceiver PCB mounted on the left end). The blue trace is the DCC signal produced by the DCC amplifier (the PCB on the right with the blue power/DCC out terminal) from inputs from the ProMini Air.

The photo below shows the oscilloscope waveforms with no valid RF DCC signal. With filtering off (Filter: 0), the DCC sent to the decoder reproduces the random pulses generated by the receiver.

The ProMini Air receiver’s outputs when receiving no valid RF DCC. The yellow signal is the RF receiver’s DCC, and the blue signal is one of the DCC outputs from the DCC amplifier that provides input to the onboard DCC decoder.

These two photos show the ProMini Air’s transceiver and DCC amplifier output when valid RF DCC is received and no valid RF DCC is received. DCC filtering is off, so the PMA outputs DCC Idle messages. The Tam Valley Depot and Gwire receivers simply reproduce the random pulses received by the transceiver.

Valid RF DCC received. The decoder DCC mirrors (blue) the receiver’s DCC (yellow).
No valid RF DCC. The PMA injects DCC IDLE messages when DCC filtering is off (Filter: 0).
No valid RF DCC. The random pulses produced by the RF receiver are reproduced by the output DCC. This is what Gwire and Tam Valley Depot receivers produce.

The user can reconfigure the ProMini Air receiver using the throttle’s “OPS” mode. Setting the wireless throttle DCC address to 9901 now shows that the Msg address (“Msg Ad: #”) matches the ProMini Air receiver’s address (“My Add: #”).

Set DCC filtering “on” by selecting the ProMini Air’s address (9901 in this case). Note that the MSG address now matches ProMini Air’s address.

Change CV246 to “1” in OPS mode, which will turn “on” the ProMini Air receiver’s DCC filtering.

In “OPS mode,” setting CV246 to “1.” The display will indicate that you changed CV246.

The display now shows that DCC filtering is “on.”

In “OPS mode,” setting CV246 to “1.” The display will indicate that you changed CV246.

Exiting OPS mode and changing the throttle to the locomotive’s address now shows an updated “Msg Ad: #” with DCC filtering “on.”

Then change the address back to the locomotive’s address. The display now shows DCC filtering is “on.”

Below is the transceiver’s and DCC amplifier’s DCC output when transmitting valid RF DCC.

Again, the receiver and decoder DCC when a valid RF DCC signal is received.

If we turn off the wireless transmitter/throttle sending RF DCC, now the transceiver outputs random pulses (yellow). Since filtering is “on,” the ProMini Air receiver firmware detects “bad” waveforms that do not appear to represent a valid DCC packet. The ProMini Air receiver then outputs a constant-level signal that causes the DCC amplifier to output a high level on DCC A (blue) and zero Volts on DCC B (not shown). This behavior is similar the that of the Airwire receivers. However, the detection mechanism for Airwire receivers is simply the lack of a sufficient frequency of DCC “IDLE” packets, not an analysis of the transceiver’s pulse train.

The waveforms when no valid RF DCC signal is received. With filtering on (Filter: 1), DCC A sent to the decoder is positive, and DCC B is zero, assuming that you set CV248 to “1”. If you set CV248 to zero, then DCC A is zero, and DCC B is positive.

Repeating the process of changing the wireless throttle’s DCC address to 9901, going into “OPS” mode, changing CV246 to “0”, exiting “OPS” mode, and changing back to the locomotive’s DCC address will now set DCC filtering to “off.”

You can repeat selecting the ProMini Air’s address and, in OPS mode, set CV246=0 to turn the filtering back off, and then set the address back to the locomotive’s.
Changing the address back to the locomotive’s address indicates that the DCC filtering is off (Filter: 0).

So, when we turn off the wireless DCC throttle/transmitter, the DCC amplifier’s output (blue) again displays the DCC IDLE messages output by the ProMini Air receiver.

Now, when no valid RF DCC is received, the ProMini Air receiver injects DCC IDLE messages amplified by the DCC amplifier and sent to the decoder.

Transmitter Testing

We now turn our attention to testing when using the ProMini Air as a transmitter.

With the same ProMini Air, the Pro Mini was re-flashed with the transmitter firmware. The “DCC Converter” PCB (the PCB on the right) converts any throttle’s DCC to Ground, +5V power, and 5V logic DCC for input to the ProMini Air transmitter (the PCB on the left).

The display will alternate between showing the ProMini Air transmitter’s DCC address (“My Ad: #”) and the transmitted DCC packet’s DCC address (“Msg Ad: #”). The transmitting Channel (“Ch: #”) and Power Level (“PL: #”) display on the second line.

Note the ProMini Air transmitter’s ID.
The LCD alternately displays the throttle’s address and the ProMini Air’s address and shows the Channel number and Power Level.

Below is an oscilloscope trace of the input DCC from the throttle (blue) and the DCC transmitted by the RF transceiver on the ProMini Air transmitter. Since the wireless DCC must keep the Airwire RF receiver “happy” with numerous DCC “IDLE” packets, the ProMini Air transmitter evaluates the incoming DCC from the throttle. When the throttle outputs frequent, redundant DCC packets, the ProMIni Air transmitter occasionally inserts DCC “IDLE” packets instead of one of the redundant packets. So, the input DCC and the transmitted DCC will not precisely match. Since DCC throttles send many redundant DCC packets, the locomotive will receive sufficient DCC packets to operate correctly.

The DCC sent out (yellow) will not precisely match the throttle DCC because of slight timing delays and the occasional insertion of DCC “IDLE” messages that are required to keep Airwire receivers “happy.”
A shorter time scale than the previous photo

You can reconfigure the ProMini Air transmitter by setting the throttle’s DCC address to 9900 (which can be changed) and then going into the “OPS” mode to set configuration variables (CV) to new values.

Setting the throttle’s address to 9900 allows the throttle to reconfigure the ProMini Air in OPS mode.

Once we have changed the throttle’s DCC address to 9900, note that the message address (“Msg Ad: #”) now matches the ProMini Air’s address (“My Ad: #”).

The display now indicates that the message address matches ProMini Air’s address.

For example, while in OPS mode, changing CV246 to “6” will reset the ProMini Air transmitter’s Power Level to 6, as indicated by the display shown below.

In OPS mode, setting CV254 to 0-10 changes the output power level, as indicated here.

After exiting the “OPS” mode, we see that the display reflects the new Power Level (“PL: #”).

The Power Level is now 6.
Note that Msg and My Address are the same.

Changing the throttle’s DCC address back to the locomotive’s address will sometimes show “Msg Ad: 255(S)”, which means that the ProMini Air transmitter sent out a DCC “IDLE” packet to make the Airwire receiver “happy.”

Changing the throttle’s address back to the locomotive’s allows the ProMini Air to insert occasional DCC “Idle” messages, indicated by a message address of 255. The IDLE message keeps Airwire receivers “happy.”

A display refresh (every 4 seconds) will most likely display the locomotive’s DCC address, 1654. The “(L)” means “long” address.

The display will alternately show the locomotive address and the ProMini Air’s address.

Conclusion and Further Information

The ProMini Air is an inexpensive and hopefully fun introduction to wireless DCC control of your model railroad locomotive!

Please contact the author on this site to purchase the ProMini Air receiver or transmitter. The cost for the ProMini Air transmitter or receiver (with their additional DCC Converter or DCC amplifier and wiring harness) is only $50.00 + shipping.

 

The ProMini Air Transmitter and Receiver are now Compatible with Stanton Cab (S-Cab)

Introduction

The Stanton Cab (or S-Cab) is a series of dead-rail transmitters and receivers developed and sold by dead-rail pioneer Neil Stanton, Ph.D. S-Cab products are available at this site.

Stanton offers a hand-held transmitter, the S-Cab Throttle, specifically designed to transmit to S-Cab RF receivers. These receivers include the S-CAB Radio Receiver (LXR-DCC) and Loco Receivers for HO, On3, On30, and some S-scale installations. Also, Stanton will provide an S-Cab receiver coupled with decoders for larger scales. The available options are discussed on the S-Cab website here.

The S-Cab Throttle and receivers operate at 916.48MHz or 918.12MHz (single frequency only!). The former frequency is close to Airwire Channel 16 (916.36MHz), and the latter is the same frequency as Airwire Channel 11. However, Airwire hand-held transmitters WILL NOT WORK with S-Cab receivers at either Channel 16 or 11. And Airwire receivers WILL NOT WORK with the S-Cab Throttle.

I successfully determined RF settings that allow the ProMini Air transmitter (PMA Tx) to operate with the S-Cab receivers (such as the LXR-DCC). So I have now added an S-Cab compatible Channel 17, and this addition required moving the European Channel 17 to Channel 18.

The specialized RF settings for Channel 17 also allow the S-Cab Throttle to transmit to the ProMini Air receiver (PMA Rx) with just a tiny wrinkle to establish communication (more about this below).

You should note that the ProMini Air interoperability is with S-Cab products operating at 916.48MHz. Contact the author should you need this interoperability at 918.12MHz.

General Discussion

Stanton designed his products to operate with intermittent transmissions from the S-Cab Throttle to the S-Cab receivers. This practice is at variance with other transmitters such as Airwire hand-held throttles, the Tam Valley Depot DRS1 transmitter, the NCE Gwire Cab, and the ProMini Air transmitter.

S-Cab Receiver Interoperability with the ProMini Air Transmitter

I used the S-Cab LXR-DCC receiver for interoperability testing with the PMA Tx. See the photo below.

The S-Cab LXR-DCC receiver

[Warning: Technical, you can skip this paragraph.] Since the LXR-DCC would NOT operate on Airwire Channel 16 (916.36MHz), I devised more specialized RF settings that allow the PMA Tx to transmit to the LXR-DCC receiver successfully. The new “S-Cab Channel 17” transmits at 916.48MHz with a reduced “deviation” frequency FDEV of 25kHz instead of the Airwire channels’ value of 50kHz. Shifting the RF transmission from the “center frequency” FC (916.48MHz in our case) by FDEV indicates a logic transition. Thus a series of pulse transitions are generated by the timing of transmitter frequency shifts: FC -> FC+FDEV -> FC -> FC+FDEV -> … This encoding technique is called Frequency Shift Keying (FSK).

The photo below shows the DCC transmissions from the PMA Tx on Channel 17 and the DCC output from the LXR-DCC. The waveforms clearly show that the PMA Tx successfully transmits to the LXR-DCC.

Demonstration that the ProMini Air transmitter (yellow waveform) successfully transmits to the LXR-DCC receiver (blue waveform) on Channel 17. Note the very slight time delay of the LXR-DCC’s waveform.

There’s not much more to say about using the ProMini Air transmitter with S-Cab receivers: set the PMA Tx to channel 17!

As a parenthetical note, Channel 17 will also work with the older Tam Valley Depot (TVD) Mk III receiver/amp and the NCE D13DJR wireless decoder. Both use the now-discontinued Linx ES Series receiver operating at 916.48MHz. Unlike the S-Cab LXR-DCC, they will also work on Airwire Channel 16.

S-Cab Throttle Interoperability with the ProMini Air Receiver

So now, let’s turn to operating the S-Cab Throttle with the PMA Rx. Since the S-Cab Throttle transmits at 916.48MHz, the PMA Rx must use its automatic “channel search” capability to “find” the intermittent transmissions at 916.48MHz with an FSK deviation frequency of 25kHz.

The S-Cab Throttle’s intermittent transmissions are where the “wrinkle” occurs. The PMA Rx’s channel search after power on quickly searches for transmissions in the following channel sequence: 0(A), 18(E), 17 (S-Cab), 1(A), 2(A), 3(A), …, 16(A), where (A) mean Airwire channel, (E) means European ISM frequency 869.85MHz, and (S-Cab) means for S-Cab at 916.48MHz.

Since the S-Cab Throttle’s transmissions are intermittent, if the operator does nothing, the S-Cab Throttle might not be transmitting in the short time window when the PMA Rx is looking for transmissions on Channel 17. So, to force the S-Cab Throttle into nearly continuous transmissions, slide the speed control up and down continuously for several seconds while the PMA Tx is powering up to guarantee the PMA Tx has transmissions on Channel 17. If the PMA Tx does not “sync up” with the S-Cab Throttle, try again by turning the PMA Tx off and then back on while sliding the S-Cab’s speed control up and down.

The video below demonstrates that the PMA is successfully receiving S-Cab transmission since the DCC address displayed by the PMA Rx matches the S-Cab’s loco address (4), and the PMA Rx auto-selected Channel 17.

Video demonstration of syncing the S-Cab Throttle with the ProMini Air receiver. Note the following: 1) sliding the speed control back and forth at PMA Tx power-on, 2) the PMA Rx’s finding transmissions on Channel 17, 3) the PMA Rx displays the correct loco address (4) with a valid DCC command, and 5) with no action (and transmissions) from the S-Cab Throttle, the PMA Rx outputs a DCC idle.

Conclusion

I have updated the ProMini Air transmitter and receiver firmware with a new Channel 17 to allow interoperability with the S-Cab throttle and S-Cab receivers. This new channel will also work with the Tam Valley Depot Mk III receiver and NCE D13DJS wireless decoder, although Airwire Channel 16 will also work with them. To make “room” for this new channel, the European channel (at 869.85MHz) has been moved to Channel 18.

Using the NCE D13DRJ Wireless Decoder with the ProMini Air Transmitter

Introduction

The NCE D13DRJ, now, sadly, discontinued, is a dead-rail DCC decoder that originally touted compatibility with the Stanton Cab. You can find the decoder’s documentation here. The following is a description from NCE’s website (some of the information may not be accurate):

Dimensions: 1.30 x 0.640 x .285 inches – 33 x 17 x 7.5mm

Direct Radio Wireless DCC decoder operating at 916.50 MHZ [916.48MHz]

Features of this decoder: Built-in radio compatible with the S-Cab by Stanton Wireless, Equipped with NMRA 9 pin DCC ‘Quick Plug’ Torque Compensation for ultra smooth low-speed performance. Motor rating 1.3 Amp continuous, 2 Amp peak (stall)  All four function outputs have lighting effects generators. Select from 15 different lighting effects. Full support for LED lighting.

The D13DRJ is designed to be used with Stanton Wireless A.K.A. S-Cab since he uses the exact same wireless chip and frequency we use 916.50 [916.48MHz] MHZ. Tam Valley claimed that even though the receiver they use is 916.37 that it would work fine. We had to find someone with a CVP T5000 for compatibility testing. Originally we relied on CVP’s claim of compatibility but have found that it is not true. [This statement is not entirely correct. See comments below.] We have changed our website and documentation to reflect this.

Examination of the NCE D13DRJ revealed it uses the same receiver chip (the Linx RXM-916-ES operating at 916.48MHz) as the older Tam Valley Depot Mk III receiver, which I previously verified works with the ProMini Air transmitter (PMA Tx) on Airwire Channel 16 (916.37MHz). So, I was optimistic that this decoder would work the PMA Tx.

NCE D13DRJ with Linx RMX-916-ES transceiver operating at 916.48MHz

Using the ProMini Air Transmitter to Control the NCE D13DRJ

The photo below shows the PMA Tx connected to a Digitrax DCS52 controlling locomotive #4291. I set the PMA Tx to transmit on Channel 16 by placing the DCS52 in ops mode at address 9900 and then changing CV255 to 16. After exiting ops mode, I set the loco address back to 4291. 

The ProMini Air transmitter connected to the Digitrax DCS52 set at DCC address 4291

Simultaneously, the Digitrax LNWI, connected to the Digitrax DCS52 via Loconet, receives commands from the iPhone WiThrottle app controlling locomotive #3 (the default address for the NCE D13DRJ).

The PMA transmitter is sending commands to the DCS D13DRJ on DCC address 3

Below is a demonstration that the NCE D13DRJ receives commands from the PMA Tx using DCC commands from the iPhone’s WiThrottle. While it’s difficult to discern the motor’s turning, the accelerations/decelerations when changing direction are easy to observe.

The iPhone WiThrottle app sends DCC commands to the Digitrax DCS52, which in turn transmits DCC commands to the DCS D13DRJ via the ProMini Air transmitter on Airwire Channel 16

Conclusion

The PMA Tx is demonstrably capable of controlling the NCE D13DRJ. While NCE has discontinued the manufacture of this decoder, it is frequently available on eBay and is an excellent dead-rail decoder option for smaller scales.

PostScript: A Note about Airwire Compatibility

The CVP Airwire T5000 transmitter (and presumably all other CVP Airwire transmitters) partially works with the NCE D13DRJ on Airwire Channel 16: speed and direction control work reliably, but the function keys do not operate consistently. The cause for this behavior is unknown; I have never encountered this kind of incompatibility before.

A Smaller DCC Amplifier: The AdaFruit DRV8871

Introduction

My default DCC amplifier solution is the Cytron 13A DC Motor Driver MD13S, available on Amazon and other sources. The MD13S provides more output (13A continuous) than almost any amplifier available for dead-rail use. However, the Cytron’s size (33mm(W) x 61mm(L) or 1.3”(W) x 2.4”(L)) may be an issue for some applications.

In searching for a more miniature DCC amplifier for the ProMini Air (PMA) receiver, I came across the Adafruit DRV8871 DC Motor Driver Breakout Board (1”(L) x 0.8”(W) x 0.4”(H)) with a maximum output of 3.6A: good specs in a small package.

You can obtain this device from the following sources:

However, the DRV8871 cannot be used “out of the box.” Some slight modifications are necessary, as described next.

Modifications

The DRV8871 must have two opposite-polarity inputs. The PMA’s +5V logic DCC output is input to the DRV8871 on IN1. To provide an inverse input on the DRV8871’s IN2 input, I used a 2N2222 “inverter” to invert the PMA’s +5V logic DCC output. The photos below show how this inverter is constructed and interfaced with the DRV8871. 

First, I added a 30K resistor parallel to the board-mounted 30K current-sense resistor to drop the total current sense resistance to 15K, allowing the DRV8871 to produce its maximum current of 3.6A. 

Next, I soldered a 1K resistor, RB, to a shortened lead on the transistor Base of a 2N2222 NPN transistor. Then I soldered (see picture below), from bottom to top, the transistor Collector (IN2), resistor RB (IN1), and transistor Emitter (GND) in place with the transistor legs soldered flush with the bottom of the PCB. I passed resistor RB’s free end through the IN1 hole and back out and soldered it to IN1. I soldered the Bk (PMA GND) to the emitter leg, Ye (PMA +5V logic DCC) is soldered to the resistor RB’s extended lead connected to IN1 and soldered Wh (PMA +5V) to resistor RC (1K), whose opposite end I soldered to the collector’s leg. That’s it for the modifications!

Modifications to create opposite polarity inputs

A bottom view shows how RB connects to IN and Ye (PMA +5V logic DCC).

Bottom view of modifications

Next, I wrapped the DRV8871 PCB with a large diameter heat shrink applied over the input components. This arrangement provides a compact DCC amplifier capable of delivering 3.6A. 

The product in use

Below is an oscilloscope trace of the input and output of the DCC amplifier. As you can see, the amplified waveform (blue) matches the input waveform (yellow) well.

Comparison of the ProMini Air receiver’s input (yellow) to the DRV8871’s and the DRV8871’s DCC Track Right output (blue) to the DCC decoder

Below: The amplified Track Right (blue) and Track Left (yellow) output by the DRV8871 demonstrate proper opposite-polarity DCC is produced.

The DRV8871’s Track Right (blue) and Left (yellow) outputs demonstrate proper opposite-polarity, full voltage DCC is delivered to the DCC decoder.

Surge Current Protection

When power is turned on, some decoders, such as those made by Zimo, induce large “surge currents” that will cause the DRV8871 amplifier to shut down. Other decoders, such as those made by ESU (LokSound), do not.

There is a simple solution to prevent possible surge current-induced shutdown by placing a low resistance, high wattage resistor in series with one leg of the DCC8871’s amplifier output. A 1 Ohm, 2 Watt resistor appears to work well, obtained from numerous sources. CVP Airwire documentation for their CONVRTR-25 receiver/amp recommends the same solution. See the photos below. All DRV8871 amplifiers obtained from the author will provide this resistor.

A 1 Ohm, 2 Watt resistor connects to one output of the DRV8871 amplifier to prevent large surge currents caused when the decoder turns on.
DRV8871 amplifier with surge current protection

Conclusion

The Adafruit DRV8871 DC Motor Driver Breakout Board provides the following advantages:

  • small size: 1” x 0.8”
  • reasonable cost: less than $10 US directly from Adafruit
  • adequate power: 3.6A max

Only a small amount of modification is required to make the DRV8871 usable with the ProMini Air receiver to provide a compact DCC amplifier for dead-rail applications. I hope this offering provides you with more amplifier options!

The modified DRV8871 is available directly from the author, with a modest mark-up from the unmodified DRV8871’s cost.

Dead-Rail with Smartphone Apps for CVP Airwire, Tam Valley Depot, Gwire, and ProMini Air Receivers

Typical configuration using smartphone/tablet throttle app with dead-rail

Introduction

Numerous excellent posts (here and here) describe how to use a smartphone to control model railroad locomotives, frequently using a “standard” DCC throttle or “station” as an “intermediary” that interlaces DCC commands from multiple sources and applies the resultant DCC power/signals to tracks that are picked up by one or more locomotives’ wheels electrically connected to a DCC decoder.

After reviewing these posts and understanding how this technique works, it’s a nearly effortless step to replace “DCC on the tracks” with wireless DCC transmissions to multiple locomotives. This “dead-rail” (battery-powered, radio-controlled) technique allows multiple locomotives to be simultaneously controlled from multiple throttles, be they smartphone apps or “standard” DCC throttles.

To be more specific, with minimal effort, it’s possible to use smartphone apps, such as WiThrottle, in conjunction with standard DCC throttles to control multiple dead-rail locomotives equipped with RF receivers from CVP (Airwire), Tam Valley Depot (DRS1 MkIII and MkIV), QSI (GWire), and OscaleDeadRail (ProMini Air). Using other apps is also feasible, but I will confine this post to my personal experience and give you a specific example of how I accomplished this goal.

What’s Required

Of course, you will need to load a smartphone throttle app such as WiThrottle. Other apps are also for Android and iOS. For communication from the smartphone app to a standard DCC throttle, I selected the Digitrax LNWI WiFi Interface that connects via LocoNet to my Digitrax DCS52. Similar solutions are available for NCE DCC throttles using WiFiTrax and numerous other DCC throttle purveyors.

Finally, a ProMini Air transmitter (abbreviated PMA Tx), interfaced to the DCS52 Track Right/Left output by a DCC Converter, is used as the dead-rail transmitter. This transmitter is compatible with multiple dead-rail receivers such as CVP Airwire, Tam Valley Depot (Mk III and Mk IV), Gwire, and the ProMini Air.

The ProMini Air transmitter is not merely a passive component in converting track-DCC to wireless DCC transmissions. It attempts to add a sufficient number of DCC “Idle” messages to the transmissions to keep CVP Airwire receivers “happy.” Otherwise, CVP Airwire receivers are not likely to respond correctly to wirelessly-transmitted DCC. This feature makes the ProMini Air transmitter unique among similar products that convert track-DCC to wireless DCC transmissions.

Putting it Together

The photo below shows the connections. If you think about it, the only aspect that is different from using track-based DCC and dead-rail is that the Track Right/Left output from the DCS52 throttle is connected to the ProMini Air wireless transmitter (via the DCC converter that provides the ProMini Air with 5V power and logic-level DCC) rather than to actual tracks – that’s all!

The connections for simultaneous dead-rail control by a smartphone app and a standard DCC throttle

I will now walk you through the steps I used to create the demonstration below.

Connect the ends of the LocoNet cable to the LNWI and the LocoNet port on the back of the DCS52. Plug the power into the LNWI, and connect the smartphone to the network provided by the LNWI. Then select the WiThrottle app, which has excellent instructions for choosing a locomotive’s address and configuration. In our case, we use the app to select DCC address #5000, which is a Z-5 with a ProMini Air receiver connected to a Zimo MX696KS DCC decoder.

Then we use the DCS52 throttle to select our Cab Forward with a ProMini Air receiver connected to a LokSound 4 L decoder at DCC address #4292. Once you turn on track power (which sends DCC to the ProMini Air transmitter instead of the tracks), the DCS52 throttle will start interlacing DCC commands for locomotives #5000 and #4292, sent out wirelessly by the ProMini Air transmitter. See the photos below that demonstrate this interlacing.

The PMA’s LCD shows the wireless transmission of a DCC packet to locomotive #4292 originally from the DCS52 throttle
The PMA’s LCD shows the reception of a DCC packet from the smartphone app for subsequent wireless transmission to locomotive #5000

Demonstration

Once you power on the locomotives, they listen and respond to DCC commands that match their DCC address, as shown in the video below.

Demonstration of the Z-5 (#5000, left) controlled by the WiThrottle app and the Cab Forward (#4292, right) directed by the DCS52

Conclusion

I hope you will agree that allowing one (or more!) smartphones/tablets and “standard” DCC throttles or control units to control multiple locomotives by wireless is not complex at all, and that’s part of the power and appeal of dead-rail.

Dead-Rail Conversion of an O Scale MTH 2-Rail SP AC-6 Cab Forward, 4-8-8-2 (MTH 22-3709-2)

Introduction

I purchased this beauty on eBay (from Australia!) circa September 2021 because it had scale profile wheels that allowed 2-rail DCC operation with a PS3 board. My past experiences converting O Scale 2-rail MTH locomotives are happy ones, and this conversion was no exception. This time, I decided to add a little wrinkle by retaining track-based 2-rail DCC operation, and I’ll show you how I accomplished this.

MTH AC-6 Cab Forward details

Conversion Process for Track or Radio Controlled DCC Operation

The entire conversion centered around the tender – the locomotive was entirely untouched.

I mentioned in the Introduction that I wanted to retain the 2-rail track-powered operation, so after removing the tender shell (which is very easy: remove four screws, and you’re in!) I concentrated on the 2RAIL/3RAIL switch shown diagrammatically and pictorially below:

                        TOP VIEW OF SWITCH
          		     3RAIL
  Center loco roller (Br) ->|    |<- (Bk) Rt tender wheels
          PS3 (Tk R) (Re) <-|    |<- (Gy) Lt tender wheels/tender frame/loco Lt wheels -> (Gy) PS3 (Tk L)
    Rt tender wheels (Bk) ->|    |<- NC
                             2RAIL

2RAIL/3RAIL switch top view inside the tender (original installation)
2RAIL/3RAIL switch top view inside the tender (initial installation)
2RAIL/3RAIL switch bottom view underneath the tender. Note: I changed the “3RAIL” to “RA” (for radio control).

Depending on switch position, the “two-position” switch electrically connects the center row of terminals to either the top (3RAIL) or bottom (2RAIL) row of terminals. The two columns of the switch are electrically isolated; i.e., each terminal in a row electrically isolates from the other.

From this “switchology,” it’s apparent that the “track left” comes from several locations on the center-right terminal, and one wire goes from this terminal to the PS 3 board. The “trick” is to move the several “track left” wires to the bottom-right switch terminal where “NC” was and leave the one grey wire leading from the center-right terminal to the PS3 board in place. Then, disconnect the wires on the top posts (originally for 3RAIL operation) and attach the DCC Track Right/Left outputs from the DCC amplifier that is in turn connected to the ProMini Air receiver that collects RF DCC. Voila!

                        TOP VIEW OF SWITCH
          		      RA (for radio control)
       Radio Control Tk R ->|    |<- Radio Control Tk L
          PS3 (Tk R) (Re) <-|    |-> (Gy) PS3 (Tk L)
    Rt tender wheels (Bk) ->|    |<- (Gy) Lt tender wheels/tender frame/loco Lt wheels
                            2RAIL

Dead-Rail Components Installation

The original tender electronics installation

Several Battery-Powered/Radio Controlled (BPRC or “Dead-Rail”) components required addition: an antenna, a power switch, a charging plug, a 14.8V battery, the ProMini Air receiver, and a DCC amplifier. From the picture above, you can see that the prominent speaker takes up a lot of real estate that we need for our Dead-Rail components. Sadly, the speaker had to go, replaced by a smaller speaker that I mounted in place with 2-sided tape.

The Tenergy 4S1P 14.8V battery has an extended, thin profile that makes the tight fit in the tender. The ProMini Air receiver and the Cytron MD13S DCC amplifier fit nicely on the forward sides of the tender interior.

Tender Dead-Rail installation

Antenna installation was easy, requiring drilling a small hole through the bottom of the tender. The ANT-916-CW-RCS is an excellent choice for a small 915 MHz antenna with 3.3 dBi gain. It is available from Digi-Key or Mouser. 

ANT-916-CW-RCS Antenna installation on the bottom of the tender

I installed the charging plug in an empty hatch opening (with a bit of filing of the original opening) on the top of the tender and repurposed the “DCC/DCS” switch as the Dead-Rail “on/charging” switch.

Charging plug and Dead-Rail on/off switch on the top of the tender
Repurposed switch for Dead-Rail on/charge

Conclusion

Conversion of the O Scale MTH AC-6 Cab Forward was rewarding and straightforward. See the video below for the “proof in the pudding.”

Demonstration of Dead-Rail operation. Note the slight flickering of the lights is an artifact of the video sampling process.

Dead-Rail Conversion of a Sunset 3rd Rail (3-Rail) 2-6-6-6 Allegheny

Introduction

This Sunset 3rd Rail (3-Rail) 2-6-6-6 Allegheny was purchased on eBay in March 2021.

Box information

While perusing the Zimo sound projects, I found the only Allegheny sound file that I’m aware of by Heinz Daeppen. I was very excited to try it out!

Dead Rail Conversion Outline

The dead rail conversion involved the following steps, most of which have been described in other posts:

  • Removal of center-rail pick-ups
  • Cutting down the 3-rail flanges on the locomotive drivers and all locomotive and tender wheels to approximate 2-rail flange profiles
  • Fan-driven smoke unit installation
  • Replacement of all lighting with LEDs: front/rear lights, marker lights, cabin light, and firebox glow
  • Zimo MX696KS DCC decoder installation in the locomotive with a Zimo coded Allegheny sound project from Heinz Daeppen (detailed information can be found here).
  • Dead rail components installation in the tender: battery, power switch, charger plug, antenna, ProMini Air wireless receiver, and DCC amplifier

Sound Project Additions

I made the following additions to Daeppen’s superb sound project:

  • F3: Turn on/off maker lights
  • F4: Turn on/off firebox light (a red LED with a random pulsing)
  • F5: Turn on/off the cabin light
  • F6: Turn on/off the fan-driven smoke unit

Photo Gallery of the Dead Rail Installation

Cut down flanges on front drivers
Cut down flanges on rear drivers
Cut down flanges on trailing truck
Cut down flanges on leading truck
Cut down flanges on the tender’s trailing truck
Cut down flanges on the tender’s leading truck. The Hall sensor was NOT used for synchronizing the steam chuffs.
Smoke unit and mount side view. The smoke unit is a Lionel 6108057200.
Smoke unit and mount front view
Smoke unit and mount top view
Smoke unit and mount bottom view as installed
Smoke unit and mount front view as installed. The bottom brace was later narrowed to fit in the slot formed by the thick brass mounting plate.
Kadee coupler mount side view
Dead rail components tender installation bottom view: antenna, power switch, and charging plug
Dead rail components tender installation top view: antenna connector, power switch, and charging plug
Dead rail components tender full installation top view. Note the ProMini Air receiver on the upper left of the tender shell and the DCC amplifier on the lower left of the tender shell.
Dead rail components locomotive full installation. Note the plastic cover over the transmission belt to prevent wiring from tangling with the drivetrain. A Zimo MX696KS DCC decoder with a coded Allegheny Sound file from Heinz Daeppen was installed.

Conclusion

As the photos above attest, this dead rail conversion was not too difficult, fostered by the large size of the locomotive and tender.

Demo. The coded Zimo Allegheny sound project from Heinz Daeppen is outstanding! See this information on the project.

Dead-Rail Conversion of an MTH 2-Rail O Scale 4-6-2 K-4S

Presents the dead-rail (battery power, radio control) of an MTH O scale, 2-Rail K-4s steam locomotive with PS-3.0.

Introduction

I obtained this 2-rail O scale MTH 4-6-2 K-4S (MTH 20-3473-2) on eBay circa November 2020. This model is unusual because it’s a 2-rail version with “scale wheels” and is equipped with a PS-3.0 control board that can operate in either DCS or DCC mode.

Box information on this locomotive

The Good News: No extensive 3-rail to 2-rail conversion was necessary, and no new DCC decoder was required.

The Bad News: This locomotive contained a PS-3.0 board in the tender I had not seen before. Also, this was my first conversion of a 2-rail MTH locomotive. I had a few issues to learn!

Close-up of MTH PS-3.0 board for the MTH K-4s

Well, let’s seen how to proceed to convert this loco to DCC dead-rail operation.

Analysis of the Electrical Connections

I’ve done several MTH 3-rail conversions with PS-3.0 boards. Still, this locomotive was designed quite differently: it has a switch to select 2-rail or 3-rail operation (a potential problem) and another switch for DCS/DCC operation (easy to take care of).

Bottom view of tender showing switches and electrical pick-ups. Before dead-rail modification the grey wire connected the rear left wheels’ voltage to the tender frame, and the brass spring connected the front right wheels’ voltage to the black wires inside the tender.

This is a bit complicated. With this original design, the tender frame assumes the voltage from the tender’s uninsulated rear left wheels (whose right wheels are insulated) via a grey wire connected to the tender frame, which under 2-rail operation is “DCC track left” inputs on the PS-3.0 board. The right track’s voltage is picked up through the copper pickups connected to the tender’s uninsulated front right wheels (whose left side is insulated) and is connected by black wires inside the tender. In 2Rail operation, the 2Rail/3Rail switch will connect these black wires’ voltage to “DCC track right” on the PS-3.0 board.

Under 3Rail operation, the left/right rails are connected electrically as ground or “DCC track left” (and the frame is now either ground or DCC left rail voltage). A grey wire from the locomotive (which is electrically connected to the locomotive’s center roller pick-ups) is connected as “hot” or “DCC track right.”

In the original design, several grey wires are connected to the tender frame to pick up the “DCC track left.” Our job is to completely isolate both DCC track right and track left so that the DCC amplifier that we add will be the only source of DCC, completely isolated from the tender frame, which will become our battery ground.

We always want to operate in DCC mode, so we need to disable DCS operation permanently.

The following images demonstrate the modifications I made to isolate all DCC from the frame and permanently enable DCC operation.

These images show several important conversion steps:

  1. Cut and seal off the two wires connected to the DCS/DCC switch. This will permanently enable DCC operation.
  2. Cut and seal off the grey and red wires to the center posts on the 2Rail/3Rail switch to ensure the DCC track’s total isolation right and left from any other electrical connections. This step will ensure no unexpected connections because of this switch’s setting.
  3. Disconnect the two grey wires mounted to the tender frame by one of the mounting screws holding the PS-3.0 in place. One of the grey wires goes to the underside connector on the PS-3.0 board, and it needs to be connected to the DCC Amplifier’s “DCC Track Left” output. The other grey wire that is electrically connected to the tender’s left wheels should be sealed off. This step electrically-isolates the tender frame from any other electrical connections, allowing it to act safely as a ground.
  4. Provide DCC “Track Right/Left” connections from the DCC amplifier (which we will add) to the two grey (DCC Track Left) and two red (DCC Track Right) inputs on the PS-3.0 board. We mentioned one of these connections in step 3, and the other pair of DCC “Track Right/Left” inputs go to the “Track” connector on the side of the PS-3.0 board.
Wiring modifications to isolate DCC from the tender frame and permanently enable DCC operation
Isolation of DCC track left from the tender frame

We need to move the PS-3.0 board forward slightly to make room for the battery, antenna mounting, battery switch, and charging plug. Also, we need to bend down the right side of the PS-3.0 board to provide sufficient clearance for the RF receiver/DCC amplifier that will be mounted on the inside top of the tender shell above the PS-3.0 board.

Also, I removed the two super-capacitors on the PS-3.0 board. The locomotive will then immediately turn off when battery power is turned off: we have no worries that power will be temporarily interrupted as with track power. I like the locomotive to turn off when I disconnect power. This is not a required modification!

Moving the PS-3.0 board forward to accommodate the battery
Cuts of 2Rail/3Rail switch wires and charging plug mount
The 2Rail/3Rail switch center posts are disconnected
New DCC connections from DCC amplifier to two plugs on the PS-3.0 board
DCC connection to the underside of the PS-3.0 board. This image’s purpose is only to show one of the two plugs where DCC inputs to the PS-3.0 board.

Dead-Rail Additions

The tender modifications to add a 14.8V LiPo battery, antenna mount, battery switch, and charging plug can be seen in several images above. There is nothing unusual about these additions.

I used a Tam Valley Depot DRS1, Mk IV receiver with a U.FL external antenna plug rather than my ProMini Air receiver and separate DCC amplifier because of space considerations. The Tam Valley’s DCC “Track Right/Left” outputs are connected directly to the two “track right/left” inputs on the PS-3.0 board (on the side and bottom connectors of the PS-3.0 board), as shown in the images above.

Conclusions and Warnings

I cannot emphasize enough the need for complete isolation of the tender frame ground from the DCC voltages output by the DCC amplifier that provides inputs to the PS-3.0 board. If you inadvertently leave a connection of tender frame ground to DCC left (from various grey wires), you may cause a severe short circuit, or the PS-3.0 board will not operate properly. Trust me, I know from a couple of bitter experiences…

Still, this was a fun and reasonably-easy dead-rail conversion, especially so since I didn’t need to modify the locomotive at all.

Here’s the final video of the fully assembled dead-rail locomotive. The PS-3.0 provides a number of DCC functions including:

  1. Directional lighting on/off (F0)
  2. Bell (F1)
  3. Horn (F2)
  4. Start-up/Shutdown (F3)
  5. Passenger/Freight Announcements (F4)
  6. Marker/cabin/firebox lights on/off (F5)
  7. Speaker volume (F6)
  8. Smoke unit on/off (F12)
  9. Smoke unit volume control (F13)
  10. Numerous other features (F0 through F28 are all active). See the Users Manual for extensive details.
Locomotive with final dead-rail installation

Thanks for dropping by!

Dealing with Decoder “Boot-up Jerk” Behavior when Using the ProMini Air Receiver

Introduction

I have the benefit of some beta great testers for the ProMini Air receiver, and one of them has reported an issue that I’d like to show you how to address.

The problem is this: when you first power up the locomotive (and the onboard ProMini Air receiver and its DCC amplifier), sometimes the locomotive briefly “jerks” before “settling down” with standard control by wireless DCC commands. Uh oh.

The Cause of the “Boot-up Jerk”

The ProMini Air receiver uses a Pro Mini Microcontroller Unit (MCU) with “bootloader” firmware. Now, bootloaders are useful because they allow you to download the firmware with a simple and inexpensive “FTDI” break-out board that connects between your computer (via USB) and the ProMini MCU (via its 6-pin connector on one end of the board). You use the FTDI board as described in my previous post to very simply download firmware updates using the Arduino IDE.

As useful as boot loaders are, they have downsides: they consume memory (not a problem for us here), and they consume time on boot, which IS a problem for us. The latest versions of the software/firmware for the ProMini Air receiver have reduced the boot-up time significantly from previous versions. Still, you just cannot get around the time consumed by the bootloader during boot-up.

The boot-up process does not take long: less than two seconds, but during that time delay, the Pro Mini MCU is sending out a zero control voltage to the DCC amplifier. Well, what does the DCC amplifier do with this zero input voltage? Plenty. The DCC amplifier’s job is to convert 5V “logic-level” DCC to DCC Track Right/Track Left, each with an opposite “polarity” from the other. With a “low” input from the Pro Mini MCU, the DCC amplifier outputs a “high” voltage on one track output and a “low” voltage on the other.

Once the DCC amplifier sends this brief but steady high/low pair of voltages to the DCC decoder, this is where the fun begins. DCC waveforms are a sequence of pairs of high/low or low/high pulses with a total duration of about 116 microseconds to encode a DCC “1” and about 200 (or more) microseconds to encode a DCC “0”. I’ll resist the temptation to discuss DCC waveforms and how they make up a DCC “packet” that is a complete command to the decoder. Suffice it to say, the output from the DCC amplifier does NOT look like a DCC waveform for the brief period of time while the ProMini Air boots up!

For some configuration settings, the DCC decoder will interpret the “boot-up DC” from the ProMini Air receiver/DCC amplifier as a command to proceed while the DCC decoder is waiting for DCC packets to show up that will tell it how to behave – thus, the “boot-up jerk.” This temporary “DC command to proceed” doesn’t last long, but it’s undesirable behavior.

The Solution(s)

I will provide two solutions to the “boot-up jerk.” The first involves setting decoder Configuration Variables, and the second involves reloading the Pro Mini MCU firmware is a special way.

Solution #1

DCC decoders are familiar with what to do with inputs that “look” like DC inputs, and how they respond is controlled by how you configure the DCC decoder.

First, we’ll talk about what DCC decoders might do with brief DC inputs, and then we’ll talk about how to change the configuration. Some DCC jargon will be unavoidable.

The user controls the configuration of the DCC decoder by “programming” the values of configuration variables (CV) persistently stored in the decoder. You may “program” the decoder in several ways, but perhaps the simplest is called “Programming on the Main” (PoM) that virtually all DCC decoders will accept. In this mode, you can stop the locomotive (you’re not required to do so, but I do), and then place the DCC throttle into “PoM” mode. You then select a CV number (a value that is usually between 1 and 512 or so), and then you enter the value (always a number between 0 and 255) that goes into the CV’s “slot.”

One of the essential Configuration Variables for a DCC decoder is CV29. Inside CV29’s value (which is only one byte, or a sequence of eight ones and zeroes, in size) are several vital settings such as using a short or long address (bit 5 = 0 (short) or 1 (long)). Our interest is in bit 2 of CV29. If CV29, bit2=1, then the decoder will accept “analog” input as a power source, which causes the “boot-up jerk” problem because CV29, bit2=1 tells the decoder it’s OK to act on non-DCC inputs; e.g., DC input.

If, however, you set CV29, bit2 to 0, then the decoder ignores many forms of “non-DCC” input, including the “boot-up DC” we’ve been discussing. I say “many,” but not “all,” because users sometimes set CV27 bits for fancy “braking” schemes, where the locomotive will stop or continue if it senses the discontinuance of DCC waveforms and senses DC on either the left or right rail. These CV27 options, however, are supposed to come into play after DCC has been received for some time and then receives DC (“DCC before DC”), which is NOT the circumstances we are trying to handle of “DC before DCC.”

So, that’s Solution #1: set bit2 of CV29 to 0 (CV29=binary 00xxxx0xx where x might be 1 or 0 depending on the desired configuration controlled by CV29). You should exercise great care should when changing the value of CV29. You can cause the addressing scheme to switch from long address to short or vice versa by changing CV29, bit5, in which case the decoder will no longer respond to the previous address! Please be careful! Regardless of what else you are doing, if you are using a long address, MAKE SURE THE VALUE OF CV29 is EQUAL TO OR BIGGER THAN 32 (32=binary 00100000) AND LESS THAN OR EQUAL to 63 (63=binary 00111111)!!! If you are using a short address, MAKE SURE THE VALUE of CV29 is LESS THAN OR EQUAL to 31 (31 = binary 00011111)!!! We are dealing with multi-function decoders, so bits 6 and 7 are not relevant to us, and you should set both bits to 0.

Some of the user interfaces for programming decoders, such as ESU and Zimo, can set CV29, bit 2 for you but couch the change in various ways, with options such as turn on/off responding to “Analog DC” and “Digital DC” (whatever that difference means). For instance, when you turn off the responding to “Analog DC” and “Digital DC” using ESU’s LokProgrammer, the software sets CV29, bit2 to 0, and sets CV50 to 0. Taking a careful look at your decoder’s user manuals may help set other CV’s that might be involved. Usually, however, only setting CV29, bit2=0 takes care of the problem.

Just for fun, here is what the NMRA Standard S-9.2.2 says about CV29:

Configuration Variable 29 Configurations Supported

Bit 0 = Locomotive Direction: “0” = normal, “1” = reversed. This bit controls the locomotive’s forward and backward direction in digital mode only. Directional sensitive functions, such as headlights (FL and FR), will also be reversed so that they line up with the locomotive’s new forward direction. See S-9.1.1 for more information.

Bit 1 = FL location: “0” = bit 4 in Speed and Direction instructions control FL, “1” = bit 4 in function group one instruction controls FL. See S-9.2.1 for more information.

Bit 2 = Power Source Conversion: “0” = NMRA Digital Only, “1” = Power Source Conversion Enabled, See CV#12 for more information,

Bit 3 = Bi-Directional Communications: “0” = Bi-Directional Communications disabled, “1” = Bi-Directional Communications enabled. See S-9.3.2 for more information.

Bit 4 = Speed Table: “0” = speed table set by configuration variables #2,#5, and #6, “1” = Speed Table set by configuration variables #66-#95

Bit 5 = “0” = one byte addressing, “1” = two byte addressing (also known as extended addressing), See S 9.2.1 for more information.

Bit 6 = Reserved for future use.

Bit 7 = Accessory Decoder: “0” = Multifunction Decoder, “1” = Accessory Decoder (see CV #541 for a description of assignments for bits 0-6)

*Note If the decoder does not support a feature contained in this table, it shall not allow the corresponding bit to be set improperly (i.e. the bit should always contain its default value).

I hope you’re happy I interpreted the standard a bit for you.

With Solution #1, all DCC decoders I’ve tried (ESU, Zimo, MTH) start-up without the “boot-up jerk,” even though the brief “boot-up DC” is present.

Solution #2

So what’s solution #2? Reload the firmware into the Pro Mini MCU using an “AVR ISP,” such as the Sparkfun Pocket AVR Programmer or a less-expensive clone. This “ISP” downloading mode will bypass and erase the bootloader to directly load the firmware into the Pro Mini MCU. On boot-up with the bootloader now erased, the Pro Mini MCU will almost instantly supply “5V logic DCC” to the DCC amplifier, which in turn, provides the DCC decoder with standard DCC waveforms. There is no “boot-up DC” to speak of and no need to set CV29, bit2=0. (I set it anyway.) With Solution #2, all DCC decoders I’ve tried (ESU, Zimo, MTH) start-up without the “boot-up jerk.”

This “ISP” form of loading firmware is not as extensively used by folks using the Arduino IDE, but ISP loading is easily accessible within the Arduino IDE. The overly-brief method of ISP programming steps are the following:

1. Connect the USBtinyISP Programmer to the following six Pro Mini pins: GND, RST, VCC, SCK (pin 13), MISO (pin 12), and MOSI (pin 11). Be sure the “power the target” switch is set so that the USBtinyISP will supply power to the Pro Mini MCU. I have developed a very simple Pro Mini ISP Programming Board that I will make available at a nominal cost (<$3.00+shipping). This board has a pair of pins for optional GND/VCC power input because some ISP programming boards, unlike the USBtinyISP, do NOT provide +5V DC power.

Pro Mini MCU connections to a USBtinyISP for loading firmware without a bootloader.
Pinout for USBtinyISP programmer.
USBtinyISP connections to the Pro Mini MCU using a programming board available from the author.

2. From the Arduino IDE, Select Tools → Programmer → “USBtinyISP”

3. Select the AirMiniSketchTransmitter sketch.

4. Select Sketch → Upload using a Programmer.
The Arduino IDE will then compile the sketch and download the resulting firmware to the Pro Mini via the USBtinyISP, bypassing (and erasing) the bootloader. 

Wrap-Up

So there you have it: a “start-up jerk” problem caused by the bootloader time delays of the ProMini Air receiver’s MCU and two solutions that I know to work for at least several brands of DCC decoders: ESU, Zimo, and MTH. Other brands should work with either solution as well.

What’s my choice? Go with Solution #1 if you can. Setting the CV’s is pretty straightforward. Downloading firmware is more challenging but more “guaranteed” to work. We try to make everyone happy.

In the future, if you obtain the ProMini Air kits from either BlueRidge Engineering or by contacting me, you will be given the option of whether we provide a Pro Mini MCU with the bootloader or not.

Thanks for stopping by!

Dead-Rail Range Improvement with a Wireless Repeater

A simple repeater using two ProMini Airs. A ProMini Air receiver picks up DCC transmissions on a channel in the 433MHz ISM band, and its 5V logic level DCC/GND output is directly connected to an 869/915MHz ProMini Air transmitter’s DCC/GND input. The 869/915MHz ProMini Air’s wireless DCC transmissions are picked up by DCC receivers onboard a locomotive.
A DCC repeater in action. The transmissions from the repeater’s ProMini Air 869/915MHz transmitter are picked up by the ProMini Air receiver located in the tender of the Cab Forward. The Base Station’s 433MHz ProMini Air transmitter sends wireless DCC to the repeater’s 433MHz ProMini Air receiver that is directly connected by wire to the repeater’s 869/915MHz ProMini Air transmitter.

The Range Performance Problem in Dead-Rail

An often-heard complaint in Dead-Rail is wireless range performance. The regulatory limits on transmitting power in the unlicensed “ISM” (Industrial, Scientific, and Medical) bands used for Dead-Rail applications force dead-rail transmitters to emit at low power, usually in the few milliwatts range. By contrast, licensed amateur radios can transmit at tens of watts!

Many radio-control applications work well with low-power transmitters because of either short transmission range or unobstructed line-of-sight between the transmitter and receiver. However, we often do not have these luxuries in our Dead-Rail applications, where we have huge layouts and line-of-sight obstructions.

OK, enough of the problem. Let’s get to a reasonably simple solution: a repeater.

Making a Simple Dead-Rail Repeater

There are many ways to make a repeater. I’ll discuss a very simple (simple-minded?) repeater design that is easy for us to implement in Dead-Rail using ProMini Air transmitters and receivers that I have described in a previous post.

The idea for my design of a Dead-Rail repeater is straightforward: receive transmissions from an often-weak signal at one RF frequency and retransmit this signal at full power at another RF frequency to prevent interference with the reception of the weak signal at the received RF frequency. So, right off the bat, you see that you need a wireless receiver operating at one RF frequency, a wireless transmitter operating at a different RF frequency, and a wired connection between the two to send 5V logic-level DCC from the receiver to the transmitter.

Repeater Base Station

Before we get to the actual repeater, let’s discuss a tiny variation in the transmitter “base station” that will give us a better transmission range than typical Dead-Rail transmitters that operate in the 869/915MHz ISM bands. The idea is to initially transmit in the 433MHz ISM band, which is legal in many parts of the world, especially in Europe. Contrary to popular perceptions, it is legal to transmit in North America in the 433MHz band if the transmitted power is low enough.

Why bother with a 433MHz base station? You certainly get better obstacle performance at 433MHz than you do at higher frequencies, and you may get better direct line-of-sight performance as well. The downside to using the 433MHz ISM band is longer antennas are needed, roughly twice as long as in the 869/915MHz ISM bands. The longer length makes it impractical to mount a 433MHz antenna for a mobile receiver onboard a locomotive. For fixed transmit and receiver installations, the longer antenna is far less inconvenient.

The photo below shows the “base station,” which converts the track DCC from a standard DCC throttle to wireless DCC transmitted in the 433MHz (433.05MHz to 434.79MHz) ISM band. The design is almost identical to the ProMini Air transmitter described in my previous post. The only differences are the Anaren radio module (with its approved antenna) designed to operate at 433MHz rather than 869/915MHz and a tiny bit of specialized transceiver initialization data in the software. That’s it for the base station!

Transmitter “Base Station.” A standard DCC throttle provides track DCC to a “DCC Converter” that converts the track DCC to “5V DCC” and 5V power/ground for the ProMini Air transmitter, which in turn, transmits wireless DCC on a channel in the 433MHz ISM band.
A base station operating the the US 916MHz band transmitting on Airwire channel 15

The Repeater

The photo at the very top of the page shows the repeater that you place at some distance from the “Base Station.” The repeater consists of a ProMini Air receiver that is identical in design to the ProMini Air receiver described in my previous post. The only difference is the Anaren 433MHz radio module instead of the 869/915MHz radio module (you cannot easily tell the difference between the two because they have the same pinouts and form factor), and a tiny bit of transceiver initialization data in the software.

You directly connect the receiver’s 5V DCC/GND to a ProMini Air transmitter’s 5V DCC/GND inputs. The transmitter outputs wireless DCC transmissions on channels in 869/915MHz ISM band that are picked up by mobile 869/915MHz receivers on-board the locomotives. As described in my previous post, compatibility with CVP Airwire, Tam Valley Depot, GWire, and ProMini Air receivers is assured.

Close-up of pin connections
Pin connections showing the wired connection between the 433MHz ProMini Air receiver and the 869/915MHz ProMini Air transmitter.
Alternative repeater power connections. A battery-powered voltage regulator set to +5V powers the 433MHz receiver. The 3-wire connection from the 433MHz receiver provides ground (Blk), +5V (Red), and 5V logic DCC (White) to the 869/915MHz transmitter.
A repeater operating in the US 916MHz band: the receiver operates on Airwire channel 15, and the transmitter operates on Airwire channel 0 (zero).
The “surrogate locomotive” with a receiver operating in the US 916MHz band on Airwire channel 0 (zero).

As a further option for the repeater, you can connect a second ProMini Air transmitter to the repeater’s ProMini Air receiver to wirelessly re-transmit DCC at a different frequency (channel) in the 433MHz band to other repeaters whose receiver is “listening” on the same 433MHz channel.

Some Possibly-Important Details

Below are possibly-important details.

Software

My previous post discusses how to compile the ProMini Air software (found at this GitHub site) and download the resulting “firmware” to the ProMini Air’s Pro Mini MCU (micro-controller unit). The software the ProMini Air uses to operate at 433MHz is the same software that you use for the ProMini Air receivers and transmitters operating in the 869/915MHz ISM bands. All that changes is the selection of the 433MHz band and the correct crystal frequency (26MHz for the Anaren radio module) in the config.h file. See the relevant part of the config.h file below, and note the “#define EU_434MHz” (operate in the 433MHz band), “#undef TRANSMIT” (compile for a receiver), and “#undef TWENTY_SEVEN_MHZ” (the crystal frequency is NOT 27MHz).

////////////////////////
// Set band of operation
////////////////////////
/* Use ONLY ONE #define*/
/* For 896/915MHz EU/NA ISM bands*/
// #define NAEU_900MHz
/* For EU-only 434MHz ISM band*/
#define EU_434MHz
/* For World-Wide 2.4GHz ISM band*/
// #define NAEU_2p4GHz

//////////////////////////////
// Set Transmitter or Receiver
//////////////////////////////
/* Uncomment ONLY ONE #define*/
/* For receiver*/
#define RECEIVER
/* For transmitter*/
// #define TRANSMITTER

/////////////////////////////////////////////////
// Set the default channel for NA/EU 900MHz only!
/////////////////////////////////////////////////
#if defined(NAEU_900MHz)
/* Uncomment ONLY ONE #define*/
/* To set the default to NA channel  0 for 869/915MHz ISM bands only!*/
#define NA_DEFAULT
/* To set the default to EU channel 17 for 869/915MHz ISM bands only!*/
// #define EU_DEFAULT
#endif

//////////////////////////////////////////
// Set the transceiver's crystal frequency
//////////////////////////////////////////
/* Uncomment ONLY ONE #define*/
/* For 27MHz transceivers (e.g., Anaren 869/915MHz (CC110L) and Anaren 869MHz (CC1101) radios)*/
// #define TWENTY_SEVEN_MHZ
/* For 26MHz transceiver (almost all other radios, including Anaren 433MHz (CC1101), 915MHz (CC1101), and 2.4GHz (CC2500) radios)*/
#define TWENTY_SIX_MHZ

Hardware

We use a transceiver daughterboard with a surface-mounted Anaren “chip” designed to operate on multiple channels in the 433MHz ISM band instead of 896/915MHz ISM bands. The two chips have different discrete surface mount components optimized for the respective ISM band. Transceiver daughterboard offerings that claim operation at 433MHz and 869/915MHz are not credible – you cannot use the same discrete components for multiple ISM bands. Your range performance will be inferior if you use these offerings. And, these offerings are NOT usually FCC/IC/ETSI approved as “intentional transmitters.” The transceiver daughterboard with the Anaren radio module we recommend is available from Blueridge Engineering, or you can contact me directly.

Repeater connections

The best way to supply power to the two (or three) ProMini Air receiver/transmitter(s) is battery power or a voltage converter using a battery power source. The ProMini Air transmitter/receiver can accept direct B+/B- battery power connections, usually 14.8V LiPo batteries, or 5V/GND inputs from a voltage converter. Power connections are described in my previous post on the ProMini Air. I strongly recommend using the 5V/GND power inputs from a voltage converter (they are inexpensive) to prevent overtaxing a small 5V power converter onboard the ProMini Air.

All that remains to do is connect the 433MHz ProMini Air receiver’s GND/DCC output directly to the 869/915MHz ProMini Air transmitter’s GND/DCC input. The GND and DCC Input/Output connection are the same pins on both ProMini Airs. The 3 pin row for the connections from left to right is marked GND/+5V/DCC I/O (T/R). You can see the connecting wires in the photo at the top of the page. DO NOT connect the 5V pin in the 3-pin row between the two ProMini Airs UNLESS you are supplying a 5V/GND supply to one of the ProMini Airs via the two-pin row marked left to right as GND/5V.

Repeater power and data connections using battery connections
Repeater power and data connections using a +5V/GND voltage converter

Changing Configuration

The ProMini Air transmitter/receiver’s DCC address is by default 9000/9001, respectively. My previous post describes how to reconfigure the ProMini Air using the DCC throttle’s “OPS” mode by sending changes to the Configuration Variables’ values. Important CVs are CV255 to set transmission power level (0-10) and CV254 to set channel #. The 433MHz ProMini Air has eight channels (0-7) that can be used, and channel 0 (434.00MHz) is the default.

When you have multiple ProMini Air transmitters and receivers “listening,” beware that sending OPS mode commands to either 9000 or 9001 will change the CV values on all listening ProMini Airs that have one of these default addresses. Global changes are probably NOT what you had in mind and will disable any “two-step” repeaters if they retransmit to other repeaters since the repeater’s 433MHz transmitter must transmit on a different channel from the repeater’s 433MHz receiver.

You have two strategies for preventing inadvertent reconfiguration using OPS mode: change the ProMini Air’s DCC address as discussed here, or turn off all ProMini Airs you don’t want to reconfigure. Giving a unique DCC address to each ProMini Air is probably the safest strategy! Of course, you can “play” useful games by giving “groups” of ProMini Airs the same DCC address so that they are all reconfigured at the same time, but other “groups” at a different DCC address will ignore these commands.

Wrap-Up

With a simple repeater that requires no new hardware or software, I hope you will agree it is simple to extend the range of wireless DCC! Perhaps these ideas will inspire you to develop an even better range extension technique.

 

Assembling the ProMini Air Receiver/Transmitter

This page is obsolete. Please see this page.

 

Dead-Rail Transmitter/Receiver Options and Installation

Numerous wireless RF transmitter/receiver (Tx/Rx) options for locomotive control are available both in the US and abroad. My discussion is confined to wireless RF transmitter/receiver options that are DCC compatible, which means that the transmitter sends “logic-level” DCC packets, and the receiver converts the “logic-level” DCC packets back to “bipolar” DCC packets, as would be transmitted on tracks, that an onboard DCC decoder can “understand.”

Schematic of representative application

Why am I limiting my discussion? Because DCC is a standard, and if you don’t go with solutions that have standards behind them, then you are likely to suffer “vendor lock” where a single vendor holds you “hostage” with “their” solution. Perhaps that attitude is a bit overblown, but vendors with proprietary solutions tend to lag in innovation for lack of competition, and what happens if the vendor goes out of business?

I know that the NMRA DCC standards have some problems including the following issues: pending issues under consideration for years; vendors ignoring some parts of the standards; some vagueness in places; and lack of standards for wireless. The DCC standard is imperfect, but it’s miles better than no standard at all. Plus, the DCC decoder market is competitive and feature-rich – you can almost assuredly find a DCC decoder that will satisfy your needs.

As a further limitation of this post, I will mostly confine my discussion on DCC-compatible wireless Tx/Rx options to the 902-928 MHz ISM (Industrial, Scientific, and Medical) band because this is where I have direct experience. There is significant and exciting activity in the DCC-compatible 2.4 GHz ISM band (using Bluetooth technology) band as well (see BlueRailDCC), but I have no personal experience with this band. Another advantage of the 902-928 MHz ISM band is that there is some interoperability between transmitters and receivers, although there is currently no firm standard behind this interoperability.

DCC-compatible Tx/Rx options are a very large topic that I cannot fully cover in this blog. These options are well-covered in the following links:

  • Dead Rail Society: This should always be your first stop when looking at topics related to dead-rail. This site is the epicenter of dead-rail. In particular, this page discusses vendors for dead-rail Tx/Rx.
  • Facebook Dead Rail page: This social media page is a valuable source for the latest announcements and discussions for dead-rail, including Tx/Rx options.

Receivers

Below is my personal experience with 902-928 MHz ISM DCC-compatible receivers.

General Comments

How each of these DCC compatible wireless receivers handles loss of valid RF signal from the transmitter is discussed here.

CVP Airwire

A CVP Airwire CONVRTR-60X wireless DCC-compatible RF receiver mounted to the side of the tender hull using Velcro. The U.FL antenna cable was later connected. The DCC “A/B” output of the CONVTR-60X connects to the “Track Right/Left” inputs of a wiring harness for a LokSound L V4.0 DCC decoder (not yet inserted) on the opposite side of the tender hull.

The company CVP manufactures and supports its Airwire series of products that include hand-held wireless DCC-compliant throttles (such as the T5000 and T1300) and receivers, such as the CONVRTR series that seamlessly connects to DCC decoders onboard the locomotive. As a general comment, CVP provides excellent, detailed installation and operation documentation, and that’s in part why they are dominant in some segments of wireless model railroad control. The CONVRTR receiver has some sophisticated features, such as setting its Airwire RF channel purely in software, that are described in its User Guide.

However, the CONVRTR interacts with the Airwire wireless throttles in ways that make it difficult to impossible​ to transmit just “garden variety” DCC wirelessly to the CONVRTR for proper operation. The Airwire throttles transmit numerous DCC “Idle” packets as a “keep-alive” message for the CONVRTR. A red LED on the CONVRTR board indicates received signal quality and flickers least when receiving a large number of DCC Idle packets. The brightness of the LED indicates the received RF power. Typical DCC throttles are not designed with these “keep-alive” concerns in mind, and do not output DCC Idle packets often enough to keep the CONVRTR “happy.”

Other than the CVP Airwire transmitters (the T5000 and T1300), the only currently-available (the no longer manufactured NCE GWire Cab was also Airwire-compatible) RF transmitter that I am aware of that is capable of communicating with the Airwire CONVRTR is the ProMini Air, whose open-source software (at GitHub AirMiniTransmitter) intercepts “garden variety” DCC from the throttle and interleaves a sufficient number of DCC Idle packets to communicate correctly with the CONVRTR. This “keep-alive” requirement for the Airwire CONVRTR is challenging to produce, so sometimes a reset of the DCC throttle ​or the ProMini Air is required to initially send enough DCC Idle packets to initiate communication with the CONVRTR.

Like the Gwire receiver below, the Airwire CONVRTR “X” versions have a ​U.FL connector for connecting a shielded antenna cable from the receiver to an externally-mounted antenna. An internal antenna option is available as well for CONVRTR mountings that are not surrounded by metal.

QSI Solutions Gwire

Gwire U.FL connector. If using the U.FL connector, detach the wire antenna.

The Gwire receiver operates on Airwire RF channels 0-7 ​that the user must select from a dial on the device itself. A nice feature of this receiver is an onboard U.FL connector (see Figure  above) that allows the user to connect a shielded antenna cable from the receiver to an externally-mounted antenna – useful when the antenna needs to be on the exterior of a metal locomotive or tender shell. See Blueridge Engineering’s website for details on how to interface the Gwire to any onboard DCC decoder. The Gwire presents no difficulties for wireless 902-914 MHz ISM band DCC-compatible transmitters, and you can find it on eBay at relatively low ($20 US or less) prices.

Tam Valley Depot DRS1, MkIII

Tam Valley Depot DRS1, MKIII in an open-cavity install. Note the built-in long wire antenna.

The Tam Valley Depot DRS1, MkIII receiver operates only on Airwire RF channel 16 (actually 916.49 MHz, which is close enough to Airwire channel 16 at 916.37 MHz) and makes a suitable wireless DCC receiver. This receiver has a long, single-wire antenna that provides efficient RF reception (see the figure above). However, you must place this wire outside any metal shell, which may be inconvenient in some mounting applications. The DRS1, MkIII, presents no difficulties for the 902-914 MHz ISM DCC-compatible transmitters as long as they transmit near 916.49 MHz. The DRS1, MkIV described in the next section supersedes this receiver.

Tam Valley Depot DRS1, MkIV

The recently-released Tam Valley Depot DRS1, MkIV receiver. Note the internal antenna on the right side of the board.

The Tam Valley Depot DRS1, MkIV receiver is a significant upgrade from the DRS1, MkIII, and operates at the original Tam Valley 916.49 MHz frequency, Airwire Channels 0-16, and at 869.85 MHz (for European operation). The DRS1, MkIV presents no difficulties for the 902-928 MHz ISM DCC-compatible transmitters and is an interesting choice because it changes channels automatically until it finds a sufficient RF signal carrying DCC packets. See the figure above for the version that employs an internal antenna that is useful when the receiver is not mounted inside a metal shell.

The DRS1, MkIV with a U.FL antenna connector (and a heatsink update) is now available (see picture below), making it very useful for connecting to external antennas outside of metal shells. This version of the DRS1 makes it highly competitive in capability and quality with the Airwire CONVTR. Perhaps a future version will provide DC output to the onboard DCC decoder when no valid RF signals carrying DCC packets are available, making it possible to program the DCC decoder’s behavior when there is no DCC signal available.

Tam Valley Depot DRS1, MkIV receiver with U.FL connector.

Blueridge Engineering ProMini Air Receiver

ProMini Air receiver/transmitter

The inexpensive ProMini Air receiver kit presents no issues when used with 902-928 MHz ISM DCC-compatible transmitters. It operates on Airwire RF channels 0–16 and requires a separate, low-cost amplifier (e.g., the Cytron MD13S) to convert the ProMini Air’s unipolar 5V DCC to bipolar DCC that provides sufficient power to the decoder. See the Blueridge Engineering web page for details on how to build the kit and properly connect the ProMini Air to the amplifier that is in turn connected to the onboard DCC decoder.

The ProMini Air’s open-source software is available for download at the GitHub site AirMiniTransmitter.

Transmitters

So far as I’m aware, there are four 902-928 MHz ISM DCC-compatible transmitters: the CVP Airwire T5000 and T1300, the Tam Valley Depot DRS1 transmitter, and the Blueridge Engineering ProMini Air transmitter.

CVP Airwire Transmitters

The CVP Airwire T5000 and T1300 transmitters are excellent choices for operating with 902-928 MHz ISM DCC-compatible receivers, all of which will properly-communicate with these two transmitters. When I am testing wireless receivers, the T5000 is my “go-to” because, in addition to serving as a DCC-compatible throttle, it can program onboard DCC decoders, via the wireless receiver, in either “OPS” (or Programing-on-the-Main, PoM) or “Service” mode. While the T1300 cannot program the onboard DCC decoders, it serves as a typical DCC throttle.

Of course, the Airwire transmitters send sufficient DCC “Idle” packets to keep the Airwire CONVRTR receivers “happy.”

Tam Valley Depot DRS1 Transmitter

The Tam Valley Depot DRS1 transmitter uses DCC packets produced by any DCC throttle or command station that outputs “bipolar” DCC to tracks. The DRS1 transmitter converts the “bipolar” DCC to “logic-level” DCC and transmits it at only 916.49 MHz, which is close enough to Airwire Channel 16 at 916.36 MHz to be received. This frequency limitation means that only the Tam Valley Depot DRS1, MkIII, and MKIV, and the Blueridge ProMini Air receivers can operate with this transmitter if they are receiving on 916.48 MHz or Airwire Channel 16.

While the Airwire CONVRTR can operate on Airwire Channel 16, the DRS1 transmitter is not designed to transmit sufficient “Idle” DCC packets to keep the CONVRTR “happy” since it passively sends along only the DCC packets it receives from the DCC throttle or command station.

Blueridge Engineering ProMini Air Transmitter

The ProMini Air transmitter with optional LCD. The antenna in the picture was replaced with a high-quality 1/2-wave antenna Linx ANT-916-OC-LG-SMA antenna from either Mouser or Digi-Key for improved transmission.

Blueridge Engineering provides the ProMiniAir transmitter/receiver kit that uses open-source software at the Github AirMiniTransmitter site. Like the DRS1 transmitter, it is designed to take inputs from any DCC throttle or command station’s “bipolar” DCC output to tracks (via a simple, low-cost optocoupler provided by Blueridge Engineering) and transmit the “logic-level” DCC on Airwire channels 0-16.

The ProMini Air transmitter inserts a sufficient number of DCC “Idle” packets into the original throttle-produced DCC to keep the Airwire CONVRTR “happy.” This keep-alive capability coupled with transmission on Airwire channels 0-16 ensures that the ProMini Air transmitter is capable of communicating with any of the 902-928 MHz ISM DCC-compatible receivers discussed in this blog.

This transmitter’s settings, like channel number and output power, can be controlled by the DCC throttle or command station in the “OPS” mode by setting the throttle address to that of the ProMini Air, which is 9000 by default. An optional LDC display can be attached to the ProMini Air transmitter for status display. More configuration information is available at the GitHub AirMiniTransmitter site.

Full disclosure here: I am one of the contributors to the AirMiniTransmitter open-source software, and I am heavily-involved with Blueridge Engineering with the design of the ProMini Air transmitter/receiver board.

Dead-Rail Conversion of an MTH 2-8-8-8-2 Virginian Triplex

Introduction

This post describes my most difficult dead-rail conversion to date: an MTH O scale 2-8-8-8-2 Virginian Triplex (MTH product number 20-3101-1) that I purchased on eBay circa September 2019. Previously, I converted a Sunset 3rd Rail Allegheny with an MTH Proto-Sound 3.0 board to dead-rail, but the Triplex was my first complete dead-rail conversion of an MTH locomotive to 2-rail operation, which included lathe turning high-profile wheels to approximate an NMRA RP-25 flange profile (also see NMRA standard S-4.2) so that the locomotive would operate reliably on track meeting NMRA standard S-3.2.

Box details
Locomotive side view
Tender side view

The inside view of the tender below demonstrates a significant challenge: space is very tight with the Proto-Sound board and the large speaker consuming a large part of the tender’s internal volume where we need to install additional dead-rail components: DCC-compatible RF receiver; 14.8V LiPo battery; and switch, charging, and antenna wiring.

Inside view of the tender: Note the battery cradle, the space-consuming speaker, and the end-of-tender smoke unit.

The strategy starts to emerge:

  1. Replace the Proto-Sound 2.0 (PS2.0) board with a PS3.0 board that can operate in DCC mode.
  2. Remove the original rechargeable battery and its cradle and locate the 14.8V LiPo battery pack there.
  3. Remove the large speaker and replace it with a smaller 4-ohm speaker so that we can make room for the 14.8V LiPo battery pack and the Airwire CONVRTR-60X DCC-compatible RF receiver that operates in the 902-928 MHz ISM band on Airwire channels 0-16.
  4. Lathe down the high-rail wheel flanges to approximate an NMRA “RP-25” profile for 2-rail, dead-rail operation.

An advantage of this strategy is retaining almost all of the control the PS2.0/PS3.0 provides, including directional head/tail lamp, marker lights, cabin lights, flickering firebox, sound, and fan-driven smoke units.

Proto-Sound 3.0 Conversion

The first step of the dead-rail conversion was easy: replacing the Proto-Sound 2.0 board with a Proto-Sound 3.0 (PS3.0) board from Ray’s Electric Trainworks. As I have mentioned in other posts, working with Ray Manley is a great pleasure. I sent my PS2.0 board as a trade-in to Ray, and he took care of the rest, providing me with a fully-functional PS3.0 board, complete with DCC capability.

The heatsink for the PS3.0 board necessitated drilling and tapping a new mount hole with spacer, as shown in the figure below.

New Proto-Sound 3.0 heatsink mount with a spacer.

The following photos show the original electrical power inputs to the PS2.0 board and their modified connections for the replacement PS3.0 board.

Original power connections to the Proto-Sound 2.0 board.

As you can see below, the AC power from the center rail pick-up (hot) and the outside rails (ground) were disconnected – we will be getting our power from a 14.8V LiPo battery pack in the tender. In this case, there is no Constant Voltage Unit, so no Battery +(14.8V)/Battery -(Ground) connections are required.

Locomotive power connection modifications. There is no Constant Voltage Unit in this locomotive, so the B+/B- wires indicated above are NOT used.

The AC power connections in the tender are also disconnected, and the power inputs to the PS3.0 connect to the switched battery power. The Battery +(14.8V)/Battery -(Ground) connection on the wiring harness was NOT required.

Tender power connection modifications. There is no need for B+/B- power supply to the locomotive.
Power input modifications for the PS3.0 board. The DCC A/B input power comes from the connection to the Airwire CONVRTR-60X DCC-compatible RF receiver.
Final wiring connections

Locomotive Electrical Modifications

There were two aspects to the electrical modifications in the locomotive:

  1. Headlamp replacement
  2. Electrical power supply

The original headlamp was a power-hungry incandescent bulb. An LED with a polarity-independent plug from Evan Designs was used to eliminate the need to determine the polarity of the original headlamp wiring.

Headlamp LED replacement details

The power-related modifications consisted of removing the center-rail pick-ups, which is very easy on MTH locomotives and disconnecting any wiring to the center-rail pick-up (hot) and the outside rails (ground).

The original center-rail pick-ups. The “Center-Rail Pick-up” is disconnected.
The center-rail connection underneath the motor is disconnected

Battery Installation

Battery installation was very challenging since the only practical placement location was the original rechargeable battery and its cradle mounting beside the PS2.0 board. A special-order 2x2x1 14.8V, 2600mAh (38.48 Wh, 5A rate,  LxWxT: 133 mm x 40 mm x 25 mm) LiPo battery purchased from Tenergy.com provides the one cell-diameter thickness required to fit the battery pack between the PS3.0 board and the tender hull.

Original rechargeable battery and cradle location. The speaker volume control potentiometer was moved to accommodate the more extended 14.8 V LiPo replacement battery pack.
Volume control potentiometer. It was moved from its original location, and UV glue provides stress relief to prevent breakage of the very fine wires.
Final location of the volume control potentiometer. UV glue holds the potentiomenter in place.
Final battery location. Velcro attaches the battery to the side of the PS3.0 board.

Mechanical Modifications

In MTH steam locomotives, the wheel axles insert into a solid cast chassis frame, so the driver wheels must be pulled off the axle before machining the high profile wheels to approximate an RP-25 profile that is compatible with two-rail, dead-rail operation.

The driver wheels must be pulled off the axle for machining after removal of the side-rods. The axle and wheel are scribed to maintain proper “quartering.”
A wheel puller to separate the driver wheel from the axle.
Comparison of lathe-cut and unmodified high-profile wheels. The high-profile flanges were lathe-cut to approximate an RP-25 profile for 2-rail, dead-rail operation.

Tender Mechanical Modifications

The tender’s mechanical modifications involve adding a Kadee 740 coupler and accommodating additional dead-rail electronics.

Coupler Modifications

The original coupler pivot, rather than using a frame-fixed mounting, was used to mount a Kadee 740 coupler. This strategy ensured that tight curves would not bind the coupler.

The original coupler assembly

A Kadee 740 coupler was mounted on the original coupler pivot, as shown in the Figure below. The brass screw heads were ground down to provide clearance with the tender frame.

Modified coupler assembly for a Kadee 740 coupler

Additional Dead-Rail Electronics

The added dead-rail electronics include the charging plug, the ON/OFF/Charging plug, a smaller speaker, and the antenna mount.

Charging plug (left) and ON/OFF/Charge switch (right) mounting
Antenna mounting location. The antenna is a  Linx ANT-916-CW-RCS discussed in this blog.

The original speaker was far too large to provide clearance for the additional battery, DCC-compatible RF receiver, and other electrical components needed for the dead-rail installation. So a 16mm x 35mm speaker was placed in the bottom of the original speaker’s cavity, and UV glue holds the speaker in place.

The original speaker. It is far too large to accommodate the additional dead-rail components: battery, DCC-compatible RF receiver, ON/OFF/Charging switch and charging plug.
Candidate speaker. The actual 16mm x 35mm speaker was even smaller and mounted into the bottom of the original speaker cavity.

Final Demonstration

With the locomotive reassembled, it’s time to test it out! If your locomotive has a smoke unit(s), always ensure sufficient smoke fluid is loaded. Even if you don’t intentionally turn on the smoke unit – sometimes it’s unexpectedly activated.

 

Initial demonstration

Dealing with Loss of RF Signal in Dead-Rail for Onboard DCC Decoders

Note: This post deals with details of various brands of DCC-compatible, wireless RF receivers operating in the 902-928 MHz “ISM” band that connect to onboard DCC decoders. Some aspects of the discussion may apply to other RF bands as well.

Typical application. In some cases, such as the Airwire transmitters, the throttle and transmitter are combined. Also, the receiver and amplifier may combined, such as for Airwire and Tam Valley Depot receivers.

The designers of various DCC-compatible RF receivers have a couple of strategies for what output to provide to the onboard DCC decoders when a valid RF signal is lost:

  1. Output the random pulses that the RF receiver naturally outputs when a valid RF signal is lost. This option will cause most DCC decoders to maintain direction and speed while the DCC decoder “sifts” the random pulses searching for valid DCC packets.
  2. Output a fixed, positive Direct Current (DC) voltage to one of the DCC decoder’s “Track” inputs and a zero voltage DC the other “Track” input when either a) RF signal is lost, or b) when the RF transmitter does not send sufficiently-frequent “keep-alive” DCC packets. The latter is true for the Airwire CONVRTR. How the DCC decoder responds to these DC “Track” inputs depends upon DCC decoder configuration and, unfortunately, DCC decoder manufacturer discretion.

There are several NMRA-specified Configuration Variables (CV’s) that affect how DCC decoders handle the loss of valid DCC packets and are important to understand when the DCC decoder is connected to the DCC output of DCC-compatible RF transmitters because the RF receivers may lose or receive corrupted RF signal from the dead-rail RF transmitter.

The NMRA standard S-9.2.4, section C “Occurrence of Error Conditions” states “Multi Function Digital Decoder shall have a Packet Update time-out value.” Further down on line 60 the standard states “A value of 0 disables the time-out (i.e., the user has chosen not to have a time-out)”. This part of the NMRA standard is not universally-implemented by manufacturers, and it affects how decoders will respond to the loss of RF transmission of DCC packets. To implement this requirement, the NMRA standard S-9.2.2 has defined the recommended (R), but not mandatory (M), CV11, Packet Time-Out Value. A value of CV11=0 is defined to turn off the time-out, but CV11 is frequently not implemented.

However, another CV that is often implemented addresses some aspects of loss of DCC. The optional (O) CV27, Decoder Automatic Stopping Configuration, is under re-evaluation by NMRA, but the NMRA has taken no definite action some time. Here is what the NMRA standard S-9.2.2 currently (as of 2019) states about CV27: 

Configuration Variable 27 Decoder Automatic Stopping Configuration
Used to configure which actions will cause the decoder to automatically stop.

Bit 0 = Enable/Disable Auto Stop in the presence of an asymmetrical DCC signal which is more positive on the right rail.
“0” = Disabled “1” = Enabled

Bit 1 = Enable/Disable Auto Stop in the presence of an asymmetrical DCC signal which is more positive on the left rail.
“0” = Disabled “1” = Enabled

Bit 2 = Enable/Disable Auto Stop in the presence of an Signal Controlled Influence cutout signal.
“0” = Disabled “1” = Enabled

Bit 3 = Reserved for Future Use.

Bit 4 = Enable/Disable Auto Stop in the presence of reverse polarity DC.
“0” = Disabled “1” = Enabled

Bit 5 = Enable/Disable Auto Stop in the presence forward polarity DC.
“0” = Disabled “1” = Enabled

Bits 6-7 = Reserved for future use.

Since DCC decoder manufacturers frequently do implement CV27, what electrical output the DCC-compatible RF receiver provides to the DCC decoder upon loss of a valid RF signal will influence how the DCC decoder responds. We will break this down for various brands of DCC-compatible RF receivers in the 902-928 MHz ISM band in the following subsections.

Note that some DCC decoders will not honor CV27=0; i.e., all auto-stopping features disabled. For example, with CV27 set to 0, the Zimo MX-696, and probably other Zimo DCC decoders as well, will continue speed and forward direction if positive DC level is input to the “Right Track” DCC input, and a zero DC level is input to the “Left Track” DCC input. Under these “track voltage” conditions, the locomotive will stop if originally moving backward. Some (but not all) DCC-compatible RF receivers, such as the Airwire CONVRTR, provide these DC inputs, if a valid RF signal is lost, but only if connected correctly.

The “correct” connection relates to how the user connects the DCC output from the RF receiver to the “Track Right” and “Track Left” inputs of the DCC decoder. Under normal circumstances, when there is a valid RF signal, which way the DCC decoder connects to the RF receiver does not matter. Under the exceptional case of DC-only output by the RF receiver, if it loses a valid RF signal, which way the DCC decoder connects to the RF transmitter does matter. The user will likely want the locomotive to continue forward with the loss of a valid RF signal, so some experimentation is required to determine which of the RF transmitter DCC outputs should connect to which of the DCC decoder’s “Track” inputs to achieve the desired behavior.

Example DCC waveform output from a DCC-compatible RF receiver when there is a valid RF signal