Airwire CONVRTR Compatibility with the ProMiniAir Transmitter/Throttle

As some of you may know from my previous postings or other sources, if you try “raw” transmission of DCC from standard DCC throttles, such as with the Tam Valley Depot DRS1 transmitter, to Airwire receivers, you probably won’t get consistent control – I didn’t. This failure set me on the road to devise the ProMiniAir transmitter that would work with CVP Airwire receivers using DCC generated by standard DCC throttles, including the superb “open-source” WiFi-equipped EX-CommandStation created by the folks at DCC-ex.com. Of course, the ProMiniAir receiver is fully-compatible with Airwire throttles.

My web research and discussions with fellow dead-railers led me to believe you might solve the compatibility problem by providing frequent DCC “Idle” messages. Once the dust settled on the ProMiniAir firmware we made available on our GitHub site, the ProMiniAir transmitter worked pretty well with Airwire receivers! Besides CVP Airwire transmitters, the ProMiniAir transmitter is the only currently-manufactured transmitter that works with Airwire receivers.

After this success, we have worked hard to ensure that the ProMiniAir transmitter (and receiver) are compatible with multiple product lines, including CVP Airwire, Tam Valley Depot DRS1 transmitters and receivers, Gwire transmitters and receivers (available but no longer manufactured), Stanton Cab transmitters and receivers, and the no longer manufactured NCE D13DRJ.

OK, you may ask, what’s the point of this post? Well, I’d like to share some further research on the source of the CVP receiver’s incompatibility and its consequences on updates for the ProMiniAir transmitter/receiver firmware.

Further Investigations

OK, I based our initial success in making the ProMiniAir transmitter compatible with CVP Airwire receivers on observing how well the ProMiniAir worked with Airwire receivers. Yep, numerous inserted DCC IDLE messages from the ProMiniAir transmitter seemed to keep the Airwire receivers reasonably “happy,” responding to throttle speed/direction commands and function activation.

However, sometimes the Airwire receiver seemed a bit slow to respond to function activation… And some customers (who are hopefully still friends) sometimes noted this slow response. Could this be improved?

Still, I hadn’t analyzed what an Airwire throttle was sending in detail, so I purchased a simple logic analyzer from Amazon to look at the actual DCC transmitted by an Airwire throttle. I also needed the “pulseview” software from sigrok.org and a DCC decoder add-on. To properly analyze DCC, I modified the add-on and will make it available on our GitHub site.

The figure below is what I observed by firing up my original ProMiniAir transmitter integrated with a WiFi-equipped EX-CommandStation, and using the iOS WiThrottle app to send throttle commands to a ProMiniAir receiver. The figure below shows the “raw” digital output from the ProMiniAir receiver’s transceiver.

The raw DCC data received by a ProMiniAir receiver from a ProMiniAir transmitter integrated with a WiFi-equipped EX-CommandStation

The waveform is what you would expect. A “one” end packet bit from the previous DCC packet and then a series of 15 “one” preamble bits followed by a “zero” packet start bit that signals to the decoder that a DCC command is coming. I observed no significant or consistent DCC “errors” in the collected data.

Here’s what the S 9.2 NMRA DCC Standard states about the preamble:

The preamble to a packet consists of a sequence of “1” bits. A digital decoder must not accept as a valid, any preamble that has less then 10 complete one bits, or require for proper reception of a packet with more than 12 complete one bits. A command station must send a minimum of 14 full preamble bits.

The data below is what I observed by firing up an Airwire T5000 transmitter and looking at the “raw” digital output pin from the transceiver (radio) on the ProMiniAir receiver.

The raw DCC data received by a ProMiniAir receiver from an Airwire T5000 throttle

Well, well. Now we see an NMRA-permissible (see line 121 of NMRA Standard S 9.2) but non-DCC transition pair, called a “cutout,” with a 1/2 “one” and 1/2 “zero” pair after a valid “one” end packet bit and before a very long (30 “one” bits) preamble. If you try to send shorter preambles, say 15 “one” bits, the Airwire receiver will NOT work consistently despite the NMRA standard stating that a decoder must not require more than 12 complete “one” bits in the preamble. So, the Airwire receiver is placing a non-standard requirement for a “long” preamble of “one” bits before it will operate consistently.

Timing of a 1/2 “one” and 1/2 “zero” cutout

While reviewing the DCC sent from an Airwire throttle, there were NOT an unusual number of DCC “Idle” messages sent by the Airwire transmitter. But, by sending tons of short (3 bytes) DCC “Idle” messages, the ProMiniAir transmitter was sending just enough “one” bits to keep the Airwire receiver functional. I am not privy to the details of Airwire’s receiver firmware, so my success was based purely on empirical observation without underlying “insider” knowledge.

So what? With this knowledge, I felt it essential to make some ProMiniAir firmware changes.

Firmware Changes to the ProMiniAir Transmitter

Based on this new information, to improve compatibility with Airwire receivers, we have modified the ProMiniAir transmitter’s firmware to ensure a 1/2 “one” followed by a 1/2 “zero” cutout comes after the end packet “one” bit, and before at least 30 “one” bits are in the preamble. This change is NOT harmful to other wireless receivers, including the ProMiniAir receiver. The ProMiniAir transmitter and receiver still insert DCC “Idle” messages when possible to keep decoders “happy” while waiting for valid DCC messages from the throttle.

Along with these firmware changes, which will be made available on our GitHub site, you can set the number of “one” bits in the preamble by going into OPS mode at address 9900 (transmitter) or 9901 (receiver) by setting the value of CV242. If you set the value of CV242 to 0, the firmware sets the number of preamble bits to a “reasonable” value of 16 (receiver) or the number of preamble bits the throttle sent (transmitter). If you set CV242 to less than 12, it will be reset to 12 to ensure decoders are “satisfied” with the number of preamble “one” bits.

You can also change the duration of the cutout’s second 1/2 transition with CV240. By default, a CV240 value of 27 makes the second 1/2 transition a “zero” with a duration of 116us. If you do NOT want a cutout inserted, you can set the CV240 value to 141, which will make the duration equal to that of the cutout’s leading 1/2 “one” (58us), resulting in an output 1/2 “one” and 1/2 “one” pair, simply increasing the number of preamble “one” bits by one.

Example CV240 values to control cutout duration

So, how well do these modifications work for Airwire receivers? It isn’t easy to quantify, but the Airwire receiver’s red data LED remains “on” more consistently with less “flicker,” and the receiver’s DCC output to the decoder contains “cutouts” (with a duration of about five preamble “one” bits) just before the preamble. These characteristics are now very similar to those from an actual Airwire throttle. See the comparison figures below. It’s difficult for me to test the more practical aspects of these improvements, but the decoders continue to operate as I would expect, perhaps with somewhat less time delay. Other users may be able to test under more stressful conditions.

CONVRTR DCC output to the decoder from an Airwire transmitter. The cutout duration does NOT matter to the decoder.
CONVRTR DCC output to the decoder from a PMA transmitter with updated firmware. The cutout duration does NOT matter to the decoder.

Conclusion

We now have a better idea why Airwire receivers do not work well with output from a typical, NMRA-conformant DCC throttle sent wirelessly and how to better cope with Airwire receivers’ unique DCC requirements by sending very long DCC preambles, preceded by a 1/2 “one” and 1/2 “zero” cutout.

Raw empiricism often leads you to workable, pragmatic solutions, but a little “looking under the hood” for the “how” and “why” almost always pays dividends. If you own a ProMiniAir transmitter and are not satisfied with its performance with Airwire receivers, don’t hesitate to contact me about how I can provide you with an update to see if your performance will improve.

Dead-Rail Conversion of the Lionel H-7 2-8-8-2

Introduction

Warning: This is a very long, detailed post!

I like Lionel steam locomotives because Lionel designed them for simplified servicing, and Lionel’s documentation and parts are easily-available. Also, some of the locomotives, such as the H-7, are nicely detailed and are rich in features such as extensive lighting, smoke, and excellent speakers. Lionel very much “gets” the importance of the user experience.

What I don’t like are Lionel’s high-rail flanges and three-rail operation. The high-rail flanges look awful and will not work well on 2-rail trackage that meets NMRA standards S-3.2 “Scale Track, Standard Scale.” Also, many of the locomotive driver wheels are mounted on a “trapped” axle, requiring removal of the driver wheels from the axle “in situ” with a wheel puller and subsequent remounting in the correct “quarter.”

I have performed three dead-rail conversions of Lionel’s H-7 2-8-8-2 locomotive. This post will be a composite of these three locomotives.

The conversion process consists of the following:

  • Mechanical conversion: modifying or replacing all wheels and coupler replacement.
  • Electronics: All Lionel electronics are removed and replaced with a DCC decoder
  • Dead-rail: Addition of a ProMiniAir (PMA) receiver and DCC amplifier, battery, antenna, charging plug, and power/charging switch

Mechanical Conversion

Locomotive

Before proceeding with the locomotive conversion, several “magic screws” must be removed to separate the upper boiler shell from the lower shell and wheel chassis. This step is necessary to provide clear access to the drivers for removal and modification.

Removal also provides access to the locomotive’s electronics for removal and replacement with a DCC decoder and its wiring.

Locomotive shell disassembly #1
Locomotive disassembly #2
Locomotive disassembly #3

Removing the flexible hose mounting shown below provides clearance to remove the drivers.

Removing the flexible hose mounting provides clearance to remove the drivers.

After I gained enough clearance around the drivers, I used a wheel puller to remove those drivers whose axles were “trapped” in the chassis.

Using a wheel puller to separate a driver from its trapped axle. For illustrative purposes only, since the brake shoes require removal to prevent mechanical interference, and this particular driver pair can be removed from the frame by removing the retaining plate held in place by two screws.

The locomotive drivers present several issues:

  • Large, ugly flanges
  • Grooved tires with rubber traction tires
  • All drivers are uninsulated. This aspect is important only if you want track-powered 2-rail operation.

Lionel manufactures the locomotive driver center and flange as s single unit with a separate cylindrical tire with no flange.

The photo below shows an end mill to separate the driver tire from the driver center integrated with the flange. The process was the following:

  • A 3/16″ brass tube was fit in the axle.
  • A small brass tube was inserted into the crank-pin hole to prevent wheel rotation while milling.
  • Two pieces of brass close to the height serve as height spacers that avoid cutting into the flange.
  • The tooling is a 1/16″, two-flute end mill in a Tormach collet
  • Cutting oil was applied.
  • The end mill was very carefully translated along the radius, cutting into the cylindrical tire without cutting into the flange.
  • After the radial cut was deep enough, I used an “ordinary screwdriver to pop off the tire with an axial twist.
Removing the cylindrical tire with a 1/16″ end mill shows the integrated Lionel driver center and flange.
Lionel driver wheel with the tire removed. The 3/16″ brass tube loosely fits the axle center to hold the driver in lathe or milling chucks.

I used two strategies for modifying the Lionel driver wheels:

  • Machine down the large flanges and leave the tire in place with the driver uninsulated. I used this technique when using the locomotive strictly as dead rail.
  • Completely machine off the flange. I use this technique when creating insulated drivers for 2-rail operations using track power.

Machining down the drivers

I used a 3/16″ brass tube as a reasonably close match to the driver’s axle diameter. Because the fit is not tight, a separate small brass tube is inserted in the driver pin that will butt up against the lathe chuck’s jaws when cutting torque is applied. This technique is a bit of a kludge, but I have successfully machined down the flanges of 8 H-7 drivers on two different H-7s with this technique.

Before matching down the large flanges, you must address the grooved tires. The rubber in these tires increases the tire diameter, increasing the chances that the reduced flanges will derail. And these rubber tires are a bad idea since they could cause the locomotive to simply stall rather than slip when pulling heavy loads. Stalling is very bad since it dramatically increases the motor current, potentially causing a decoder shutdown and/or significant heating.

I used J-B Weld 8267 SteelStik Steel Reinforced Epoxy Putty Stick to fill the rubber traction rim groove. This material is metal-filled, providing traction and wear resistance.

I applied an excess of putty in the groove, and after curing, I cut the putty excess down to the radius in the lathe. It’s a fool’s errand attempting to shape the putty in the groove. The epoxy sets fairly quickly, so you have a short window of time to work the putty into place.

Machining the epoxy-steel filling to the proper diameter

The photo below shows the finished driver wheel with the Steel Reinforced Epoxy Putty machined to the driver center radius and a machined-down flange with a flange height of 0.036″ and a flange width of 0.040″. As previously, a small diameter rod was inserted into the side rod hole to prevent wheel rotation relative to the axle while machining.

The tire, after machining the flange to 2-Rail standards

Completely Machining OFF the Original Flange

First, I’ll show you how I created a new tire with a small flange. This is a long detailed section, perhaps of interest to only a few of you.

First, the driver’s tire center must be prepared. The idea is to entirely cut off the integral flange to ensure a constant radius from the front to the back of the driver center.

First, you must remove the cylindrical tire. In this case, you can use a cutting wheel to cut a slot through the flange and the tire without cutting into the driver center. Then the tire can be popped off with an axial twist using a standard screwdriver. Care must be taken not to nick the driver’s wheel center.

The slightly undersized brass tube fits somewhat loosely in the crank-pin hole but will prevent slippage in the spindle by butting against the jaws once torque is exerted by the cutting tool on the rim as the spindle rotates.

The tooling and technique to completely machine off the integrated flange

After the wheel center’s rim is machined flat, I use 0.010″ fish paper to insulate the left-side drivers. You can hold the fish paper in place with a touch of CA on the side of the rim opposite where the fish paper ends will join. This allows a shorter run to hold the fish paper tight on the rim while applying CA to the ends.

Fish paper was applied to the wheel center.

With our wheel center ready to mount inside a tire, we now create a tire with the proper dimensions. Caveat: My tire machining technique fits my modest matching skills using a small Sherline lathe. This technique is wasteful of metal blanks, but their cost is low. Other more skilled model railroad machinists have more efficient techniques that utilize a larger lathe and specialized tooling.

To help the discussion, the figure below shows the terminology from NMRA Standard S-4.2. The important terms/dimensions are flange width, flange depth, and tread width. Creating a tire within an acceptable range of these dimensions is necessary to ensure that the driver will work on 2-rail trackage defined by NMRA standard S-3.2.

Wheel dimension definitions (from NMRA Standard S-4.2)

I start with a 1.5″ diameter Ledalloy 12L14 1″ long blank obtained from OnLineMetals.com. This represents a maximum driver size of 72″, which is plenty large for our 57″ plus twice our flange depth of 0.036″ for 2-rail operation (1.1875″+2 x 0.036″=1.2655″).

Ledalloy blank

A 1/2″ hole is drilled into the center of the blank to provide clearance for the boring bar that will hollow out the blank to fit the outer diameter of the driver’s center.

A 1/2″ hole is drilled into the blank to provide clearance for the boring bar.

The blank is then placed in the lathe, the face is squared off with an end cut, and then a side cut reduces the blank’s diameter to the final wheel diameter + 0.072″ to account for the additional flange depth (0.036″). For our H-7’s 57″ drivers, this diameter works out to 57/48″=1.1875″ plus twice our flange depth of 2 x 0.032″=0.072 for 2-rail operation: 1.1875″+2 x 0.036″=1.2655″.

The blank after a face cut and side cut to a final diameter equal to the wheel’s final diameter + 2 x the flange depth. Note this picture does not show the center hole that should already be drilled.

Now we make an angled side cut to create the tire surface by tilting the Sherline lathe’s spin axis by 2.5-3.0 degrees. This cut produces a shallow angle across the tire’s tread width. This angle was obtained from NMRA Recommended Practices 25.

The Sherline lathe allows you to create a tilted side cut.

A careful series of side cuts are made to reduce the blank to the wheel’s diameter at the base of the flange step with a width of the wheel width (N) of 0.172″ – the flange width of 0.039″ = 0.132″. I use a wheel width slightly smaller than “code 175″ (0.175”, from NMRA Recommended Practices 25) to improve appearance, and maintain operability with 2-rail track standards.

Angled side cuts reduce the front of the blank to the final wheel diameter and tire width of ~0.132″

Next, we “straighten out” the lathe and use a boring bar to hollow out the blank’s center to be slightly smaller than the driver’s center diameter. This cut reduces the amount of material removed during the difficult cut-off operation.

A boring bar is used to enlarge the blank’s center hole to slightly smaller than the driver’s center wheel outside diameter.

Next, the tire is cut off from the rest of the blank at a distance greater than 0.039″ (the flange width) behind the flange step.

The blank is cut off more than 0.039″ inches behind the flange step

The now-separate tire is remounted in the lathe using the flange step as an indexed surface, and a careful series of face cuts are made to reduce the flange width to 0.039″.

The back face of the tire is face cut until the flange width is 0.039″

A spacer (an old tire cut off the driver) is now inserted to displace the flange from the lathe chuck’s jaws to provide clearance for rounding the edges of the flange with a file.

A spacer (an old tire) to provide clearance for rounding the flange’s sharp edges

With the lathe spinning, a file is used to carefully smooth the sharp edges of the flange.

The tire, after rounding the sharp flange edges with a file.

Now, the tire is remounted against the lathe chuck’s jaws, and a series of careful cuts with the boring bar increases the tire’s inner diameter until the driver’s center fits inside the tire. This step is tedious since very small (0.001″) cuts should be used to prevent making the tire’s inner diameter too large! The fit should not be extremely tight since we will apply Loctite to the rim of the driver’s wheel center to lock the tire to the driver’s wheel center.

Fitting the driver’s wheel center into the tire. This tire had the insulating fish paper attached to the driver’s wheel center.

Loctite 609 is applied to the fish paper, and the driver’s center is inserted into the new tire. While inserting the driver’s center, I take the opportunity to ensure it is pressed into the rim to the proper depth. This depth is a bit of a judgment call based on examining the original mounting depth.

Before the Loctite dries, the driver’s center must be aligned with the tire. I use a simple technique of inserting a 3/16″ metal rod or tube into the driver axle hole and mounting the assembly in the jaws of a milling clamp with a small “v” machined into one side of the jaws, as shown in the photo below. I firmly press the tire rim onto some brass plates placed on top of the jaws, then tighten the jaws to very lightly bind the metal tube and rotate the driver wheel. This rotation action will force the driver’s center into alignment with the tire.

While aligning these components, I take the opportunity to ensure the driver’s center is still pressed into the rim to the proper depth.

Tender Mechanical Modifications

I removed the rather ugly Lionel coupler by cutting off the tender coupler mount and mounting a Kadee coupler directly to the tender. Micro-Mark coupler shims provide the proper coupler mounting height.

Tender coupler modifications
Tender coupler mount with coupler shims

DCC Additions

I used a Zimo MX696KS DCC decoder from SBS4DCC with the “Standard Gauge Steam Locomotive Alco/Baldwin Mallet 2-8-8-2” sound file DA_R_US_2_8_8_2 V2.zip. Modifications were made to the function mappings and set-up of the smoke unit.

Some of the sound project’s settings are shown in the following screen captures from Zimo’s ZCS software.

Zimo sound file settings, screen #1. The settings on this page set the loco’s long address and turn on the decoder’s acknowledgment of changed CVs.
Zimo sound file settings, screen #2. Note that F4 turns on two function outputs for the firebox effects.
Zimo sound file settings, screen #3. Note the two random flicker outputs and the smoke effects output.
Zimo sound file settings, screen #4. Smoke unit settings for both smoke (heater) and smoke unit fan.
Zimo sound file settings, screen #5. Not all sound functions are shown.

Dead-Rail Conversion

Tender Modifications

My typical 14.8 LiPo battery did not comfortably fit in the back end of the tender, but a rather unusually-shaped 14.8V LiPo batter from MTO fit well: the TRAIN-10 LI-ION.

The 14.8V LiPo TRAIN-10 LI-ION battery.
Tender dead-rail additions. Note the battery, ProMiniAir receiver and DCC amplifier, antenna connections, power switch, and charging plug.
Underside view of tender dead-rail components

The tender’s LEDs must have “protection” resistors added since Lionel provided these resistors on electronics boards that were removed for dead-rail conversion.

Protection resistors were added for the rear light (“R.L”) and rear marker lights (“RML”)

Locomotive Electronics Modifications

The conversion strategy is completely removing all Lionel electronics and replacing them with a Zimo MX696KS DCC decoder, providing excellent sound, lighting, and smoke unit control.

These original Lionel locomotive electronics were all removed
Locomotive DCC decoder installation

Because the original Lionel electronics provided the protection diodes for the locomotive’s LED marker lights at low voltage, 5K resistors were added in series with the maker lights so that 14.8V power would not burn them out when activated by the Zimo decoder.

The red LED lighting for the firebox presented a bit of a challenge. The photo below shows where I added protection resistors for the two sets of LEDs that flicker independently using the “random” firebox setting for the Zimo decoder’s FO6 and FO8 outputs, as shown on the ZCS configuration menus elsewhere.

Electrical modifications for the firebox LEDs
Heater wiring
Smoke unit, number board, and marker light wiring

For one of the H-7s, I replaced the incandescent cabin light with an LED. See the photo below.

The incandescent cabin light was replaced with an LED to reduce power consumption.

I replaced the original low-current LED front marker lights with “nano” LEDs after I accidentally burned them out.

Front marker light replacement

The Proof in the Pudding

The video below is the “proof in the pudding,” showing off the lights, firebox effects, smoke, and great sound!

The “proof in the pudding”

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!