A Magnetic Power Switch for Large Scale Locomotives

Recently, I was modifying an O-Scale Sunset 3rd Rail L-105 locomotive for combined 2-rail track power or battery-powered radio control (bprc or dead-rail), where the switches were inconspicuously located at the front of the tender but were challenging to reach once the tender and locomotive were coupled.

Inconspicuous, but inconveniently-located 2-rail/dead-rail switches on a L-105 locomotive

To make matters worse, power to the QSI Titan FX-DO decoder mounted in the tender must be cycled OFF and quickly back ON to activate the smoke unit. Given the location of the switches, this operation just wasn’t possible. What to do?

Well, how about using a “Reed Switch” to turn the power on or off using a magnet? In my research, I found numerous model railroad applications of Reed Switches inserted “inline” with power. However, Reed Switches cannot typically handle the large currents (3A or more) we encounter in O-Scale and larger. So, direct inline use of a Reed Switch was not feasible.

This site mentioned using a Pololu Big Pushbutton Power Switch that can handle large currents (up to 8A), so I thought I might be able to connect a “normally-open” Reed Switch to the convenient “push button” inputs on the Pololu Switch shown below.

Close-up of the Pololu Big Pushbutton Power Switch, MP, showing the intermittent pushbutton input.

This short post shows how to connect the Pololu Big Pushbutton Power Switch, MP, which can handle up to 8A, with a normally-open Reed Switch for convenient magnetically-controlled power ON/OFF.

Assembly

As shown in the following three photos, assembly is straightforward. The only caveat is the Reed Switch is somewhat delicate, so bending the leads to the easily-broken glass capsule requires gripping the lead between the capsule and the bend, as shown in the photo below.

Technique for bending the leads to a Reed Switch to prevent breakage

Below is the finished device. Only eight solder joins are needed, and heat shrink is used to cover the Reed Switch’s solder joints. The long wiring lead to the Reed Switch provides mounting in a convenient location, including INSIDE non-magnetic metal shells!

Power Switch/Reed Switch Connections

The close-up below shows the straightforward connections to the Pololu Big Pushbutton Power Switch, which handles up to 8 A. Larger-capacity switches (up to 16A) are available from Pololu.

Close-up of Power Switch/Reed Switch Connections

Let’s demonstrate using this device.

Testing

The video below is the “proof-in-the-pudding” showing that the Reed Switch controls the ON/OFF of the Pololu Big Pushbutton Power Switch.

Demonstration of the Pololu Big Pushbutton Power Switch controlled by a Reed Switch to turn the power ON and OFF with a magnet. A battery supplies power, and the DC output is provided to a ProMiniAir receiver/amp that generates the DCC output shown on the oscilloscope.

Wrap-Up

So there you have it: a simple magnetically-controlled switch that handles large currents.

An added benefit is the Reed Switch can be mounted INSIDE a non-magnetic metal shell, such as brass! Magnetic fields pass through these metals.

A Simple AC-to-DC Converter

Sometimes folks want radio control of their locomotives but prefer to use track AC (including DCC) instead of a battery to provide DC power for the radio receiver and amplifier. This post shows how to repurpose the DCC converter PCB customarily provided with the ProMiniAir transmitter to convert track AC to DC power for the ProMiniAir receiver.

DCC Converter Modifications

The original purpose of the “DCC Converter” is to use a DCC throttle’s Track Right/Track Left output and convert it to 5V DCC and 5V power for the ProMiniAir transmitter. See the Figure below.

The original purpose of the “DCC Converter” is to provide 5V power and 5V DCC signals to the ProMiniAir transmitter.

One of the strengths of the modular approach used for the ProMiniAir transmitter and receiver is that you can “repurpose” components. The DCC Converter can be modified to use the AC track input to provide filtered, higher-voltage DC power.

Below is the repurposing idea: add a large capacitor (in series with a 100 Ohm resistor and a 1N4001 diode) across the “+” and “-” terminals of the rectifier and route out the rectifier’s DC output. Smaller onboard capacitors (10uf and 100nf) also filter out higher-frequency noise that large capacitors sometimes do not effectively filter.

One end of a 100 Ohm resistor and the + terminal of a 1N4001 diode are connected in series (and in parallel to each other) to the capacitor’s + terminal. The other end of the 100 Ohm resistor and the – terminal of the diode are connected to the rectifier’s + terminal. The capacitor’s – terminal is directly connected to the rectifier’s – terminal to form the DC ground. My thanks to ScaleSoundSystems.com for the idea of adding a resistor and diode in series with the capacitor.

When the throttle is turned on, the 100 Ohm resistor prevents an “in-rush” short circuit that might cause the throttle to cut off. When charging, the 1N4001 diode is reverse-biased with a large resistance. If AC power is interrupted, current flows out of the capacitor through the low resistance path of a forward-biased 1N4001 diode to maintain DC power output.

How keep-alive works. The resistor regulates charging, and the diode regulates discharging.
A large capacitor (along with a 100 Ohm resistor and a 1N4001 diode) can be added to the DCC Converter to output heavily-filtered DC power.
Connections between the AC-to-DC Converter with a large keep-alive capacitor and the ProMiniAir receiver/amp. The switch is NOT required if a large keep-alive capacitor is not used.

In fact, it is possible to forgo the large capacitor since these onboard capacitors do a pretty good job of “cleaning up” the DC output of the rectifier. This is a good option if space is at a premium.

The filtered DC output can now provide DC power to a ProMiniAir receiver/amp, just as a battery would. If the added capacitor is large enough, it will function as a “keep-alive” capacitor many DCC decoders use to prevent track power interruptions.

An Example

The photo below shows a real-world example of the conversion using a 10000uf “keep-alive” capacitor originally used with a Zimo decoder. The size of the capacitor dominates that of the DCC converter!

A modified DCC Converter using a very large 10000uf “keep-alive” capacitor.
Close-up of the modified DCC Converter

The oscilloscope trace below demonstrates the ability of the modified DCC Converter to produce clean DC power for your ProMiniAir (or other) receiver.

Track AC input and filtered DC power output from a modified DCC Converter with an added large (10000uf) capacitor

Note how “clean” the DC power output is (13.8VDC). Square wave track inputs at 16.8V are a severe test because they produce frequencies at odd multiples of the square wave’s frequency, e.g., at 6KHz, 18KHz, 30KHz, etc. for the example above, but very little of these frequencies “bleed through” to the DC power output.

Simplifying further, we can use the DCC Converter without an added capacitor, relying on the onboard capacitors to filter the rectifier’s “+” and “-” output. This option might be useful if space is at a premium.

Modified DCC Converter with NO capacitor

The DC power output is still clean, but you lose the “keep-alive” that a large capacitor provides.

Track AC input and filtered DC power output from a modified DCC Converter with NO added capacitor

Conclusion

So there you have it – the DCC Converter can be slightly modified to provide filtered DC power and “keep-alive” capability. The modified DCC amplifier with a sizeable keep-alive capacitor costs $10 + shipping. Without the capacitor, the modified DCC Converter is $7 + shipping.

Integrating a Fan-Driven Smoke Unit with QSI DCC Decoders

I have come across QSI decoders for some O-Scale Sunset 3rd Rail (2-rail) locomotives, including the beautiful D&RGW L-105. QSI decoders produce fantastic sound and provide highly flexible control of locomotive behavior, but at the price of a steep learning curve.

During the dead-rail conversion of the L-105, I could not figure out initially how to integrate a fan-driven smoke unit with the QSI “Titan FX-DO” decoder found in the tender of the Sunset L-105. But the decoder’s sound was so good that I persisted in my research and finally came across Greg Elmassian’s excellent post on integrating fan-driven smoke units with the standard QSI “Titan” (but NOT the Titan FX-DO that I was dealing with) decoder, which gave me an excellent start. Still, it did not provide the entire solution.

This post will provide all the details of integrating a QSI Titan FX-DO decoder with a fan-driven smoke unit.

Background Information

For each of their decoders, QSI defines a large number of “Features” that are configured by “indexed CVs” that define the Feature’s behavior. Based on Elmassian’s post, the Firebox Feature (F=122) controls the Smoke Unit Fan, and Rear Cab Lights Feature (F=118) controls the Smoke Unit Heater. 

The specifics of Feature F‘s behavior are defined by several “characteristics” or “attributes” (A=0, 1, etc.), such as maximum output, output duration, etc., that are given specific values V via CV 55.F.A = V.

QSI also defines several “Port numbers” P as fixed outputs on the decoder that control physical devices such as lights and our Smoke Unit. To tie all of this together, QSI then “maps” a Feature F to a Port P to convey the Feature’s behavior (via the values V of its attributes A) to a physical device using CV 115.F.0 = P. The Firebox Feature (Fan) F=122 will be “mapped” to output Port 9, and the Rear Cab Lights Feature (Heater) F=118 will be “mapped” to output Port 12.

I will NOT discuss how to set or reset the configuration variables (CV) of a QSI decoder with the Quantum Programmer. These details can be found in the documents here!

I strongly urge you to familiarize yourself with the QSI decoder’s QSI DCC Manual. Greg Elmassian’s site is also essential for understanding some features of QSI decoders that are confusing or not mentioned in the official documentation. Greg’s site is extensive, so use the site’s navigation features to find helpful information on QSI decoders. This site also provides essential information on how to program QSI decoders. These decoders are highly flexible: they produce fantastic sound and offer an extensive range of locomotive behavior control. But configuring them is complex. 

In summary:

  • CV 115.F.0  = P: Map Feature F to Port P
  • CV 55.F.A = V: For Feature F, set Attribute A to Value V

Initial Review

Warning: this section is somewhat technical, and you can skip down to the section on Decoder Programming.

The initial connections for the FX-DO decoder found in the L-105 are shown below.

The original FX-DO pinouts with future expansion for the fan-driven smoke unit

I also noticed the decoder had a “SMOKE” plug (see photo below). How do I use it?

View showing the FX-DO’s smoke plug

I connected the smoke unit’s heater to this plug. The sound came on as expected upon initial power-up, but no power was applied to the smoke unit’s heater. Disappointing.

While fiddling around some more, I quickly toggled the track power off and back on – wonder of wonders, the heater fully activated, and it was boiling! None of the information I could find discussed this method for activating a smoke unit’s heater in this fashion – it was just serendipity that I discovered this Feature.

Next are photos showing how I tracked down the connections that would control the output from this “SMOKE” plug.

First, I looked at what connects to the SMOKE plug’s “-” and “+”. The photo below shows that SMOKE “-” connects to the Rectifier’s “-“, which acts as a ground, and power transistor Q7’s drain D7 connects to the SMOKE “+”. The transistor’s source S7 connects to the Rectifier “+”, a high-power DC voltage source.

Q7’s gate G7 “opens”/”closes” source S7 (powered by Rectifier +) that sends current to drain D7, which is directly connected to Smoke +.

What control’s this power transistor’s gate G7? A bottom view of the same board reveals that Q7’s gate G7 is directly connected to transistor Q15’s collector C15. This transistor’s emitter E15 connects to a resistor R12 connected to the “ground” provided by the Rectifier “-” and Q15’s base B15 controls whether collector C15’s voltage is shorted to the Ground through emitter E15 or acts as an open circuit; i.e., this is a low-power switch controlling the turn on/turn off of the power transistor Q7.

Q15’s base B15 “opens”/”closes” emitter E15 that sends current through collector C15, which is directly connected to Q7’s G7 (photo above).

What controls Q15’s base B15? The photo below shows part of the surprising answer that a pin on the top board is directly connected to Q15’s base B15. There might be other electronics that set the voltage on base B15 (and this pin), and this pin did not seem to be connected to anything else on the top of the board.

The top board shows a pin’s connection to transistor Q15’s base B15, which turns on/off the smoke unit’s heater.

At this point, I verified that after the decoder was turned off for an extended period and then turned back on, the smoke unit’s heater was off, and the voltage on this newly-discovered pin was held at ground voltage. Quickly toggling DCC power to the decoder off and back on revealed the voltage on the pin was 5V, and the smoke unit’s heater was on. Something in the rest of the electronics was setting this voltage, almost surely through a “pull-up” resistor, connecting Q15’s base B15 to a switched 5V/ground source that the decoder was controlling – I didn’t find it.

And, when I shorted this pin (and Q15’s base B15) to the Ground, the smoke unit would turn off! No harm, no foul if I ground/unground this pin to turn the smoke unit’s heater off/on. Now we can control how long the smoke unit’s heater is on and off!

For reference, the figure below is a guess at the QSI Titan FX-DO’s smoke unit heater control electronics. This guess circuit satisfies the requirement it reproduces in simulation the results I have measured, as shown in the next section.

QSI Titan FX-DO smoke unit heater control electronics

Next, we program the decoder to control the turning on/off this newly-found heater switch.

Decoder Programming

Following Greg Elmassian’s superb post, I reprogrammed the Titan FX-DO as follows to activate the decoder’s outputs (called ports) that will ultimately be physically connected to wiring that controls the power to the smoke unit’s heater and fan:

Fan: Feature: F=122 (Firebox), Port: P=9

  • CV115.122.0 = 9 (Default: 9): Map Feature F=122 (Firebox) to Port P=9
  • CV55.122.11 = 100 (Default: 0): For Feature F=122, set Min Attribute A=11 to Value V=100. Tune this. Chuffing is less evident if this value is too large, and the fan will not spin if this value is too small.
  • CV55.122.12 = 255 (Default: 255): For Feature F=122, set Max Attribute A=12 to Value V=255.
  • CV55.122.13 = 100 (Default: 0): For Feature F=122, set Mid Attribute A=12 to Value V=100. Tune this. Chuffing is less evident if this value is too large, and the fan will not spin if this value is too small.
  • CV55.122.17 = 1 (Default: 1): For Feature F=122, set Rise Time Attribute A=17 to Value V=1. Tune this.
  • CV55.122.18 = 22 (Default: 1): For Feature F=122, set Fall Time Attribute A=18 to Value V=22. Tune this.

Heater: Feature: F=118 (Rear Cab Lights), Port: P=12. Several of the following CV values are very important to set correctly. Otherwise, you might burn out the smoke unit! During testing, please ensure sufficient smoke fluid is loaded into the smoke unit and be prepared to turn off power to the locomotive quickly should the smoke unit get too hot and produce excessive Smoke!

  • CV115.118.0  = 12 (Default: 12): Map Feature F=118 (Rear Cab Lights) to  Port P=12
  • IMPORTANT!!! CV55.118.0 = 1 (Default: 0): For Feature F=118, set Rear Cab Lights Initial State Attribute A=0 to Value V=1: activate Feature. This setting was NOT discussed in Elmassian’s post. You want the modulation function ON at startup to prevent smoke unit heater burn-out.
  • CV55.118.1 = 85 (Default: 85): For Feature F=118, set Active Conditions Attribute A=1 to Value V=85: active for all conditions: FOR; REV; Neutral From Forward, NFF; and Neutral From Reverse, NFR
  • IMPORTANT!!! CV55.118.12 = 200 (Default: 255): For Feature F=118, set Max Attribute A=12 to Value V=200. A value of 255 fully turns the heater OFF, and a value of 0 fully turns the heater on! It is essential to tune this value to prevent burn-out of the Smoke Unit Heater!!! See the calculation in the section below.
  • IMPORTANT!!! CV55.138.2=253. The indexed CV55.138.2=Value sets the “Multiple Automatic Lights #3” controlled by the same function key, which by default is F12. When Value=253=1111101b, the Firebox (=> Fan, Feature F=122) is controlled by F12 (bit 4=1 of Value), but the Rear Cab Lights (=> Heater, Feature F=118) have no F# control (bit 1 = 0 of Value). This prevents the turn-off of the smoke unit’s heater modulation, preventing burn-out. This table from the QSI DCC Manual shows which bits activate which Feature.

The upshot is that F12 activates the smoke unit fan, and the power to the smoke unit heater is ALWAYS modulated to prevent burn-out.

Now that we have programmed the decoder’s control for the smoke unit’s fan and heater, we need to connect these decoder outputs to the rest of the circuitry on the decoder.

Decoder Board Modifications

With the proper decoder output ports L12 (for the heater) and L9 (for the fan) properly configured, the photo below shows the simple wiring connections from these two ports to physically control the smoke unit’s fan and heater.

Modifications to the decoder’s top board to control the smoke unit’s heater and fan

The top board’s physical modifications were the following:

  • Added a wire (Brown) connecting Port 12 (sometimes designated L12) to the pin indicated in the photo above. This allows L12 via Feature 118 (Rear Cabin Light) to modulate the voltage applied to the smoke unit’s heater. The smoke unit heater is activated by powering off and quickly back on: I have never seen this Feature discussed.
  • Spliced +5V (Purple wire) to the smoke unit’s Fan “+” (Blue wire), and added a wire (Grey) connecting Port 9 (sometimes designated L9) to the smoke unit’s Fan “-“. This allows L9 to modulate the power applied to the Smoke Unit Fan via Feature 122 (Firebox).
  • Note that the smoke unit’s heater is already connected to the SMOKE plug.

I think you will agree that these modifications are easy!

Tuning for a Particular Smoke Unit

For my testing, I used a small MTH smoke unit with a heater resistor value of 8 ohms. The rectified track voltage is about 14.8V (about the battery voltage I use for my dead-rail applications). Experience indicates that good smoke output requires about 6 W. A value CV 55.118.12 = 0 will deliver full power to the heater: (14.8V*14.8V)/(8ohms) = 27.4W, which is far too high. We fix this problem by reducing the percentage of time the power is ON to the smoke unit heater.

Typically, decoders do this by repeatedly fully turning ON the device, such as a light, for a short period by actively connecting the “-” of the device to the Ground and allowing current to flow, and then turning the device OFF by open circuiting the device’s “-” to prevent current flow for a short period. This scheme is called Pulse Width Modulation (PWM), and the percentage of time the device is fully ON (grounding) is called the Duty Cycle (D). A decoder’s CV value of 255 corresponds to a duty cycle of D=100%, 128 corresponds to about D=50% (really 128/255), etc.; i.e., D=(CV_Value)/255.

The next part is a little confusing. If the decoder’s heater control (L12) is ON (grounding), then our smoke unit heater is turned off OFF. When the decoder’s control (L12) is OFF (open-circuit), other electronics in the QSI decoder “take over” and pull the heater’s control voltage ON (+5V), turning ON the heater! So if the duty cycle of the decoder’s control (L12) is D (percentage of time it GROUNDS), the duty cycle of the smoke unit’s heater Dheater = (1-D) = (1-CV_Value/255) = (255-CV_Value)/255.

Relationship between the decoder heater control (L12) duty cycle, D, and the heater’s duty cycle, Dheater. The measurement point is at the pin connected to decoder port L12 by the Brown wire shown in a previous photo.

One of the simplicities of the Pulse Width Modulation (PWM) delivered by DCC decoders to modulate power to lights, smoke units, and other devices is that the average power delivered, designated Pavg, is equal to the maximum power, Pmax, times the “duty cycle.” For our smoke unit heater Pavg = Pmax * Dheater = Pmax * (1-D) = Pmax * (255-CV_Value)/255.

So let’s determine the value of CV 55.118.12, which ranges from 0 (D=0% -> Dheater=100%) to 255 (D=100% -> Dheater=0%) to produce a “safe” average power of 6W.

  • Average Power: Pavg – example: Pavg=6W. I don’t recommend much more than this value.
  • Track/Battery Voltage: Vmax – example: 14.8V. This value is typical of DCC command stations and “4s” (4 cells in series) LiPo batteries.
  • Heater Resistance: R – smoke unit’s resistance generally ranges from 8 to 27 ohms. My MTH smoke unit’s heater resistance is 8 ohms. Some Lionel smoke unit heaters have a resistance as high as 27 ohms.
  • Maximum Power: Pmax – the maximum power that can be delivered to the heater by track/battery voltage. Pmax = Vmax * Imax = Vmax * (Vmax/R) = (Vmax*Vmax)/R.

Using ohms law for a resistor I=V/R and how CV_Value corresponds to duty cycle D=(CV_value)/255, the average power is Pavg = Pmax * Dheater = Pmax * (1-D) = (Vmax*Imax) * (1-D) = (Vmax*Vmax/R) * (255-CV_value)/255. Rearranging the deck chairs to solve for CV_Value: (255-CV_Value) =(Pavg*R*255)/(Vmax*Vmax) or CV_Value = 255*(1-(Pavg*R)/(Vmax*Vmax)).

For our example CV_Value = 255*(1 – (6W*8ohm)/(14.8V*14.8V) ) = 200; i.e., CV55.118.12 = 200. You can, of course, tune this value should the smoke unit produce too much or too little Smoke. Please ensure the smoke unit is properly loaded with smoke fluid before testing.

Just remember that CV55.118.12=255 fully turns OFF the smoke unit heater, and CV55.118.12=0 fully turns it ON.

Demo

Below is the “proof-in-the-pudding” video. Track DCC was on (no smoke) while moving backward, and after stopping, quickly toggled off/on to activate the smoke unit. F12 was on to activate the fan.

Preliminary demo showing a QSI FX-DO decoder interfaced with a fan-driven smoke unit
Final demo showing a QSI FX-DO decoder interfaced with a fan-driven smoke unit

Conclusion

This is a difficult and technical post, but if you want to use a fan-driven smoke unit with a QSI Titan FX-DO decoder found in some Sunset 3rd Rail 2-rail locomotives, I think you will be rewarded with an excellent decoder to control your locomotive!

Dead-Rail Conversion of a Max Gray D&RGW L-131, 2-8-8-2, 2-Rail

Introduction

I received this beautiful 2-Rail Max Gray D&RGW L-131 from a private seller. As an older O Scale model, it required updating for DCC-controlled lighting, motor, sound, smoke, and dead-rail operation (battery power, radio control).

This post is brief because many of the modifications are similar to those from past posts. The most significant modification was removing the open-frame motor with a more “modern” Pittman motor. DCC decoders struggle to control old, open-frame motors. Also, these older motors do not have the strong rare-earth magnets that improve efficiency – an essential consideration for battery power.

LokSound 5 XL Sound Project Settings

I selected a LokSound 5 XL because it provided plenty of power (5A) for a large locomotive. I chose #3608 based on photos of the L-131 I could find online. A heavily-modified LokSound UP “Challenger” Sound Project was selected because of its passing similarity to the L-131.

LokSound 5 XL Pin-out. Note the jumpers to split the heater current and provide dual fan control.
LokSound 5 XL Sound Project Settings #1
LokSound 5 XL Sound Project Settings #2
LokSound 5 XL Sound Project Settings #3. Note that AUX 5 & 6 are used to split the return current from the smoke unit heater.
LokSound 5 XL Sound Project Settings #4. AUX 7 sets steady-state fan output at rest and moving.
LokSound 5XL Sound Project Settings #5. AUX8 controls the synchronized fan output.
LokSound 5 XL Sound Project Settings #6.
LokSound 5 XL Sound Project Settings #7.
LokSound 5 XL Sound Project Settings #8.
LokSound 5 XL Sound Project Settings #9. Note the dual dynamo volume reduction.

Loco and Tender Modifications

The original “open frame” was both inefficient and difficult to control by the DCC decoder, so it was replaced with a more “modern” Pittman 9433L187, 15.1 V motor used in many O Scale locomotives.

The LokSound 5 XL was mounted in the locomotive to reduce wiring between the locomotive and tender. LEDs were used for the marker light, front light, cabin light, and firebox simulation.

The hose required slight displacement to remove the chassis from the boiler frame.

The boiler face plate was removed to allow smoke unit installation and access.

Spring-mounted fan-driven smoke unit. The DCC decoder controls heating and coordinated chuffs.
The numerous locomotive modifications include a new motor, decoder, LED lighting, and smoke unit.

The tender modifications include adding a speaker (with exit holes drilled through the chassis), battery, LED tail and marker lights, and ProMini Air transmitter and Cytron amplifier.

The tender modifications include LED lighting, speaker, battery, ProMini Air receiver, and Cytron amplifier.
Tender modifications showing power switch and battery charging plug
Tender modifications for the small whip antenna. A tiny #56 hole provides the antenna exit.
The “proof in the pudding” video. A smartphone throttle app (Locontrol) communicates with a WiFi-equipped EX-CommandStation integrated with a ProMini Air transmitter that sends wireless DCC commands to a ProMini Air receiver and amplifier located in the tender. The amplifier, in turn, sends track-level DCC to the locomotive’s LokSound 5 XL DCC decoder that controls sound, smoke, lighting, and locomotive motion.

A Customer’s Use of the ProMiniAir Transmitter and Receiver

The greatest satisfaction of providing a product to Model Railroaders is reports of successful use of your product. Below are photos and videos (with permission) of Mr. Tracey Sander’s use of the ProMiniAir transmitter and receiver.

ProMiniAir Transmitter Connected to a WiFi-Equipped Prodigy DCC Command Station

Below are photos and a video showing how Mr. Sander connected a ProMiniAir Transmitter to a WiFi-equipped Prodigy Express DCC command station. The locomotive in the video has an onboard ProMiniAir receiver and amplifier connected to its DCC decoder.

He uses the iOS WiThrottle app that connects to the Prodigy’s WiFi to control his locomotive.

Details of connecting the ProMiniAir to WiFi-equipped DCC command stations can be found here.

Mr. Sander’s connection of the ProMiniAir transmitter to a WiFi-equipped Prodigy Express DCC command station (with permission)
Close-up of Mr. Sander’s ProMini Air transmitter to a WiFi-equipped Prodigy Express DCC command station (with permission)
Video demonstration of Mr. Sanders using his ProMiniAir transmitter connected to a WiFi-equipped Prodigy Express DCC command station (with permission)

ProMiniAir Transmitter Connected to a WiFi-Equipped EX-CommandStation

Below is a photo and a video showing how Mr. Sander connected a ProMiniAir Transmitter to a WiFi-equipped EX-CommandStation, whose open-source software was developed by DCC-EX.com. The EX-CommandStation is a wonderful, low-cost way to acquire a DCC command station. As before, the locomotive in the video has an onboard ProMiniAir receiver connected to its DCC decoder.

Details on the fully stand-alone ProMiniAir transmitter integrated with a WiFi-equipped EX-CommandStation can be found here.

Mr. Sander’s ProMiniAir transmitter connected to a WiFi-equipped EX-CommandStation (with permission)
Video demonstration of Mr. Sanders using his ProMiniAir transmitter connected to a WiFi-equipped EX-CommandStation (with permission)

Conclusion

Thanks to Mr. Sanders for his permission to use his photos and videos.

Mr. Sanders is clear evidence that Model Railroaders have lots of fun!

A Simple Way to Extend a Whip Antenna

A whip antenna is a simple and effective antenna used by many dead-rail receivers, including the ProMiniAir. Still, sometimes it’s not feasible to mount the whip antenna directly to the transceiver and get good RF reception. One solution is a U.FL extender cable connected to the U.FL plug on the receiver, and the other end can be “snaked” outside the locomotive or tender shell. The U.FL whip antenna then plugs into the U.FL socket on the distant end of the extender outside the shell for better RF reception.

A U.FL extension cable. The U.FL connector on the left plugs into the receiver’s U.FL socket, and the U.FL antenna plugs into the U.FL socket on the right.

An extender has some downsides: the U.FL socket is easily broken, requires a fair-sized exit hole, and may be subject to increased RF noise. This post will show you a better solution for some applications.

A Simple Solution

While browsing RF components on AliExpress, I came across “IPX IPEX U.FL Jack RF Cable 1.13mm Jumper Solder Single-head Adapter Connector” in various lengths.

IPEX U.FL Jack Cable Single-head Adapter

Suppose you strip off 82mm (North American) or 86 mm (EU) of the outside plastic cover and grounding wrap to expose the inner plastic insulator and the antenna wire. In that case, you have over 200mm of grounded connection for “snaking” the antenna connection to a distant location.

In practice, once you have snaked the cable into its final position, you can cut off the excess, ensuring you leave enough length for stripping off the plastic cover and grounding wrap to expose the antenna. A small hole using a #56 drill bit (0.0465″) provides sufficient clearance for the grounded lead to exit the shell.

The stripped cable exposes the antenna wire with its insulating cover.

You can bend the grounded lead to the angle you want and cover the exposed antenna section with small-diameter heat shrink tubing to hide the bright antenna wire.

The final antenna mount with heat shrink tubing covering the exposed antenna wire.

Below is a video of this antenna solution in action.

The final “proof in the pudding” of the antenna concept used on a dead-rail O scale Sunset 3rd Rail (2-Rail) UP 4-6-6-4 Early Challenger. The ProMiniAir receiver and DCC amp were installed in the tender and controlled via smartphone using the Locontrol app WiFi-connected to the stand-alone ProMiniAir transmitter integrated with a WiFI-equipped EX-Command Station. The dynamo sound is much too loud!

Conclusion

I hope you find this simple solution valuable in your future dead-rail endeavors!

Dead-Rail Conversion of an MTH UP 4-12-2 2-Rail locomotive with the New, Smaller ProMiniAir Receiver

I have posted several dead-rail conversions of O scale 2-Rail MTH steam locomotives equipped with a PS-3.0 controller capable of operating in DCC mode. These locomotives are convenient for dead-rail conversion because they come fully equipped with good sound, lighting, and smoke effects – all controllable with DCC. However, I have received numerous questions asking for clarification.

So, what’s new in this post?

The goals of this post are to show off a dead-rail conversion with my new, much smaller ProMiniAir receiver (1.1″ x 0.8″) coupled to a small DCC amplifier, the DRV8871 (1.0″ x 0.8″) and to explain the conversion strategy for O scale, PS-3.0-equipped MTH locomotives. I have chosen the PS-3.0-equipped MTH UP 4-12-2 2-Rail locomotive (MTH 22-3641-2) because it has a small, crowded tender, making for a challenging installation of the required dead-rail components: battery, ProMiniAir receiver/DCC amplifier, antenna, switches, and charging plug.

Some conversion details, such as power connections, are left out to reduce cluttering the critical points.

Introduction

The photo below shows what we are up against: a very crowded tender!

The original, very crowded tender electronics

The challenge is how/where to locate the dead-rail components.

Dead-Rail Conversion

Since this locomotive is fully configured for lighting, sound, and smoke effects, and all control electronics are in the tender, I did not modify the locomotive!

We’ll turn our attention to the tender.

The most challenging aspect of this conversion is battery location. After some fiddling and considering other battery configurations, I decided on a flat 14.8V Tenergy battery mounted in the tender, as in the photo below.

Battery location using a 14.8V Tenergy battery

This location required slightly bending the PS-3.0’s heat sink to provide battery clearance.

I also moved the speaker platform forward and removed the plastic speaker enclosure to make room for the battery.

I moved the speaker platform forward to provide room for the battery.

The wiring of the 2Rail/3Rail switch is at the heart of our conversion. Since we will not operate on 3-rail track, we will repurpose the 2Rail/3Rail switch to retain the original 2-rail track-powered operation or use the new battery-powered amplifier output connected to the ProMiniAir receiver. See the diagrams below for the original and final wiring for repurposing the 2Rail/3Rail switch.

The original switch wiring for 2-rail operation. The right 2RAIL post is not connected!
The original switch wiring for 3-rail operation. All wheels become “Track Left,” and the center-rail pick-up rollers become “Track Right.”
The final switch wiring for 2-rail operation. Track-based “Track Left” and “Track Right” are fully retained.
The final switch wiring for radio-control operation. Now the ProMiniAir receiver’s DCC amplifier outputs supply “Track Right” and “Track Left” to the PS-3.0.

I modified the wiring to the 2Rail/3Rail switch to accommodate DCC inputs from the ProMiniAir receiver’s amplifier. The photo below shows the first step: moving the gray wire soldered to the right center post of the 2Rail/3Rail switch to the front right post.

The next step is the hard part: figuring out the re-wiring required. To aid in the discussion, let’s talk about the capabilities of the MTH PS-3.0 controller. This board is designed to pick up signals through the locomotive and tender’s wheels and, if operating on 3-rail track, the center-rail pick-up rollers. To accommodate either 2-rail or 3-rail operation, MTH provides a 2Rail/3Rail switch on the underside of the tender chassis.

Consequently, when you set the switch to “2Rail”, the gray wires, which are electrically connected to the left track, provide input to the “Track Left” of the PS-3.0.

Next, the gray wire directly connecting the “Track Left” input to the PS-3.0 board is separated from the other gray wires and soldered to the right-center post of the 2Rail/3Rail switch. Now, the center-right post provides the “Track Left” input to the PS-3.0 from rail “Track Left” when you set the switch to “2Rail.”

Moving the gray wires and creating a single Track Left input to the PS-3.0
The Track Right (red)/Left (gray) connections to the 2Rail/3Rail switch to the PS-3.0 board

Since we will NOT be operating in 3Rail mode, we can repurpose the 2Rail/3Rail switch’s 3-Rail connections to provide the DCC inputs from the ProMiniAir receiver’s DCC amplifier.

I first removed the wiring on both of the 3Rail posts on the switch.

Removal of the 3-Rail wiring connections to the 2Rail/3Rail switch. After removal from the switch post, the two black wires MUST be connected to ensure that rail-based “Track Right” is supplied.

I sealed off this wiring, preserving the connection of the two black wires since they both contribute to “Track Right” from the locomotive or tender wheels.

Sealing off the 3-Rail wiring

Then, I soldered two wires with a plug to these “3Rail” switch posts that will connect to the DCC Track Right/Left outputs of the ProMiniAir receiver’s DCC amplifier. With this modification, when the switch is set to this position, it connects the PMA amplifier’s DCC output to the PS-3.0. This now completes the conversion of the 2Rail/3Rail switch to a 2Rail/RA (for radio-generated signal) switch. That was the hard part.

Wiring for DCC inputs from the ProMiniAir receiver’s DCC amplifier so that the “3Rail” switch setting now becomes the selection for “Radio Control DCC.”

The signals originally picked up from the rails come in two “languages” that the PS-3.0 controller understands: DCS and DCC. To accommodate this capability, MTH provides a DCS/DCC switch on the underside of the tender chassis. The DCS commands are a proprietary MTH invention and, for our purposes, do not interest us. DCC is important to us since the ProMiniAir receiver is designed to receive wireless DCC commands, which are an NMRA standard.

We can set up the wiring for permanent DCC operation and repurpose the DCS/DCC switch for Battery ON or Battery Charging. When you set the unmodified DCS/DCC switch to “DCS,” the two black wires activate DCS mode, which we no longer need. When you set the DCS/DCC switch to “DCC,” these two wires are not electrically connected, which is what we want permanently.

The first step is to remove these two black wires and close them off to prevent them from shorting together.

Removal and insulation of the DCS wires for repurposing the DCS/DCC switch as a Battery ON/Charging switch.

Then, three wires are soldered to this switch:

  1. Center posts: Battery +. This post provides battery power that will either supply power to the PMA Rx and DCC amplifier or receive charging power from the charging plug, depending on the switch position.
  2. Back posts: PMA Rx/DCC amp power +.
  3. Front posts: Charging plug +
Final connections for the switches

The right and left posts are soldered to each wire to ensure a low-resistance, high-amperage connection. The rest of the power connections are standard and not discussed here.

OK, we’re finished with all wiring modifications; now, let’s turn to adding the antenna and charging plug by first drilling holes in the bottom of the tender’s chassis and mounting the antenna and charging plug (see photo below).

Antenna and charging plug mounts, and repurposed switches

The antenna mount has a wire connection carrying RF output from the antenna to a U.FL connector plugged into the ProMiniAir receiver.

The charging plug has a “+” power connection wired to the battery ON/Charging switch. All power “-” connections are on the “-” posts of the charging plug.

Finally, I mounted the ProMiniAir receiver and its DCC amplifier over the speaker after removing the plastic speaker cover to provide sufficient battery clearance.

Mounting of the small ProMiniAir receiver and DCC amplifier

The small size of the ProMiniAir receiver and its DCC amplifier make this mounting strategy possible.

Demonstration

The video below shows the “proof in the pudding,” The locomotive is controlled by the new stand-alone ProMiniAir transmitter integrated with a WiFI-equipped EX-CommandStation that receives throttle commands from a smartphone app.

Demonstration video using WiThrottle app connected to PMA transmitter integrated with a WiFi-equipped EX-CommandStation that transmits to the onboard ProMiniAir receiver.

A Low-Cost WiFi-Equipped DCC Base Station for the ProMiniAir Transmitter

The new, stand-alone ProMiniAir transmitter integrated with a WiFi-equipped EX-CommandStation

Many model railroaders enjoy using a hand-held throttle or smartphone app that connects to a centralized DCC command station that sends DCC over the tracks to decoder-equipped locomotives, and some “dead-railers” enjoy a similar experience using specialized hand-held transmitters such as the CVP Airwire or Stanton Cab throttles. These dead-rail throttles are expensive and sometimes hard to find due to supply chain problems. Other hand-held dead-rail throttles only support their proprietary receivers and “vendor-lock” users because they have no interoperability with other dead-rail vendors 🙁

On another page, I showed how easy it was to use a smartphone equipped with a “wiThrottle-compliant” app in conjunction with the ProMiniAir transmitter to control your dead-rail locomotive(s) fitted with a variety of receivers such as ProMiniAir, Tam Valley Depot DRS1, CVP Airwire, Stanton Cab, QSI Gwire, and NCE. The downside was that you must invest in a WiFi device for the DCC base station connected to the ProMiniAir transmitter. Many folks pushed back on the additional cost and infrastructure to use their smartphone app for dead-rail control using the ProMiniAir transmitter.

I searched for a way to provide a low-cost way to use your smartphone in conjunction with the ProMiniAir transmitter, and this post shows the low-cost solution that I offer for sale.

The solution: I came across a low-cost way to create a small DCC base station equipped with WiFi at a very active group, DCC-EX, and I will describe how I configured this base station to use a smartphone to control dead-rail locomotives equipped with ProMiniAir, Tam Valley Depot, CVP Airwire, QSI Gwire, NCE, or Stanton Cab receivers. The cost for the PMA Transmitter/WiFi-equipped EX-CommandStation for smartphone dead-rail control is $70.

The wiThrottle-protocol smartphone apps that will work with this solution include (this list is from DCC-EX):

The critical point is that the ProMiniAir transmitter, coupled with the WiFi-equipped EX-CommandStation, is an entirely self-contained solution for $70. All you need to do is apply power and then connect with a smartphone throttle app for mobile control of dead-rail.

If you don’t want to go through the details of the solution, you can jump to the Instructions below.

The Solution

The DCC-EX team has developed an open-source, low-cost DCC controller EX-CommandStation. Here is the DCC-EX team’s description (reprinted from here):


An EX-CommandStation is a simple but powerful DCC Command Station that you can assemble yourself and which is made using widely available Arduino boards. It supports much of the NMRA Digital Command Control (DCC) standards, including

  • Simultaneous control of multiple locomotives and their functions
  • Control of accessory/function decoders
  • Programming Track
  • Programming on Main Track

It includes advanced features such as:

  • wiThrottle Server implementation,
  • General purpose inputs and outputs (I/O) for extensibility, and
  • JMRI integration

The primary intention of the EX-CommandStation is to receive commands from multiple throttles and send out DCC on tracks. These throttles can be “wired” or “wireless:”

  • USB
  • WiFi
  • Ethernet
  • Bluetooth
  • JMRI

With the WiFi-equipped EX-CommandStation, you can use a wiThrottle-protocol smartphone app that connects to the EX-CommandStation via WiFi. Then the EX-CommandStation’s +5V logic DCC output is not sent to a “motor shield” to power tracks but instead serves as a direct input to the ProMiniAir transmitter for dead-rail control. It’s that simple; the technique was easy to implement and is low-cost (about $25, instead of paying for a WiFi device that connects to a commercial DCC throttle, a total of over $200).

Instructions for Using the ProMiniAir Transmitter/WiFi-Equipped EX-CommandStation with a Smartphone

What you need:

  1. A smartphone loaded with the wiThrottle-compliant app. See the list above.
  2. A properly configured ProMiniAir Transmitter/WiFi-equipped EX-CommandStation. We provide this.
  3. A locomotive(s) equipped with receivers compatible with the ProMiniAir transmitter, such as:
    • ProMiniAir receiver
    • Tam Valley Depot DRS1 receiver
    • CVP Airwire receiver: CONVRTR 15/25/60, G-3/4
    • Gwire receiver
    • Stanton Cab receiver
    • NCE D13DRJ wireless decoder

Steps:

  1. Plug power into the PMA Tx/WiFi-equipped EX-CommandStation, which turns on the ESP8266 WiFi transceiver to broadcast information for your smartphone to pick up, boots up the EX-CommandStation itself, and powers up the ProMiniAir receiver and LCD. You can connect a 9V power to the ProMiniAir transmitter/WiFi-equipped EX-Command station for “take it anywhere” capability. The battery adapter can be found here. A 1200 mAh battery, such as the Energizer Lithium, will last about 4 hours. Rechargeable Lithium-ion 600mAh batteries will last about two hours, but a four-pack with a charger will only set you back about $24.
  2. Go to the smartphone’s WiFi settings:
    1. If you have a home router, turn off auto-join, which prevents your smartphone from jumping to your home router rather than the DCC-EX WiFi router.
    2. Select the EX-CommandStation’s WiFi router. The router’s name is “DCCEX_123456,” where “123456” is a unique series of numbers and letters (the “MAC address” of the WiFi transceiver).
    3. When asked for a password, enter “PASS_123456”, where “123456” is the exact string of numbers and letters in the router’s name. You will probably need to enter the password only once since your smartphone will probably remember the password.
    4. The “fiddle factor:” Sometimes, the smartphone will complain it cannot connect to the DCCEX router or that the password is incorrect. Ignore this complaint (assuming you entered the password correctly) and try connecting again. The smartphone will often successfully connect once you select the DCCEX router again.
    5. You might want to turn on the auto-join option for this router so that your smartphone will automatically try to connect once the WiFi-equipped EX-CommandStation is powered up.
  3. Once connected, go to your throttle app:
    1. When asked for WiFI router configuration, set the IP address to “192.168.4.1” and the port to “2560“.
    2. Once your throttle app connects to the EX-CommandStation, you can select your loco(s), etc.
  4. Turn on your dead-rail locomotives, and control them with your smartphone app!
  5. Once finished with the throttle app, you can go back to settings and re-select the auto-join option for your home router.

So here is the “proof of principle” demo. The photo below shows the prototype solution: a low-cost EX-CommandStation with integrated WiFi connected to a ProMiniAir transmitter. The video shows the iOS “Locontrol” app connected to the PMA Tx/EX-CommandStation with WiFi to control a dead-rail locomotive equipped with a ProMiniAir receiver and a DCC decoder that controls loco speed and direction, lighting, sound, and smoke. The Locontrol app is excellent because you can record video while controlling the locomotive.

The prototype solution is a low-cost EX-CommandStation with integrated WiFi connected to a ProMiniAir transmitter. Up to five smartphones with WiFi throttle apps send commands to the WiFi receiver connected to the centralized command station, generating DCC output that the ProMiniAir transmitter sends to onboard locomotive receivers. NOTE: In current versions, Pin 12 instead of Pin 7 is the +5V DCC data connection to the PMA transmitter.
Detailed connections
Video of using the iOS Locontrol app with the PMA Tx/EX-CommandStation with WiFi to control a dead-rail locomotive equipped with a PMA receiver and DCC decoder

Programming on the Main (PoM)

OK, these smartphone throttle apps are great, but they have a limitation: they can’t currently send commands in PoM (OPS) mode to change the value of configuration variables “CV” in a decoder. This capability is necessary when you need to change the configuration of the ProMiniAir transmitter (whose default DCC address is 9900), such as the wireless channel (CV255 = 0-18) or power level (CV254=1-10). Of course, you might also need to make CV changes to your dead-rail locomotive’s DCC decoder using PoM (OPS) mode, too!

You may NEVER change the ProMiniAir’s configuration, but you might. How to do this?

Solution #1

Both iOS and Android have apps that come to the rescue: TCP/IP to Serial Terminal and Serial WiFi Terminal. The apps provide a wireless connection to the EX-CommandStation to reconfigure the ProMiniAir transmitter (or receiver, for that matter!) or your dead-rail locomotive’s DCC decoder in PoM mode.

Since I own an iPhone, I’ll show you what to do using TCP/IP to Serial Terminal.

What you need:

Steps:

  1. Select the app and enter the IP address and port number, and then connect:
  2. Test using the status command, entering <s> (case sensitive):
  3. See the response:
  4. Enter the command to change the value of CV 255 at address 9900 to a value of 5 by entering <w 9900 255 5> (case sensitive):
  5. Verify that the ProMiniAir transmitter, which is at DCC address 9900, channel has changed to 5:

The steps for using the Android app Serial WiFi Terminal should be similar.

So, there you have it, a wireless way to control a WiFi-equipped EX-CommandStation in Programming on the Main (PoM) mode, also known as OPS mode. While we need these apps to send PoM commands to reconfigure the ProMiniAir transmitter, you can enter any DCC-EX Command! Have fun!

Solution #2

If you have a Windows, macOS, or Linux computer or laptop, you can interact with the WiFi-equipped EX-Command station, including reconfiguring the ProMin Air transmitter. The technique is based on the “curl” program.

What you need:

  • A Windows, macOS, or Linux computer or laptop.
  • A WiFI-equipped EX-CommandStation

Steps:

  1. Connect power to the EX-CommandStation. This powers up the WiFi-equipped EX-CommandStation and the ProMiniAir transmitter with its LCD.
  2. On your computer, select the DCCEX_123456 wireless router and, if asked, enter the password PASS_123456, where “123456” is a unique string representing the MAC address of the ESP8266 WiFi transceiver integrated with the EX-CommandStation.
  3. On your computer, start up a “terminal” session. A terminal session allows you to type in commands.
  4. Enter the following command curl telnet://192.168.4.1:2560. This opens a simple telnet-protocol connection between the computer and the WiFi-equipped EX-CommandStation at address 192.168.4.1 port 2560, the default EX-CommandStation address and port.
  5. Your command line will now wait for you to enter the text transmitted to the EX-CommandStation! As a test, type in <s> and press RETURN, and you should see a response such as
    <p0>
    <iDCC-EX V-4.0.0 / MEGA / PMA_Tx G-a26d988>

    If using curl on Windows, you may need to press RETURN then ^Z (CONTROL+z) and then RETURN again to “flush” out the response from the EX-CommandStation.
  6. OK! Now let’s change the ProMiniAir transmitter’s channel to “5” by using a PoM (OPS) command (DCC Address: 9900, CV#: 255, CV value: 5): type in <w 9900 255 5> and press ENTER. You will not see a response (sigh), but if you look at the ProMiniAir transmitter’s LCD, you will see the following:
  7. You exit the session by hitting < control>+C.

Pretty simple!

Solution #3

This solution is NOT all wireless but demonstrates how to use the Web-based WebThrottle-EX to control the EX-CommandStation.

What you need:

  • A computer or laptop
  • A WiFi-equipped EX-CommandStation
  • The USB cable that came with your EX-CommandStation

Steps:

  1. Connect power to the EX-CommandStation. This powers up the EX-CommandStation and the ProMiniAir transmitter with its LCD.
  2. Connect the USB cable to the EX-CommandStation and your computer/laptop.
  3. On your computer or laptop’s Chrome web browser, navigate this link: https://dcc-ex.github.io/WebThrottle-EX. An excellent throttle application will start, and the DCC-EX team has excellent instructions for using this application. We will concentrate on our narrow goal: getting OPS mode instructions to the ProMiniAir transmitter.
  4. Select the “Connect DCC++ EX” button to activate the USB serial connection to the EX-CommandStation.
  5. You will see a pull-down menu of USB ports. Select the serial port you think is correct, and if it is, the log window at the bottom will cheer your success. If not, try another USB port from the pull-down list.
  6. Now look at the Debug Console and ensure Debug in “ON.”
  7. In the “Direct Command” entry, type in a “direct” command. In our example, we want to send an OPS mode command (“w” for write) to DCC address 9900 (the PMA transmitter) to change CV 255 (channel selection) to the value of 3 (the channel we want to transmit on): w 9900 255 3.
  8. Press “Send,” and you should see the log window indicating the send. You should also see the PMA Tx’s LCD show a changed value, now with a new channel!
  9. Disconnect the USB cable.
  10. Use your smartphone to connect the ProMiniAir Tx/WiFi-equipped EX-CommandStation as described above.
  11. Have fun controlling the locomotive(s)!

Of course, if you maintain the USB cable connection, you can play with the WebThrottle-EX to control the dead-rail locomotive! The DCC+EX website has excellent instructions for using WebThrottle-EX. The traditional locomotive control capability and the powerful direct control capability are valuable and fun.

An important point: These instructions are ONLY for reconfiguring the ProMiniAir transmitter or changing the CVs in your DCC decoder. Under regular smartphone throttle app use, you do NOT need to connect anything other than the power to the WiFi-equipped EX-CommandStation to activate the ProMiniAir transmitter!

Final Thoughts

While I called this approach for using a smartphone app with the ProMiniAir transmitter a “compromise solution,” if you think about it, with a more centrally-located ProMiniAir transmitter coupled to a small, inexpensive WiFi-equipped DCC base station, you achieve good layout coverage because the base station is acting as an optimally-located “repeater,” potentially reaching more of the layout than your smartphone app. This approach is a valuable “division of labor:” the smartphone gives you the mobility to enjoy different vantages, and the central transmitter covers the layout optimally. So, maybe this approach is better than a “compromise solution,” after all.

Advantage of an optimally-located central transmitter versus a local transmitter.

Appendix: Implementation (How I Did It for Do-It-Yourselfers)

The EX-CommandStation consists of several components (with emphasis on our application):

  • An Arduino microprocessor (for us, the Arduino Mega or clone): the “brain” that takes throttle inputs and converts them to +5V DCC signals, usually for a motor shield.
  • A motor shield or motor driver: converts the microprocessor’s +5V DCC signals (and other controls) to higher-voltage DCC Track Right/Track Left to power and control locomotives equipped with DCC decoders. Because the track may short-circuit or require too much power, the motor shield or motor driver may provide signals, such as current sense, back to the microprocessor that generates commands to protect the motor shield or motor driver from damage.
  • Optionally:
    • WiFi (integrated on the microprocessor PCB, an Arduino shield, or discrete receiver jumpered to the microprocessor PCB): receives wiThrottle-protocol commands from smartphones or tablets via WiFi and sends these commands to the microprocessor.
    • Ethernet
    • Bluetooth
    • Direct connection to a PC
  • Free, open-source EX-CommandStation software

We need a WiFi-equipped Arduino MEGA and the EX-CommandStation software for our dead-rail application using a smartphone, but what about that motor shield?

A “motor shield” that amplifies the EX-CommandStation’s +5V digital DCC output for controlling and powering locomotives via the tracks is unnecessary since the ProMiniAir transmitter only requires +5V DCC input (along with +5V power, which is available from the EX-CommandStation as well). An added advantage is the “DCC Converter,” which is necessary to convert track DCC from a “traditional” DCC throttle to +5V power, and +5V DCC the PMA transmitter requires is unnecessary. (If you like, we will include the DCC Converter because you may want to use your ProMiniAir transmitter with a “traditional” DCC throttle later.) The modular design of the ProMiniAir transmitters and receivers makes this solution easy and reduces cost.

Based on the information provided by DCC+EX, I selected a Songhe Mega2560 + WiFi R3 because the motherboard has integrated WiFi. The DCC-EX website superbly provides the detailed step-by-step set-up of an EX-CommandStation with integrated WiFi. You also need a 7-9V 1 A power supply, and a battery option is undoubtedly feasible but more expensive.

Since I needed to modify the source code to accommodate the ProMiniAir transmitter integration with the EX-CommandStation, I used this download link. I followed the DCC-EX project installation instructions for the Arduino IDE and only modified the config.h file of the EX-CommandStation software for integration with the ProMiniAir transmitter:

// (more before...)
/////////////////////////////////////////////////////////////////////////////////////
//  NOTE: Before connecting these boards and selecting one in this software
//        check the quick install guides!!! Some of these boards require a voltage
//        generating resistor on the current sense pin of the device. Failure to select
//        the correct resistor could damage the sense pin on your Arduino or destroy
//        the device.
//
// DEFINE MOTOR_SHIELD_TYPE BELOW ACCORDING TO THE FOLLOWING TABLE:
//
//  STANDARD_MOTOR_SHIELD : Arduino Motor shield Rev3 based on the L298 with 18V 2A per channel
//  POLOLU_MOTOR_SHIELD   : Pololu MC33926 Motor Driver (not recommended for prog track)
//  FUNDUMOTO_SHIELD      : Fundumoto Shield, no current sensing (not recommended, no short protection)
//  FIREBOX_MK1           : The Firebox MK1                    
//  FIREBOX_MK1S          : The Firebox MK1S
//  IBT_2_WITH_ARDUINO    : Arduino Motor Shield for PROG and IBT-2 for MAIN
//   |
//   +-----------------------v
//
// #define MOTOR_SHIELD_TYPE STANDARD_MOTOR_SHIELD
// This motor shield is for the PMA Tx
#define PMA_TX F("PMA_Tx"),		      \
     new MotorDriver(6, 7, UNUSED_PIN, UNUSED_PIN, UNUSED_PIN, 1.0, 1100, UNUSED_PIN), \
     new MotorDriver(5, 4, UNUSED_PIN, UNUSED_PIN, UNUSED_PIN, 1.0, 1100, UNUSED_PIN)
#define MOTOR_SHIELD_TYPE PMA_TX 
// (more after...)

The critical part for us is the “7” in the “new MotorDriver” line, which states that the “+” DCC output (+5V logic output between 0 and +5V) is on Pin 7. That’s all we need (along with power) to “feed” the ProMiniAir transmitter! I then recompiled the EX-CommandStation software according to the DCC+EX instructions with absolutely no problem.

The connections to the WiFi-equipped EX-CommandStation to the ProMiniAir transmitter are straightforward: connect GND and +5V to the power connections on the EX-CommandStation motherboard, and the +5V DCC input to Pin 12 (previously Pin 7) on the motherboard.

The connections between the WiFI-equipped EX-CommandStation and the ProMiniAir transmitter

You could purchase the components and set up the WiFI-equipped EX-CommandStation yourself. However, since we can do the set-up legwork for you, you can order the WiFi-equipped EX-CommandStation option for the ProMiniAir for $40 ($5 is donated to DCC+EX). We include the AC to DC power converter (wall 120V AC to 9V DC) for the EX-CommandStation.

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 ProMiniAir 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 “ProMiniAir” 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 ProMiniAir. Also, previous versions of the ProMiniAir 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.

Update for New Versions of the ProMiniAir Transmitter and Reciever

Please see this post on an important update on the ProMiniAir transmitter. It is now completely stand-alone; just plug in power and use your cell phone app to control your locomotive.

The new completely stand-alone ProMiniAir transmitter. Just plug in power and use your smartphone app to connect to the WiFI-equipped EX-CommandStation and then control your dead-rail locomotive

Both the ProMiniAir transmitter and receiver have been significantly reduced in size: 1.1″ x 0.8″, making it possible to mount the ProMiniAir receiver and a tiny DCC amplifier in tighter spaces and some HO locomotives.

The new ProMiniAir receiver and small amplifier (3.6A)

Feature Comparisons

My goal for offering the ProMiniAir 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 ProMiniAir 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 “ProMiniAir” 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 ProMiniAir 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 ProMiniAir transmitters and receivers are compatible!

The ProMiniAir 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 ProMiniAir’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 ProMiniAir receiver a versatile wireless DCC receiver. The ProMiniAir receiver’s RF DCC detection technique is more sophisticated than Airwire’s. The ProMiniAir 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 ProMiniAir 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 ProMiniAir’s DCC address.

Once a valid RF signal is received again, the ProMiniAir 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 ProMiniAir 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 ProMiniAir transmitter’s DCC Address (default, 9901). Like the TVD DRS1 receiver, if the ProMiniAir does not find a valid RF signal on its startup channel, the ProMiniAir 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 ProMiniAir does NOT find a valid RF DCC signal on its startup Channel from another wireless DC transmitter.

If the ProMiniAir 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 ProMiniAir’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 ProMiniAir 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 ProMiniAir receiver or transmitter. In the case of the ProMiniAir 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 ProMiniAir transmitter with power and DCC packets to transmit, so no additional power supply is necessary.

For the ProMiniAir receiver, we include a low-cost “DCC amplifier” that converts the ProMiniAir 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 ProMiniAir 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.

ProMiniAir transmitter connections
ProMiniAir 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 ProMiniAir 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 ProMiniAir transmitter and receiver is available here.

Kit Assembly

We no longer offer the ProMiniAir as a kit.

Firmware Installation

The ProMiniAir 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 ProMiniAir PCB while programming) to the 6-pin connector on the ProMiniAir.
  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 ProMiniAir receiver or transmitter firmware is installed in the Pro Mini and inserted into the ProMiniAir PCB, the ProMiniAir is ready for integration!

Integration

To complete the integration of the ProMiniAir 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 ProMiniAir. Which connections you use depends on whether the ProMiniAir 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 ProMiniAir 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.

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

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

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

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

Receiver Connections

Starting with the ProMiniAir 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.

ProMiniAir 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.

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

The ProMiniAir receiver must connect to an external DCC amplifier that converts the 5V logic DCC from the ProMiniAir receiver to DCC A/B that a DCC decoder requires. This DCC amplifier uses battery power and the inputs from the ProMiniAir 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 ProMiniAir 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 ProMiniAir receiver

Integration of the ProMiniAir Receiver into a Locomotive

Of course, the real purpose of the ProMiniAir 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 ProMiniAir 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.

ProMiniAir 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 ProMiniAir 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 ProMiniAir transmitter. These outputs provide the ProMiniAir 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 ProMiniAir receiver connections to a “DCC Converter” PCB that supplies the ProMiniAir transmitter with Ground, +5V power, and 5V logic DCC. The ProMiniAir transmitter does NOT connect to a battery and does NOT use the jumper connecting +5V to +5V (Battery)!
Close-up of ProMiniAir 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 ProMiniAir 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 ProMiniAir 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 ProMiniAir 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 ProMiniAir transmitter online from many sites for experimentation purposes. For fixed installations of the ProMiniAir 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 ProMiniAir receiver or the ProMiniAir 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 ProMiniAir 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.
ProMiniAir receiver/transmitter connections to an I2C LCD (older PMA version, but the connections are the same for newer versions)
Close-up of ProMiniAir receiver/transmitter connections to an I2C LCD (older PMA version, but the connections are the same for newer versions)

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

You can also change the ProMiniAir’s DCC address using the throttle’s “OPS” mode. For the transmitter, you use the DCC throttle that connects to the ProMiniAir transmitter (by default at DCC address 9900 (previously 9000)). For the ProMiniAir receiver, you use the wireless DCC throttle transmitting to the ProMiniAir 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 ProMiniAir.

Configuration and Testing

We default-configured the ProMiniAir 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 ProMiniAir 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 ProMiniAir 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 ProMiniAir receiver will change to Channel 0 and wait for a valid RF DCC signal. This channel change is not permanent, and on a restart, ProMiniAir will revert to its default channel.

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

We strongly urge the user to test the ProMiniAir 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 ProMiniAir’s state. This display is particularly beneficial when using the ProMiniAir 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 ProMiniAir 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 ProMiniAir used as a transmitter (as discussed in the next section)!

On the LCD, “My Ad: #” is the DCC address of the ProMiniAir 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 ProMiniAir receiver. The yellow signal on the oscilloscope is from the T/R DCC output pin on the ProMiniAir 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 ProMiniAir.

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 ProMiniAir 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 ProMiniAir’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 ProMiniAir 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 ProMiniAir receiver’s address (“My Add: #”).

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

Change CV246 to “1” in OPS mode, which will turn “on” the ProMiniAir 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 ProMiniAir receiver firmware detects “bad” waveforms that do not appear to represent a valid DCC packet. The ProMiniAir 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 ProMiniAir’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 ProMiniAir receiver.

Now, when no valid RF DCC is received, the ProMiniAir 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 ProMiniAir as a transmitter.

With the same ProMiniAir, 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 ProMiniAir transmitter (the PCB on the left).

The display will alternate between showing the ProMiniAir 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 ProMiniAir transmitter’s ID.
The LCD alternately displays the throttle’s address and the ProMiniAir’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 ProMiniAir transmitter. Since the wireless DCC must keep the Airwire RF receiver “happy” with numerous DCC “IDLE” packets, the ProMiniAir 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 ProMiniAir 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 ProMiniAir in OPS mode.

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

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

For example, while in OPS mode, changing CV246 to “6” will reset the ProMiniAir 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 ProMiniAir 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 ProMiniAir 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 ProMiniAir’s address.

Conclusion and Further Information

The ProMiniAir 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 ProMiniAir receiver or transmitter. The cost for the ProMiniAir transmitter or receiver (with their additional DCC Converter or DCC amplifier and wiring harness) is only $50.00 + shipping.

 

The ProMiniAir 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 ProMiniAir transmitter (PMA Tx) to operate with the S-Cab receivers (such as the LXR-DCC). So I have added an S-Cab compatible Channel 17, which 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 ProMiniAir receiver (PMA Rx) with just a tiny wrinkle to establish communication (more below).

You should note that the ProMiniAir 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 ProMiniAir transmitter.

S-Cab Receiver Interoperability with the ProMiniAir 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 successfully to the LXR-DCC receiver. 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 ProMiniAir 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 ProMiniAir 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 ProMiniAir 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 back on while sliding the S-Cab’s speed control up and down.

The video below demonstrates that the PMA successfully receives 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 ProMiniAir 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 ProMiniAir 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.

Assembling the ProMiniAir 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 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. 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 far better than no standard. 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) as well (see BlueRailDCC), but I have no personal experience with this band. Another advantage of the 902-928 MHz ISM band is some interoperability between transmitters and receivers, although there is currently no firm standard behind this interoperability.

DCC-compatible Tx/Rx options are a vast 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 the loss of valid RF signal from the transmitter is discussed here.

CVP Airwire

A CVP Airwire CONVRTR-60X wireless DCC-compatible RF receiver is mounted to the tender hull’s side 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, including hand-held wireless DCC-compliant throttles (such as the T5000 and T1300) and receivers, such as the CONVRTR series that seamlessly connect to DCC decoders onboard the locomotive. As a general comment, CVP provides excellent, detailed installation and operation documentation, partly because 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, 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 many DCC Idle packets, and 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 ProMiniAir, 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 ProMiniAir 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 also available 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 the 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, placing this wire outside any metal shell would be best, 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. It 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 external antennas outside 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 no DCC signal is available.

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

OScaleDeadRail ProMiniAir Receiver

ProMiniAir receiver/transmitter

The inexpensive ProMiniAir receiver presents no issues when used with 902-928 MHz ISM DCC-compatible transmitters. It operates on Airwire RF channels 0–16. It requires a separate, low-cost amplifier (e.g., the Cytron MD13S) to convert the ProMiniAir’s unipolar 5V DCC to bipolar DCC that provides sufficient power to the decoder.

The ProMiniAir’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 OScaleDeadRail ProMiniAir transmitter.

CVP Airwire Transmitters

The CVP Airwire T5000 and T1300 transmitters are excellent choices for operating with 902-928 MHz ISM DCC-compatible receivers, 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 OScaleDeadRail ProMiniAir 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.

OScaleDeadRail ProMiniAir Transmitter

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

OScaleDeadRail provides the ProMiniAir transmitter/receiver 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 OScaleDeadRail) and transmit the “logic-level” DCC on Airwire channels 0-16.

The ProMiniAir 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 the transmission on Airwire channels 0-16, ensures that the ProMiniAir transmitter can communicate 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 ProMiniAir, which is 9000 by default. An optional LDC display can be attached to the ProMiniAir transmitter for status display. More configuration information is available at the GitHub AirMiniTransmitter site.

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. Still, 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 prominent 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 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 the 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 a 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.