Engine Driver - JMRI Throttle for your Android device

Engine Driver version 2.12.  Changes in this release include:

2.12 changes by Robin Becker and MSteveTodd.

[view complete changelog]

This free application can connect to a JMRI WiThrottle server running on a computer, and in turn control your locomotives and your entire model railroad. Speed, direction, and up to 29 DCC functions are supported for one to three locomotives or consists.  You can create and edit consists (software-defined).  You can also control layout power, turnouts, routes, and access JMRI web panels and windows.


Verify your Android device can connect to your PC network via WiFi and obtain an IP address.
Make sure you are running one of the latest versions of JMRI (2.8 works, 3.8+ works much better) on your computer, connected to your layout.  Start up JMRI and verify you can use the included "Throttle" app to control a loco on your layout.

Start the WiThrottle function of JMRI, located in DecoderPro under Tools, Throttles.  It is also highly recommended that you start the JMRI Web Server function (Tools, Start JMRI Web Server).  Both of these should be added to Preferences, Start Up as well.


On your device, start the Engine Driver app and wait for your PC's address to show up in "Discovered Servers". 

Click on the discovered address, or you can enter the address and port of your WiThrottle server directly.  (Using the values shown on the WiThrottle window.)
There is also a "demo" server at jmri.mstevetodd.com, port 44444 that you can connect to for testing.

On the throttle screen, click on the "Press to Select" loco button for each loco.
On the next screen, click on a loco from the roster list, or enter the loco address (verify short or long), and press "Acquire".  You will be returned to the Throttle screen.
Repeat using 2nd "Press to Select" button to acquire a 2nd loco.
Note: press and hold a roster item to see additional details from the roster (requires web server be started).

extenze reviews

Operate your loco using the slider (or volume control) for speed, and the reverse, stop and forward buttons to control direction. 
To release all locos, just press the Back button and exit the app. This will also stop your locos (can be overridden in preferences). You can reassign the volume control by clicking on the speed indicator (the small "v" shows which has control).

To create a consist "on-the-fly", simply select additional locos for the same throttle. Note: locos must be added with the same direction of travel ("elephant mode"). Direction and speed will be sent for all. Release will release all for that throttle.

Press your phone's Menu button to access screens for Turnout, Route and Power control, as well as adjust settings and set numerous preferences.

You can also "fling" left or right to jump quickly back and forth between the Throttle, Routes and Turnouts pages.


Under Preferences, you can turn off the "stop on release" feature if desired, and you can set a Maximum value and Maximum change% for the throttle sliders.  If you're planning to manually enter Turnout numbers, select the correct Hardware System to use as the prefix.  If the throttle slider is too small for your fingers, increase the size in Preferences.  You can also set the initial web page for the full-size web panel, and enable the smaller web view on the throttle screen.  There are also settings to help maximize the use of your device's smaller screen by hiding items not relevant to you.

Use the Function Buttons menu option to set the default labels and function numbers to display. If you have entered labels for a roster entry in JMRI, these labels will be used for that entry, and can be copied from the dialog (access the menu after selecting a loco).  Remove buttons by blanking out the labels. 

On the JMRI computer side, check your WiThrottle preferences to insure you allow or disallow the control features desired.  If you've defined your turnouts and routes in a panel, make sure to specify "user names" for those you'd like to see listed on your throttle.  You can also "filter" the turnouts shown using the WiThrottle->Filter Controls option in the WiThrottle window.  Turning on "Use eStop" and "Use fixed port#" are also recommended.

Entering roster entries, and defining routes and turnouts in JMRI will all make your Engine Driver throttle more powerful and easier to use (though not required).  EngineDriver will show additional info if the JMRI Web Server is started (such as roster details and icon images).

The source code is available on GitHub [HERE].


Published version is 2.12, available in the Google Play Store [LINK] and direct download [HERE]. (Note: for manual install, turn on "Allow unknown sources" in Settings, manually uninstall earlier versions, then download and follow the prompts to install.)

Other versions are here: [version 2.13-test2] [version 2.12] [version 2.11] [version 2.10] [version 2.9] [version 2.8.2] [version 2.7] [version 2.5] [version 2.4] [version 2.3] [version 2.2] [version 2.1][version 2.0] [version 1.9] [version 1.8] [version 1.7] [version 1.6] [version 1.5] [version 1.4] [version 1.3] [version 1.2] [version 1.1] [version 0.9] [version 0.8] [version 0.6] [version 0.5][version 0.3] [version 0.2] [version 0.1]



Engine Driver Android Throttle for JMRI connect screen

Engine Driver Android Throttle for JMRI select loco screen

Engine Driver Android Throttle for JMRI throttle w/clock, speed buttons and steps

Engine Driver Android Throttle for JMRI throttle screen with panel

Engine Driver Android Throttle for JMRI Turnouts screen

Engine Driver Android Throttle for JMRI Routes screen

Engine Driver Android Throttle for JMRI Throttle Screen showing 3 throttles

Engine Driver Android Throttle for JMRI Preferences screen

Engine Driver Throttle for Android - Roster Details window


Special Version for Android OS 1.6 thru 2.0

The latest version of Engine Driver uses a feature which is NOT available in versions 1.6-2.0 of the Android OS.  Attached below is a version of the program with that feature removed.  To use, download and install manually (see directions above),

This special version can be [downloaded from here]


Special version for Android 1.5

The current version of Engine Driver uses a network discovery function which is NOT available in version 1.5 of the Android OS.  Attached below is a version of the program with that feature removed.  To use, download and install manually (see directions above), and enter your computer's IP address and port manually.  (Check the "Use Fixed Port" option in WiThrottle to simplify this.)

Then use as normal.

This special version can be [downloaded from here]


Engine Driver