Many railroaders prefer using a hand-held throttle or smartphone app to control their decoder-equipped locomotives. They connect to a centralized DCC command station that sends DCC over the tracks. For “dead-railers,” specialized hand-held transmitters like CVP Airwire or Stanton Cab throttles offer a similar experience. However, these are costly and may be difficult to obtain due to supply chain issues. Moreover, some dead-rail throttles only support their proprietary receivers, making them incompatible 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 page shows the low-cost solution I offer for sale.
The Standalone ProMiniAir Transmitter: I found a low-cost way to create a small DCC base station equipped with WiFi at a very active group, DCC-EX. I integrated a WiFi-equipped EX-CommandStation with the ProMiniAir Transmitter so users can use smartphone throttle apps to connect via WiFi with the EX-CommanStation, and the resulting DCC commands are sent to the ProMiniAir Transmitter for Dead-Rail transmission of DCC to compatible Receivers (Airwire, Tam Valley Depot DRS-1, Gwire, S-Cab, and ProMiniAir).
The wiThrottle-protocol smartphone apps that will work with this solution include (this list is from DCC-EX):
- Engine Driver (Android)
- DCCpp CAB (Android)
- Cab Engineer: DCC Throttle (Android)
- DigiTrainsPro (Android)
- WiThrottle (iOS)
- Locontrol (iOS)
- SRCP Client (iOS)
- RtDtive DCC++ (Android)
- Train Driver (iOS)
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.
Instructions for Using the ProMiniAir Transmitter/WiFi-Equipped EX-CommandStation with a Smartphone
What you need:
- A smartphone loaded with the wiThrottle-compliant app. See the list above.
- A properly configured ProMiniAir Transmitter/WiFi-equipped EX-CommandStation. We provide this.
- 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
- 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.
- Go to the smartphone’s WiFi settings:
- 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.
- Select the EX-CommandStation’s WiFi router. The router’s name is “DCCEX_123456” or “DCC_123456,” where “123456” is a unique series of numbers and letters (the “MAC address” of the WiFi transceiver).
- 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.
- 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.
- 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.
- Once connected, go to your throttle app:
- When asked for WiFI router configuration, set the IP address to “192.168.4.1” and the port to “2560“.
- Once your throttle app connects to the EX-CommandStation, you can select your loco(s), etc.
- Turn on your dead-rail locomotives, and control them with your smartphone app!
- Once finished with the throttle app, you can return 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 using the ESP32. 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.
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 DCC-ex.com site for a complete list of DCC-EX commands 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?
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:
- An iPhone or iPad with TCP/IP to Serial Terminal
- A Wifi-equipped EX-CommandStation
- Select the app and enter the IP address and port number, and then connect:
- Test using the status command, entering
- See the response:
- 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):
- 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
<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!
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
- 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.
- 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.
- On your computer, start up a “terminal” session. A terminal session allows you to type in commands.
- 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.
- Your command line will now wait for you to enter the text transmitted to the EX-CommandStation! As a test, type in
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
CONTROL+z) and then
RETURNagain to “flush” out the response from the EX-CommandStation.
- 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:
- You exit the session by hitting < control>+C.
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
- Connect the USB cable from the EX-CommandStation to your computer/laptop. This connection provides power and a data link to the PC.
- 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.
- Select the “Connect DCC++ EX” button to activate the USB serial connection to the EX-CommandStation.
- 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.
- Now look at the Debug Console and ensure Debug is “ON.”
- 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.
- Press “Send,” and the log window indicates the send. You should also see the PMA Tx’s LCD show a changed value, now with a new channel!
- Disconnect the USB cable.
- Use your smartphone to connect the ProMiniAir Tx/WiFi-equipped EX-CommandStation as described above.
- 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 PoM and Service Mode 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!
Instructions for Recompiling the EX-CommandStation Software
You may want to update or customize the EX-CommandStation software as described on the DCC-EX.com website. If you are familiar with the Arduino IDE, then it’s easy to update the EX-CommandStation software.
First, download the modified EX-CommandStation source from this site. You MUST use the modified source to properly interface with the ProMiniAir Transmitter! Place the source in a convenient location that is easy for the Arduino to find when you select your location preferences.
Please do not modify the code that I have added and clearly marked with the following markings.
// DRL: Begin ... (my code additions to interface with the ProMiniAir Transmitter) // DRL: End
Also, please do not overwrite or delete “configuration” files such as
DRLdefines.h. You may modify these files, but please don’t modify the sections with my additions. A file you might want to add is
myAutomation.h, which is based on your customizations of
myAutomation.example.h. Examples of additions, such as adding rosters, are described here.
Ensure you have installed the Expressif ESP32 board manager.
Once the EPS32 board manager is installed, you can select the “Node32s” board.
Now select the CommandStation-EX.ino file to compile.
Connect the USB cable to the EPS32 board, and then select the correct USB port. You may need to install the correct USB driver for the ESP32 board before your ESP32 board is recognized.
Once selected, you can press the “->” key for compilation and download.
Disconnect the USB cable from the computer and connect it to the USB power plug, and away you go!