This free Android application connects to a WiThrottle Server. Supported servers include JMRI, DCC-EX, MRC Prodigy WiFi, Digitrax LnWi, WifiTrax (for NCE) and IoTT Stick. Once connected, you can control your locomotives and your entire model railroad. Speed, direction, and up to 29 DCC functions are supported for one to six 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.


Engine Driver version 2.36.177 includes:

  • New 'Tablet Vertical Left (1-6)' throttle screen layout
  • Option to always use function labels from the server
  • Allow external web view on CSs without web servers
  • Fix for when deleting servers from the recent list
  • Improve Recent Turnouts state display and toggling
  • Support for Modes A & C on the MagicSee R1 gamepads
  • Additional options for Mocute gamepads
  • Some fixes for DCC-EX
  • Additional option and bug fix for Consist Follow Function feature


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


On your device, make sure you are connected to the WiThrottle server network.

Start the Engine Driver app and wait for your server'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.)
NOTE: see [here] for wifi connection issues.

On the throttle screen, click on the "Select" loco button for each loco.


Prerequisites (for JMRI):

Verify your Android device can connect to your network via WiFi and obtain an IP address.
Make sure you are running one of the latest versions of JMRI (3.8 works, 4.20+ works much better) on your PC, connected to your layout. Start up JMRI and verify you can use JMRI's included "Throttle" window 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.

Prerequisites (for MRC Wifi):

Connect the MRC WiFi module, and verify your device can connect to its network and obtain an IP address.
Note for MRC users: David Fuller has provided some additional setup information [here].

Prerequisites (for Digitrax LnWi):

Connect the Digitrax LnWi, and verify your device can connect to its network and obtain an IP address.

Privacy Policy

Engine Driver does not collect or use any private information from the user.

The device's "Android ID" is used internal to the app as a key when storing Preferences. The last 4 digits of this ID are used to create the default "Throttle Name", "Engine Driver nnnn".

The READ_PHONE_STATE permission is only used locally to your phone to (optionally) stop your locos while you are using the phone.

The ACCESS_FINE_LOCATION permission is required by Google for the app to read the WiFi SSID.