Stage 1 - Running a Train¶
Throttle options¶
There are a lot of different throttle options available to control your trains and layout, including software applications available for your smart phone or computer and physical hardware options, both wired and wireless.
Going in to any detail on the myriad of options available is well outside the scope of this exercise, so on this page we will be focusing on the four options most commonly used with EX-CommandStation: EX-WebThrottle, Engine Driver, ThrottleCard, and JMRI.
For other throttle options, refer to the the Throttles List page for further information on choosing a throttle.
What to expect to learn from stage 1¶
At the end of this stage, we expect you will have learnt the following:
- How to run a train on your direct connected EX-CommandStation with EX-WebThrottle
- How to run a train on your WiFi enabled EX-CommandStation
- How to run a train on your JMRI connected EX-CommandStation
- How to run more than one train (Individual or Consist/Multiple Units)
- How to program a decoder using JMRI
Run a train using EX-WebThrottle¶
If you're just starting out with EX-CommandStation, or have a minimal system with no WiFi or Ethernet connection options, then a great way to start simply is by using EX-WebThrottle via your direct USB connection.
This is by far the simplest option to verify your EX-CommandStation is set up and working correctly, as you don't need to install any software or worry about any network connections to get your first train running on your layout.
While there is a lot more detail on the EX-WebThrottle page, we will give you a very quick start guide here to get a single train running with your EX-CommandStation.
Firstly, launch EX-WebThrottle in your Chromium based web browser (Google Chrome, Microsoft Edge, or Opera).
Once you have EX-WebThrottle opened in your browser, follow these steps to get your train running:
- Ensure your EX-CommandStation is connected to your computer via the USB cable
- In the top right corner, ensure "Serial" is selected from the pull down menu, then click the
Connect DCC++ EXbutton - A pop up window should appear, prompting you to choose your COM port
- Select the COM port then click the
Connectbutton, and the button in the top right corner should change toDisconnect DCC++ EXwith a green circle to the left - Turn track power on with the
Powerbutton - Type the DCC address of your loco into the "Locomotive ID" text box, then click the
>button to set it - You can now use the throttle slider or
+and-buttons to set the speed, and the slider in the centre of the screen to set forward, reverse, stop, or EStop - The function buttons to the right can also be used to set the various functions supported by your decoder
Enjoy running your train!
Run a train on your WiFi enabled EX-CommandStation¶
If when you assembled your EX-CommandStation with one of the common configuration options, then you will have a WiFi enabled Command Station, which will allow to run your trains with a smart phone. We are only going to cover two common options here:
- Engine Driver - For Android phones
- WiThrottle - for Apple iOS phones
Engine Driver (Android)¶
-
If you have set up your EX-CommandStation in Access Point Mode (The Recommended approach)
- Open the network settings on you phone
-
Change to the network of the EX-CommandStation
- SSID (Network name) : 'DCCEX_xxxxxx'
where the x's are the last 6 digits of your device' MAC address (unique to each device) - Password: 'PASS_xxxxxx'
where the x's are the last 6 digits of your device' MAC address (same as above)
- SSID (Network name) : 'DCCEX_xxxxxx'
-
If you have set up your EX-CommandStation in Station Mode (The alternate approach)
- open the network settings on you phone
-
change to your home network
- use your normal home id and password
-
Start the Engine Driver App
- Go through the initial startup pages to set some basic configuration items
-
On the 'Connection screen'
- You should see 'DCCEX_xxxxxx' (as above) in the discovered servers list
- Click on this.
(As long as you did not change the IP address of the EX-CommandStation when you ran EX-Installer then this should connect.)
-
You should now be on the the 'Throttle screen'
-
Turn on the power to the track via the menu
- (The three dots or bars) then 'Power'. Then click the
powerbutton till it goes green. (May require more than one click) - The two red LEDs, for the main track, on the Motor board will turn on
- Click
Back
- (The three dots or bars) then 'Power'. Then click the
-
back on the 'Throttle screen'
- Click one of the
Selectbuttons
- Click one of the
-
This will have taken you to the 'Select Loco screen'
- Enter the DCC Address of the loco you put on the track
- Select
ShortorLong(normally if the address is less than 127, it will automatically assume it is short) - Click
Acquire
-
Back on the 'Throttle screen' you can now use the sliders to move your train.
See Engine Driver Web Site for details on how to install and run Engine Driver.
wiThrottle (iOS)¶
free version of WiThrottle
The free version of WiThrottle ('WiThrottle Lite') only controls one loco at a time and does not offer turnout control or DCC track power control. (Note: EX-CommandStation can be configured to automatically turn the track power on. See the EXRAIL examples.)
The paid version WiThrottle can control multiple locos, can create and control consists, can control turnouts and routes, and can control DCC track power.
-
If you have set up your EX-CommandStation in Access Point Mode (The Recommended approach)
- Open the network settings on you phone
-
Change to the network of the EX-CommandStation
- SSID (Network name) : 'DCCEX_xxxxxx'
where the x's are the last 6 digits of your device' MAC address (unique to each device) - Password: 'PASS_xxxxxx'
where the x's are the last 6 digits of your device' MAC address (same as above)
- SSID (Network name) : 'DCCEX_xxxxxx'
-
If you have set up your EX-CommandStation in Station Mode (The alternate approach)
- Open the network settings on you phone
-
Change to your home network
- Use your normal home network id and password
-
Start the WiThrottle App
- WiThrottle will try to find the WiThrottle Server on the EX-CommandStation
-
If you are using Access Point Mode
- It will not find the WiThrottle Server automatically
-
Enter:
- The IP Address:
192.168.4.1 - The Port:
2560
- The IP Address:
-
WiThrottle should then connect
-
If you are using Station Mode
- It should find the WiThrottle Server and automatically connect to it
-
You should then see the 'Address Screen'
-
Turn the track power on by selecting the 'settings' tab and clicking on the
Track Power- The two red LEDs, for the main track, on the Motor board will turn on
-
Go back to the 'Address' tab
- Enter the DCC Address of the loco you put on the track in the
Keypadfield - Select
LongorShort(normally if the address is less than 127, it should be a 'Short' address.) - Click the
Setbutton - The address should appear in the green box at the top left.
- Select the 'Throttle' tab
- You can now use the sliders to move your train
See the Throttles Page for links to the WiThrottle app documentation.
Run a train on your JMRI connected EX-CommandStation¶
If when you assembled your EX-CommandStation configured to Connect to JMRI, then you will have the ability to connect to your Command Station directly (using JMRI) to run your trains, or you can use smart phone. We are only going to cover three common options here:
- JMRI - PC (Windows, Apple OSX, Linux)
- Engine Driver - For Android phones
- WiThrottle - for Apple iOS phones
JMRI (PC)¶
- open DecoderPro
- Menu -> Actions -> New Throttle
-
Turn on the power to the track via the button on the toolbar
- Click the
Powerbutton till it turns green
- Click the
-
Enter the DCC Address of the loco you put on the track in the field in the Address Panel
- Click
Set - you can now use the sliders to move your train
Engine Driver (via JMRI)¶
Before Engine Driver or WiThrottle can be run via JMRI, the JMRI WiThrottle Server must be started. It can be started manually by menu --> actions --> start withrottle server or be configured to start automatically whenever JMRI is started
`menu --> edit --> preferences --> start up --> add --> perform action --> start WiThrottle server`` then save, exit, restart JMRI. A WiThrottle server window should open showing WiThrottle server is running.
- Open the network settings on your phone
- Change to same network of the PC that JMRI is on
- Start the Engine Driver App
- If needed, Go through the initial startup pages to set some basic configuration items
- On the 'Connection screen'
- You should see 'My JMRI Railroad' (as above) in the discovered servers list. (Unless you have changed the name when you setup JMRI)
- Click on this
- You should now be on the the 'Throttle screen'
-
Turn on the power to the track via the Menu
- (The three dots or bars) then 'Power'. Then click the
Powerbutton till it goes green. (may require more than one click.) - The four red LEDs on the Motor board will turn on
- Click
Back
- (The three dots or bars) then 'Power'. Then click the
-
Back on the 'Throttle screen'
- Click one of the
Selectbuttons
- Click one of the
-
This will have taken you to the 'Select Loco screen'
- Enter the DCC Address of the loco you put on the track
- Select
ShortorLong(normally if the address is less than 127, it will automatically assume it is short) - Click
Acquire
-
Back on the 'Throttle screen' you can now use the sliders to move your train.
See Engine Driver Page for details on how to install and run Engine Driver.
WiThrottle (via JMRI)¶
Free version of WiThrottle
The free version of WiThrottle ('WiThrottle Lite') only controls one loco at a time and does not offer turnout control or DCC track power control. (Note: JMRI can be configured to automatically turn the track power on.)
The paid version WiThrottle can control multiple locos, can create and control consists, can control turnouts and routes, and can control DCC track power.
Before Engine Driver or WiThrottle can be run via JMRI, the JMRI WiThrottle server must be started. It can be started manually by menu --> actions --> start withrottle server or be configured to start automatically whenever JMRI is started
`menu --> edit --> preferences --> start up --> add --> perform action --> start WiThrottle server`` then save, exit, restart JMRI. A WiThrottle server window should open showing WiThrottle server is running.
- Open the network settings on your phone
- Change to same network of the PC that JMRI is on
- Start the WiThrottle App
-
WiThrottle will try to find the WiThrottle Server on the EX-CommandStation
- It should find the WiThrottle Server in JMRI and automatically connect to it
-
You should then see the 'Address Screen'
-
Turn the track power on by selecting the 'settings' tab and clicking on the
Track Power- The four red LEDs on the Motor board will turn on
-
Go back to the 'Address' tab
- Enter the DCC Address of the loco you put on the track in the
Keypadfield - Select
LongorShort(normally if the address is less than 127, it should be a 'Short' address.) - Click the
Setbutton - The address should appear in the green box at the top left.
- Select the 'Throttle' tab
- You can now use the sliders to move your train
See the Throttles Page for links to the WiThrottle app documentation.
Run more than one train (Individual or Consist/Multiple Units)¶
Engine Driver (Multiple Trains)¶
Engine Driver can optionally show throttle screen layouts that can provide for between 1 and 6 separate throttles. Each throttle can control and unlimited number of loco as a Consist / Multiple Unit train.
Multiple Throttles¶
To have more than one throttle you need to select a Throttle Screen Layout that has more than one throttle on it.
Use the Throttle Screen Layout preference to select a layout that supports more than one throttle (menu --> Preferences --> Throttle Screen Appearance Preferences --> Throttle Screen Layout). The numbers in brackets after the Layout name are the number of throttles that the layout supports.
Where a layout supports a range of throttles, select the number that you want to show with the Number of Throttles preference (menu --> Preferences --> Throttle Screen Appearance Preferences --> Number of Throttles).
See the Throttle Screen Appearance Preferences page on the main Engine Driver help sites for detailed information on the options that each Throttle Screen Layout offers.
Consist / Multiple Unit train¶
Adding additional locos to the Consist / Multiple Unit train is identical to the process of selecting a single loco. Simply click on the Select button, which will be showing the name or address of any locos already selected.
After selecting each additional loco, the Consist Edit screen will be shown. This allows you to:
- Change the facing of each loco (except the front loco)
- Change the order of the locos in the Consist / Multiple Unit
- Remove locos from the Consist / Multiple Unit
wiThrottle (Multiple Trains)¶
Free version of WiThrottle
The free version of WiThrottle ('WiThrottle Lite') only controls one loco at a time and does not offer turnout control or DCC track power control. (Note: JMRI can be configured to automatically turn the track power on.)
The paid version of WiThrottle can control multiple locos, can create and control consists, can control turnouts and routes, and can control DCC track power. See the WiThrottle manual.
Program a decoder's DCC address¶
DCC-EX provides an Android app |EX-TB| with a basic interface for programming DCC decoders, but it requires that you connect to the EX-CommandStation over WiFi or Ethernet. (USB is not supported.)
There are several Android apps that can program decoders, including:
- EX-Toolbox can program decoders over WiFi or Ethernet.
- Engine Driver can program decoders over WiFi or Ethernet.
See the Throttle List page for other Android apps.
We also recommend using JMRI DecoderPro for programming decoders. It works for USB connected a EX-CommandStation and it provides plain English descriptions of all the CVs of a huge number of different decoders, is very well supported, runs on the major PC operating systems, and is free and open source.
Programming options¶
There are two basic methods for programming decoders
- Using the Programming Track (Service Mode programming)
- Programming on Main (POM or Ops Mode programming)
Programming on the programming track, or service mode programming, allows for receiving acknowledgement that programming changes have successfully been applied, and also allows JMRI DecoderPro to interrogate a decoder to make a best guess at the type of decoder that's installed, what the address is, and so forth.
Programming on main, also known as POM or ops mode programming, doesn't allow for acknowledgement or reading of CVs, but is handy when simple changes need to be made while a loco is in operation.
We will outline how to use each option below to update a locomotive DCC decoder's address, as well as identify a loco that is currently on the programming track.
Service mode programming is the preferred method for making wholesale changes to decoder settings as you will receive positive feedback that changes have been made and, if you make a mistake with a DCC address, you can quickly read what has been programmed to correct the issue, or reset them to factory default settings and start again.
To program any other features, refer to the DecoderPro user guide <https://www.jmri.org/help/en/html/apps/DecoderPro/index.shtml>_ .
JMRI (Programming Decoders)¶
JMRI is a PC based app that runs on Windows, Apple macOS, and Linux (including Raspberry Pi's Raspbian (RasPi)).
It relies on the EX-CommandStation being connected to the PC running JMRI, normally by the USB cable. (It can be done over WiFi, but is not recommended). This means that, even if you setup your EX-CommandStation for WiFi you will need to connect it to the PC. Don't worry, this will work without having to load the software on the EX-CommandStation again.
Installing JMRI¶
To install JMRI, refer to the installation instructions on the JMRI <https://www.jmri.org/help/en/manual/DecoderPro3/Installing_JMRI.shtml>_ website.
Once JMRI is installed, launch DecoderPro. If you haven't previously used DecoderPro or any JMRI applications, you will need to setup your EX-CommandStation connection. Refer to the JMRi help page <https://www.jmri.org/help/en/html/hardware/dccpp/index.shtml>_ for instructions on how to accomplish this.
Using the programming track (service mode)¶
At this point, DecoderPro will be open at the "Getting Started" screen, assuming you have not used it before, and have no roster entries defined. The loco to be programmed also must be placed on your programming track.
This is the process to create your first roster entry and set the desired DCC decoder address:
- Click the
New Locobutton on the menu bar at the top of the screen - Click the
Read type from decoderbutton at the bottom of the screen - The most appropriate decoder should automatically be detected and selected automatically (multiple matches may be made, so select the most appropriate)
- Once only one decoder is selected, the "Create Basic Roster Entry" pane should appear to the right of the decoder list
- Enter the desired name in "Roster ID", enter the desired DCC address in the "Active Address" box, then click the
Writebutton to write the new address to the decoder - An "OK" should appear in the bottom left corner to indicate the write was successful
- Click
Saveto save your roster entry, and then either close the window or repeat the process for other locos
Once your roster entries are populated, if you forget which loco was programmed with what, place your loco on the programming track and click the Identify button on the top menu. DecoderPro will detect the decoder settings and, if they match an existing roster entry, this will be displayed.
To make further programming changes to your decoders, simply select the roster entry, make sure "Programming Track" is selected in the bottom right corner, then click the Program button which will open the full programming dialogue window.
For further information on programming in service mode, see Service Mode Programmer <https://www.jmri.org/help/en/manual/DecoderPro3/Programmer_ServiceMode.shtml>_ on the JMRI website.
Programming on main (POM or Ops Mode)¶
If you wish to set up a new roster entry for a loco that is already on your main track, or you don't have a programming track available, to a limited extent you can still do this through DecoderPro. You will, however, receive no acknowledgement that the changes have been written successfully.
Don't change DCC addresses on POM
You can theoretically change the DCC address using POM, but only short addresses (below 127) and some decoders don't even allow that. It is not recommended.
This is the process to add a roster entry and set the desired DCC address:
Using POM only changes the loco you have selected, not all locos on the track. Which is why you must select a loco first. (Unlike the programming track where it changes everything on it)
- Use the
Powerbutton at the top of the window to turn track power on - Click the
New Locobutton on the menu bar at the top of the screen - Unlike the service mode process above, you will need to manually select which decoder is installed in the loco
- Once the decoder is selected, the "Create Basic Roster Entry" pane should appear to the right of the decoder list
- Enter the desired name in "Roster ID", enter the current DCC address in the "Active Address" box, then click the
Saveto save your roster entry, then close the "New Loco" window - To set the desired DCC address, select the correct roster entry (See Warning)
- Select "Programming on Main", then click the
Programbutton - Click the "Basic" tab, set the desired DCC address in the "Active Address" text box, then click the
Write changes on sheetbutton (See Warning) - Close the "Program" window and when prompted, click the
Save and closebutton
For further information on programming on the main track, see Ops Mode Programming on the JMRI website.