Using the ESU Mobile Control II with the ProMiniAir Transmitter for Dead Rail

The ESU (the LokSound decoder manufacturer) Mobile Control II (shortened here to “ESU MC II” or “MC II”) is an Android device that is specialized for throttle control of model railroads. ESU designed the MC II as an “open” platform for developers to adapt their throttle apps to the throttle-specific features of the MC II. ESU provides an excellent summary of the device here, which is excerpted here:

Since smart phones with touch screens have almost completely replaced the conventional mobile phone, model train enthusiasts and manufacturers face the question how to employ more powerful devices for controlling model trains. As a result of this, many apps have been developed lately, which can be uploaded onto your mobile phone and used for running your trains.

This concept, however, has one disadvantage, namely that smart phones have not been primarily designed for running model trains. Due to the lack of suitable input elements the operator is forced to spend most of the time looking at the display. The limits become quickly obvious, once the battery of the phone has been discharged and nobody can reach you by phone anymore.

We at ESU had a look at the question on how to utilize the advantages of the smart phone technology and combine it with the needs of model train enthusiasts.

It is with great joy that we now present the results of our considerations. With the new Mobile Control II you have wireless control of your locomotives, accessories and routes simply by radio control!


In this post, I’ll show you how to use the ESU MC II with the ProMiniAir Transmitter integrated with a WiFi-equipped EX-CommandStation (PMA Tx/WCS for short), which can be found on eBay here.

The components and their connections are shown below.

The connections between the ESU MC II, the WiFi-equipped EX-CommandStation, the ProMiniAir Transmitter, the onboard ProMiniAir Receiver, and the onboard DCC Decoder.

I thank one of my customers, Jeffrey Fonda, for the idea of this post.

How to Set up and Use the ESU MC II with the ProMiniAir Transmitter/WiFi-Equipped EX-CommandStation

Before getting started, it’s useful to know the MC II is essentially a small Android tablet with specialized “haptic” inputs designed to control model railroads. This knowledge will help you navigate the MC II if you are familiar with Android devices.

The ESU MC II I received already had the well-known “Engine Driver” Android throttle app installed (see here for the Engine Driver homepage). If it’s not installed on your MC II, it’s easy to download the Engine Driver app from the Google Play Store.

Note: in some photos below, you might notice the wiring at the bottom of the MC II is NOT a USB connection. I inadvertently broke loose the internal USB socket, and I repaired it.

The sequence of photos below shows you how to connect the MC II to the PMA Tx/WCS’s WiFi network, start up the Engine Driver app, set its defaults and options, and finally use it as a throttle to control Dead Rail locomotives.

The ProMiniAir Transmitter is integrated with a WiFi-equipped EX-CommandStation. The EX-CommandStation receives WiFi commands from the Engine Driver app running on the ESU MC II and outputs DCC to the ProMiniAir Transmitter for transmission to compatible onboard Dead Rail receivers such as the ProMiniAir Rx, Airwire CONVRTR, Tam Valley Depot DRS-1, Stanton Cab, and Gwire. The PMA Tx/WCS+CNV is available on eBay using the “ProMiniAir” search string.
The opening screen on the ESU Mobile Control II. To get started, you find the EX-Command Station’s WiFi.
Now select Wi-Fi…
Now select the DCCEX WiFi.
The first time, enter the obvious password.
You are now good to go with the WiFi, and now exit back to the “home page.”
Now select the Engine Driver app.
Once Engine Driver is selected, now select the appropriate DCCEX WiFi.
You are now ready to select your locomotive. The DCC will be sent from the EX-CommandStaion to the ProMiniAir Transmitter and then out the onboard Dead Rail Receivers.
Enter the DCC address and select “Acquire” to initiate the DCC commands to the selected locomotive.
You now control the locomotive as you normally do with the Engine Driver app.

Changing Configuration Variables (CVs) with Engine Driver on the ESU MC II

On another webpage, I provided some “workaround” solutions for changing the Configuration Variables (CV) of a DC decoder onboard a Dead Rail locomotive using the PMA Tx/WCS. The specialized solutions arose because DCC-EX commands provide this capability, but most throttle apps still need to. Fortunately, the Engine Driver app has this capability but requires activation of DCC-EX features, as shown below.

First, start the Engine Driver app as shown below.

I recommend selecting and enabling the DCC-EX options, allowing you to change the Decoder Configuration variables (CV) easily.
Select to get started with DCC-EX options.
You select this option to turn on various DCC-EX options.
I enable both of these options to take full advantage of the EX-CommandStation.
After exiting from setting the DCC-EX options, you can select DCC-EX to change decoder CVs.
Now select Program on Main from the pulldown to send change of CV value commands ONLY to the locomotive address specified.
You select the DCC address, the CV number, and the CV value, and then select “Write” to send the CV change commands.

General Impressions

I like the heft and feel of the MC II. The throttle knob is very convenient (I dislike using screen-based slider bars for speed control) and is well-integrated with the Engine Driver app. The various buttons on the MC II can be configured for interaction with the Engine Driver app (see here for more details on how). The MC II has the “cool” feature that if you adjust the throttle from Engine Driver’s buttons or slider bars, the throttle knob will automatically rotate appropriately.

Sometimes, you might need to “fiddle” when connecting to the PMA Tx/WCS’s WiFi network. You might even be asked for the password again, but you can usually select “cancel,” and the MC II will connect with its stored password.

Please be very careful with the USB connection on the MC II. Any substantial bending while inserting or removing the USB plug will break loose the USB socket mounted to the circuit board with only two metal tabs – this is a sub-optimal design avoided by most board designers by using four metal tabs to distribute the insertion/removal force and torque.


The video below demonstrates using the ESU MC II to wirelessly control an O-scale SP Cab Forward with a ProMiniAir Receiver onboard.

Demonstration of using the ESU MC II with ProMiniAir Transmitter integrated with a WiFi-equipped EX-CommandStation.


There you have it: another throttle device that can be used with the ProMiniAir Transmitter for radio control of locomotives. The ESU MC II is optimized for model railroading control and provides the superb Engine Driver app for WiFi connection to WiThrottle or DCC-EX servers.

Other throttle devices compatible with the PMA Tx/WCS include any iOS or Android throttle app transmitting WiThrottle or DCC-EX commands via WiFi, the TCS UWT-50 and UWT-100, ProtoThrottle, and JMRI. You can search this website for simple instructions on using these devices for Dead Rail with the PMA Tx/WCS.

Using the “Standalone” ProMiniAir Transmitter with JMRI

This post starts with some “pieces to a puzzle” before connecting them to Dead-Rail. Bear with me.

Puzzle Piece 1: The open-source and powerful JMRI software is widely used to, among other things, reprogram DCC decoders, manage locomotive rosters, and serve as a throttle and layout control agent. If you are unfamiliar with JMRI, I urge you to review the project’s web pages.

Puzzle Piece 2: The excellent open-source DCC throttle project EX-CommandStation interfaces nicely with the JMRI software via a USB cable connected to a PC running JMRI.

Puzzle Piece 3: As a low-cost dead-rail transmitter solution, I integrated the ProMiniAir Transmitter with a WiFi-equipped EX-CommandStation to provide an entirely “standalone” capability that allows the user to use Smartphone throttle apps or computer throttle apps for dead-rail control of locomotives and accessory decoders. For details, see this web page. This item is available on eBay.

The ProMiniAir Transmitter is integrated with a WiFi-equipped EX-CommandStation for a completely “standalone” transmitter solution compatible with ProMiniAir receivers, Airwire CONVRTR/G3/G4, Tam Valley Depot DRS1 receivers, and several other dead-rail receivers.

The coup de grace: When integrated with the ProMiniAir Transmitter, the EX-CommandStation allows JMRI to configure and control dead-rail locomotives or stationary decoders connected to a ProMiniAir Receiver or other compatible dead-rail receiver.

This post shows you how.


We will use an example to demonstrate the process of reconfiguring a decoder and then controlling it with the JMRI software.

The LokSound 5 XL was originally fully programmed with the LokProgrammer, including the long DCC address of 4199.

When using JMRI to configure a decoder, the “Programming On Main” option must be used. The “On Programming Track” option WILL NOT WORK.

The JMRI DecoderPro is used to select and edit the locomotive’s decoder, programmed initially with a DCC address of 2199.

Our example will be to program a change of the decoder’s Long Address from 2199 to 2196.

In this case, we are changing the DCC long address.

When a decoder’s configuration changes, it is probably best to only transmit the changes to the decoder (the “Write changes on sheet” option).

The decoder’s address has been changed to 2196. The changes are then sent to the decoder wirelessly using Programming On Main mode. No decoder response is required or feasible.

Once we exit the Programming Pane, the modified DCC address is evident.

The decoder’s address is now 2196 and should respond to throttle commands on DCC address 2196.

Let’s use the JMRI throttle or a WiFi throttle to wirelessly control the DCC decoder at the new DCC address 2196. The ProMiniAir Transmitter and a ProMiniAir Receiver handle dead-rail transmission to the decoder.

The components used in the two demonstration videos.

Now the videos. First, use the JMRI throttle.

Throttle control using the JMRI throttle.

Now use a WiFi throttle.

Throttle control using the WiFi-connected TCS UWT-50 throttle.

The following two photos provide detailed views of the Standalone ProMiniAir Transmitter integrated with a WiFi-equipped EX-CommandStation available on eBay.

Photo showing JMRI throttle connected by USB to the ProMiniAir Transmitter’s EX-CommandStation has turned power ON. Note that the PMA Transmitter’s DCC address is 9900.
The JMRI throttle sends commands to DCC address 2196, shown by the ProMiniAir Transmitter’s display. The EX-CommandStation displays WiFi information for connecting a smartphone app to the EX-CommandStation. The ProMiniAir Transmitter then re-transmits the EX-CommandStation’s DCC to the ProMiniAir Receiver connected to a LokSound 5XL decoder.


If you use JMRI to configure or control locomotive and accessory DCC decoders using the Standalone ProMiniAir integrated with a WiFi-equipped EX-CommandStation, the following aspects should be borne in mind:

  1. The PC running JMRI must be connected to the EX-CommandStation with a USB cable. JMRI provides a connection test agent to verify communication between JMRI and the EX-CommandStation is functioning.
  2. When using JMRI DecoderPro to configure or reconfigure a DCC decoder, it must be in Programming On Main mode. The EX-CommandStation is connected to the ProMiniAir Transmitter using the EX-CommandStation’s standard DCC Track Right/Track Left outputs, and using the Programming Track mode will not work.
  3. Because transmission from the ProMiniAir Transmitter to a compatible receiver, such as the ProMiniAir Receiver, etc. is one way, communication between JMRI and the dead-rail decoder is one way: from JMRI to the decoder. Decoder responses back to JMRI are not supported.
  4. Suppose you need to load sound projects or make extensive configuration changes to a DCC decoder. In that case, it’s probably best to use the manufacturer’s specialized programmer directly connected to the decoder’s DCC Track Right/Track Left inputs. For dead-rail locomotives, this is greatly facilitated by having an easily-accessible external plug directly connecting to the Track Right/Track Left decoder inputs. This plug is dual-purpose for my dead-rail installs: 1) it plugs into the DCC outputs from the ProMiniAir Receiver/Amp, or 2) it plugs into the DCC outputs of the specialized decoder programmer.

Final Thoughts

JMRI can also interface with numerous other DCC Command Stations or throttles, so if you connect the “standard” ProMiniAir Transmitter to the DCC Track Right/Left output of these devices (also available on eBay), then you will have the same capability of using JMRI to wirelessly control and configure your locomotive or stationary decoders that are connected to a ProMiniAir Receiver or other compatible receivers.

ProMiniAir Transmitter for standard DCC throttles.

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


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.

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 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 $49.99 on eBay (search on eBay with “ProMiniAir” to find this device). 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 +3.3V 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 ($49.99 on eBay, 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


  1. Plug the USB power into the PMA Tx/WiFi-equipped EX-CommandStation, which turns on the ESP32 WiFi transceiver to broadcast information for your smartphone to pick up, boots up the EX-CommandStation itself, and powers up the ProMiniAir receiver and the OLED displays. You can connect a USB battery pack to the ProMiniAir transmitter/WiFi-equipped EX-Command station for “take it anywhere” capability.
  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 “” 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 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 18 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) or Service Mode

OK, these smartphone throttle apps are great, but they have a limitation: they can’t currently send commands in PoM (OPS) mode or Service 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!

See the site for a full list of DCC-EX commands that you can send to the EX-CommandStation and ultimately to the dead-rail locomotives or DCC accessories.

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:


  1. Ensure your smartphone is connected to the EX-CommandStations’s WiFi network!
  2. Select the app and enter the IP address and port number, and then connect:
  3. Test using the status command, entering <s> (case sensitive):
  4. See the response:
  5. 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):
  6. Verify that the ProMiniAir transmitter Channel, which is at DCC address 9900, has changed to 5:

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

Service Mode setting of CVs is also possible. The Service Mode command for changing the CV number CVnum to a value CVval is <W CVnum CVval>. The “W” must be uppercase. Changing the DCC address is even simpler: <W new_address>. Care must be used, since PoM commands will be used by all “listening” receivers, regardless of their DCC address!

So, there you have it, a wireless way to control a WiFi-equipped EX-CommandStation in Programming on the Main (PoM) mode (OPS mode) and Service 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


  1. Connect the EX-CommandStation’s USB cable+USB converter to power. 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:// This opens a simple telnet-protocol connection between the computer and the WiFi-equipped EX-CommandStation at address 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
    <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


  1. Connect the USB cable from the EX-CommandStation to your computer/laptop. This connection provides power and a data link to the PC.
  2. On your computer or laptop’s Chrome web browser, navigate this link: 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.
  3. Select the “Connect DCC++ EX” button to activate the USB serial connection to the EX-CommandStation.
  4. 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.
  5. Now look at the Debug Console and ensure Debug in “ON.”
  6. 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.
  7. 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!
  8. Disconnect the USB cable.
  9. Use your smartphone to connect the ProMiniAir Tx/WiFi-equipped EX-CommandStation as described above.
  10. 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.