EX-Toolbox - Installing and Using
Installing
EX‑Toolbox can be installed on your Android phone or tablet via the Google Play Store .
Open the Play Store app on your phone or tablet and search for “EX-Toolbox”.
Once installed, open EX‑Toolbox and it will go through the initial setup wizard where it will ask for one permission, and for which which theme you would like to use.
After you complete the setup wizard, you will be shown the ‘Connection’ Screen.
Connecting
Other than the very first time you start EX‑Toolbox, when the app opens you will be shown the ‘Connection’ screen.
On the ‘Connection’ screen there are three ways you can select a EX‑CommandStation to connect to:
IP Address and Port
Discovered Servers
Recent servers
Discovered Servers
This is the most common way to connect. If the server you want to connect to is in the list, simply click on it and you will be taken to the ‘CV-Programming’ screen.
If the server does not appear in the recent list try one of the other two methods. Your server not appearing in the recent list is not necessarily a problem and there can be a number of reasons why.
Warning
EX‑Toolbox can connect directly to an EX‑CommandStation or server using the Native DCC-EX Protocol, however JMRI, the EX‑CommandStation and other devices and apps can, or do, advertise as “WiThrottle” mDNS services. EX-Toolbox cannot determine which are actually connections to a suitable server.
So… just because a server is in this list, doesn’t mean that EX‑Toolbox will be able to connect to it.
Refer to Connecting via JMRI below for how to use EX‑Toolbox with JMRI.
Recent Server List
If the server you want to connect to is in the list, simply click on it and you will be taken to the ‘CV-Programming’ screen.
A server being in this list does not necessarily mean that you will be able to connect it now. It just means that you have successfully connected to it in the past.
IP Address and Port
Type in the IP address and Port of the EX‑CommandStation and press Connect.
To find your EX-CommandStation’s IP address and Port refer you original setup or, if you have a OLED screen on your command station the details will be displayed on it.
If you only ever connect to one EX‑CommandStation you can effectively bypass this screen by setting the ‘Auto-Connect to WiThrottle Server?’ preference.
CV Programming
DCC Decoder CV programming is available:
on the Programming track (PROG) - Service Mode
on the main line (MAIN) - Operation mode / Ops Mode
By default EX‑Toolbox shows the Service Mode options. To switch to Operation Mode, select “Program on Main (Operation Mode)” on the drop down list at the top of the screen.
CV Programming (Service Mode)
Service Mode CV Programming is available form the ‘CV Programming’ screen, when ‘Programming Track (ServiceMode)’ is selected in the drop down list at the top of the screen.
Service Mode CV Programming allows you to both Read (if the decoder/loco supports it) and Write CVs.
You do not need to know the DCC Address of the decoder being changed, as all decoders/locos currently on the programming track will have the CV changed at the same time.
On this screen you can:
read the decoder’s DCC Address
write a new DCC Address to the decoder
read a CV value from the decoder
write a CV value to the decoder
select from a list of named, common CVs
issue <> commands to the EX‑CommandStation
To read the DCC Address of the decoder click the Read button on the DCC Address row.
To write a DCC Address to the decoder, enter the address and click the Write button on the DCC Address row.
To read a CV of the decoder, enter the CV number and click the Read button on the CV row.
To write a CV value to the decoder, enter the CV number, enter the value and click the Write button on the CV row.
If you select a ‘common CV value’ it will enter the CV number into the field. From there follow the instructions above for reading or writing the CV.
Note: Issuing a read or write will automatically turn the track power on.
See below for issuing DCC-EX commands.
CV Programming (Operation Mode)
Operation Mode CV Programming is available form the ‘CV Programming’ screen, when ‘Program on Main (Operation Mode)’ is selected in the drop down list at the top of the screen.
Operation Mode CV Programming ONLY allows you to Write CVs.
To use Operation Mode CV Programming you must know the DCC Address of the decoder/loco you want to change. Note: you should never try to change the DCC Address of the decoder/loco using Operation Mode CV Programming.
On this screen you can:
write a new DCC Address to the decoder
write a CV value to the decoder
select from a list of named, common CVs
issue <> commands to the EX‑CommandStation
To write a CV value to the decoder, enter the DCC Address of the decoder, enter the CV number, enter the value and click the Write button on the CV row.
If you select a ‘common CV value’ it will enter the CV number into the field. From there follow the instructions above for writing the CV.
See below for issuing DCC-EX commands.
Issuing <> Commands to the EX-CommandStation
On several of the screens in EX‑Toolbox you can issue native DCC-EX <>
commands to your EX‑CommandStation.
Enter the command you want to send, and click Send.
The command you send, and any responses from the command station will be shown below.
If you select a ‘common command value’ it will enter the command the field. From there follow the instructions above for issuing the command.
You can use the Next and Prior buttons to retrieve previously issues commands.
Speed matching
Speed Matching assists with making two or more locos run at similar speeds.
To access the Speed Matching either:
Swipe Left from the CV-Programming Screen
Swipe Right from the Loco Status Screen
Select ‘Speed Matching (PoM)’ from the Menu
EX-Toolbox Speed Matching Instructions
Requirements
A loop of track -
MAIN
A
PROG
track - or be prepared to switch the loop toPROG
temporarily. (see Notes)A loco that you wish to be the Master. i.e. that you want to make to other locos match.
One or more ‘Second’ locos that you wish to match to the Master.
That you have run all the locos (the ‘Master and any ‘Second’ loco) for 5-10 minutes to warm them up. Many locos run differently when warm.
Assumptions
Assumes that you have already configured the ‘Master’ to be the way you want it and the other locos to behave.
The ‘Master’ should be the naturally slowest loco of the set, not necessarily the one that will be run in the lead position.
i.e. Test your locos on their default settings first, and find the slowest.The low speed test uses a speed setting of 5 (0-126). If your locos don’t start moving at that setting it would be advisable to adjust Low speed setting and/or the Kick Start of the ‘Master’ first.
Assumes that, at least, the ‘Second’ loco is configured to use the High, Mid, Low CVs, not the full 28 step ‘Speed Table’. (Part of CV29)
Not critical, but it is advisable to have the ‘Master’ also use the High, Mid, Low CVs.The CV Programming Page of EX‑Toolbox has a feature specific to CV29. When you read CV29, it explains what you need to change the value to to disable the ‘Speed Table’.
It is highly advisable that BACK-EMF is turned off on all locos that will be run in a consist. If you don’t you will likely encounter surging of the locos as they speed up and slow down under individual load.
BACK-EMF is referred to by some manufacturers as ‘Dynamic Compensation for Speed Stabilisation’, ‘Scaleable Speed Stabilisation’ or ‘Load Compensation’. Unfortunately there is no standard way to disable BACK-EMF. You will need to refer to the manuals for your decoders.
This page has a detailed explanation of BACK-EMF and details on how to change it for a number of manufacturers.
Instructions
Open EX‑Toolbox and go to the Speed Matching screen.
Put the/a second (non-master) loco on the
PROG
track. (see Notes)Click Read -PROG trk.
This reads 8 CV values, including the loco address and CV29, and loads them in to the fields, with a 3 second delay between each read.
Watch for any -1 responses (failed reads), and redo the read if any have failed.
Put the ‘Master’ on the
MAIN
track (the loop of track), along with the ‘Second’ loco.Enter the DCC address of the Master.
Click the Low Set Speed button.
Watch and adjust the speeds of the Second loco in relation the Master, util they run at the same speed:
If the ‘Second’ is too slow, either:
Edit and increase the Low value and click Write.
Click the + button.
If the ‘Second’ is too fast, either:
Edit and decrease the Low value and click Write.
Click the - button.
Repeat for the ‘Mid’ Speed.
Repeat for the ‘High’ Speed.
Adjust the decoder momentum (Acceleration/Deceleration) and Kick Start as needed. Test by starting and stopping the locos from the three different speeds.
If you have more locos to match, repeat from step 2.
Notes:
By default, the + and - buttons change the CV values by 1. You can change this step amount by editing the ‘Step’ field.
e.g. When I start on a loco, I normally have the Step at 10. When it gets closer to a match I change the step to 1.You don’t need a separate
PROG
track. You can use the ‘Track Manager’ screen to temporarily set the loop of track toPROG
for steps 2-3, then change it back toMAIN
for steps 4 on.Some decoders don’t support Kick Start.
Some decoders don’t allow you to turn BACK-EMF off. Check your decoder manual.
The low speed test uses a speed setting of
5
(0-126). If your locos don’t start moving at that setting it would be advisable to adjust Low speed setting and/or the Kick Start of the ‘Master’ first.
Loco Status
Loco Status allows you to watch changes to all locos being controlled by the command station.
To access the Track Manager either:
Swipe Right from the Speed Matching Screen
Swipe Left from the Current Status Screen
Select ‘Loco Status’ from the Menu
Track Manager
(Only available when connected to EX-CommandStation version 5.0.0 and above.)
To access the Track Manager either:
Swipe Right from the CV-Programming Screen
Swipe Left from the Current Status Screen
Select ‘Track Manager’ from the Menu
Track Manager allow you to change up to 8 channels (depending on the Motor Shield you are using)
Each channel can be one of:
DCC PROG
- Programming TrackDCC MAIN
- Main TrackDC
DC reversed polarity (DCX)
OFF
Select the value you want for the channels and click Set
Note. If you select DC
or DCX
you must select a DCC address for the channel before pressing Set
. What ever address you select, selecting that address on your throttle (e.g. Engine Driver) will result in the DC locomotive on the track connected to that channel to respond.
Note. Only one channel can be PROG
. If you select more that one, one will turned OFF
.
Servo motor testing and adjustment
The servo motor test screen will allow you to test and fine tune the settings needed for configuring servo motors attached to the EX‑CommandStation. This is intended to be temporary. To permanently configure a servo motor you will need to record the values and include the in the configuration of your EX‑CommandStation.
To access the Servo configuration screen either:
Swipe Right from the Sensor Screen
Swipe Left from the CV Programming Screen
Select ‘Servos’ from the Menu
On the Servo motor screen,
Enter the VPin of the servo motor you want adjustment
Enter any known starting values for Close, Mid, Throw
Test the Close, Mid, Throw positions by pressing the appropriate button. The servo will move to that position.
Fine adjust any of the three positions by using the + or - buttons
The servo will gradually move.when you are happy, record the three values
EX‑Toolbox remembers the servos that you have changed (up to 10) in this and previous sessions, and you can select one of the previous servos from the drop down list. EX‑Toolbox will restore the last settings you used for the selected servo to the main fields.
Sensor testing
The Sensor test screen will allow you to test any sensors configured in your EX‑CommandStation.
To access the Sensor Testing configuration screen either:
Swipe Right from the Current Status Screen
Swipe Left from the CV Servos Screen
Select ‘Sensors’ from the Menu
When the screen opens the first 100 sensors found will be shown. Activity on the sensors will be shown on the screen. Scroll down to if needed.
The Watch button is generally not needed, but will force EX‑Toolbox to check the available sensors on the EX‑CommandStation again.
Current Meter
(Only available when connected to EX-CommandStation version 5.0.0 and above.)
The Current Status screen will show you the current values for up to eight channels on the motor shield on your EX‑CommandStation.
To access the Current Meter screen either:
Swipe Right from the Track Manager Screen
Swipe Left from the Sensors Screen
Select ‘Current Status’ from the Menu
For each channel the following is shown:
the up-to-date value in Milliamps
the highest value seen recently in Milliamps
the maximum value able to be supplied by the moto shield in Milliamps
The readings start as soon as you open the screen and are paused as soon as you exit the screen. The readings are taken every three seconds.
You can manually stop the readings with the Stop button.
You can manually restart the readings with the Start button. This will also clear the ‘Highest’ values.
Secondary Screens
Power
Turning Track Power On
There are two ways to turn the Track Power on/off:
Power Screen - accessed from the menu
Power Action Bar button - needs to be enable in the preferences
The Power Screen can be accessed from the Close button or Android’s Back button to return to the CV-Programming Screen.
. This will open the Power Screen where there is a simple button that to turn the power on or off. Use theIf the Power Action Bar button is enabled, simply click on it to turn track power on or off.
Note
You can also optionally enable the Power Button on the Action bar in the preferences.
Preferences
Most configuration options are found in the Preferences which is accessed via the overflow menu which is normally three dots (⁞) or three bars (≡).
View log
Accessed from any of the main screens via
.This screen allows you to view the internal Engine Driver log of events. This is sometimes useful for analysing problems.
The option to Start recording to file creates a user-accessible file that can be sent to the EX‑Toolbox app developers to assist you in resolving a problem.
The file will be located on your mobile phone at:
Internal storage /Android/data/dcc_ex.toolbox/files
and will be named something like: logcat9999999999999.txt
Enable the preference to include the timestamp on each line of the log.
About
This screen displays
Information about EX‑Toolbox
Information about the EX‑CommandStation it is currently connected to (if any)
A page of basic information about EX‑CommandStation
Connecting via JMRI
By default, you cannot connect EX‑Toolbox to JMRI and therefore the EX‑CommandStation via JMRI. JMRI uses the wiThrottle Protocol for normal WiFI connections to client devices, but the EX‑Toolbox requires the use of the Native DCC-EX Protocol.
To use EX‑Toolbox with JMRI you must enable the Load DCC++ over TCP Server
option. This is found in the ‘DCC++’ Menu.
Once this is enabled you will see two servers in the ‘Discovered Servers’ list in EX‑Toolbox (and Engine Driver). One will be just the name you have given your railroad in JMRI (e.g. ‘My JMRI Railroad’). The other will have the same name but with ‘ [DCC-EX]’ after it (e.g.’My JMRI Railroad [DCC-EX]’).
To use EX‑Toolbox you must select the one with ‘ [DCC-EX]’ in the name.
Connecting via USB
EX‑Toolbox can’t normally connect to an EX‑CommandStation via USB, however it is possible to temporarily create a USB to IP connection on your PC using tools like socat or SerialToIPGUI (for windows).
Using socat in Linux:
socat TCP4-LISTEN:2560 /dev/ttyUSB0,b115200,raw,echo=0
or (to provide more information)
socat -d -d -d TCP4-LISTEN:2560 /dev/ttyUSB0,b115200,raw,echo=0
Note: Change ‘dev/ttyUSB0’ to the appropriate USB port that the command station is connected to.
Using socat in Microsoft Windows:
socat TCP-LISTEN:2560 /dev/ttyS11,b115200,raw,echo=0
or (to provide more information)
socat -d -d -d TCP-LISTEN:2560 /dev/ttyS11,b115200,raw,echo=0
Note: Change S11 to the appropriate USB port. Whatever ‘COM’ number appears in the Device Manager, subtract 1.
i.e. ‘COM12’ in the Windows Device Manager becomes ‘/dev/ttyS11’
Using SerialToIPGUI (For Microsoft Windows) (Recommended):
start SerialToIPGUI
Select the correct COM port for the command station
Enter the port of ‘2560’
Click Start
Once started…
Open EX‑Toolbox on your Android device
Enter the IP address of your PC (The one running socat or SerialToIPGUI)
Enter the port of ‘2560’
Click connect
Warning
This ‘trick’ only supports a single connection at a time. So it is important that JMRI (if you are using it), or the Arduino IDE serial monitor, or anything else that might be using the COM (USB) port are shut down first.
Downloads
SerialToIPGUI - https://sourceforge.net/projects/serialtoip/
socat for windows requires downloading the ‘cgywin’ and installing the optional ‘socat’ package when you install - https://www.cygwin.com/
Troubleshooting (Windows socat)
In Microsoft Windows and using the command line socat, if you see a “command not found” error, Here is what you need to do to fix it:
Right click on “My Computer” -> Properties -> Advanced -> Environment Variables
Add a new environment variable, called
CYGWIN_HOME
and set its value toC:\cygwin
Edit the PATH environment variable and add
C:\cygwin\bin
to it (usually separated by a ‘;’).Just click okay, exit any command prompts or bash shells (over cygwin) you may have open, and open it again - it’ll work!
Note that if you installed cgywin to a folder other than “C:\cgywin” (e.g. c:\cgywin64), use that folder name instead in the change above.
Android apps on Windows
Although|EX-TB| is an Android app, it is possible to run it on windows PCs.
See the Android apps on Windows page for more information.