Engine Driver

Conductor Hat Propeller Beanie Engineer Hat

Android Logo

Engine Driver (ED) is an Android App that uses the wiThrottle Protocol or the DCC-EX Native Commands to connect directly to the EX‑CommandStation via WiFi. It can also connect to the JMRI WiThrottle Server via WiFi using the wiThrottle Protocol.

If you wish to connect Engine Driver directly to EX‑CommandStation, you need to add a WiFi option to your EX‑CommandStation as explained here: WiFi Setup.

If you wish to connect Engine Driver to JMRI, you need to start the wiThrottle Server and (optionally [1]) the Web Server in JMRI on the computer running JMRI. The JMRI computer must be connected to the EX‑CommandStation using a USB cable.


Android Logo

Get ‘Engine Driver Throttle’ from the Google Play Store

Visit the Engine Driver Website: https://enginedriver.mstevetodd.com/ for more information.

Extensive help is available at the Engine Driver Home site.

Standard Features (all WiThrottle servers)

  • Control one to six locomotives or consists

  • Speed and direction control

  • Up to 29 DCC functions

  • Create and edit consists (software-defined)

  • Control layout power, turnouts, routes, and access JMRI web panels and windows

  • ‘Discover Server’ Detect, Select & Connect to WiFi enabled Command Stations

  • ‘Roster Server’ download Engine ID’s & function keys from the Command Station

  • ‘Virtual Engine Sounds’ {Bell, Horn, Short Horn, Mute} for motor only decoders, on first two throttles

  • Able to use inexpensive Bluetooth gamepads for tactile control

  • Multiple theme, colours and throttle layout options

EX-CommandStation Specific or Advantageous Features

  • DCC-EX EXRAIL Automation {Handoff}, Route {Set} and EX-RAIL Command function buttons

  • Able to select local images for roster locos

  • New ‘Request Loco ID’ & ‘Drive Away’ feature from a Program track onto Mainline track with EX‑CommandStation

Using the “DriveAway(tm)” Feature

EX-CommandStation Specific Features - when using the DCC-EX Native Protocol

  • Read and write DCC addresses on the Programming Track

  • Read and write CVs of decoders on the Programming Track

  • Write CVs of decoders on the Main Track

  • Issue Native commands to the EX‑CommandStation

  • TrackManager control - able to change the type and state of each Track/Channel (e.g DCC and DC))

Engine Driver - Features when using the Native Protocol


Engine Driver Main Screen Engine Driver 2 Engine Driver 3 Engine Driver 4






LOW - Software - Give some setup tutorial here. Need a video to match since ED is the top used software

Using a Bluetooth Controller

This is the one Steve Todd uses himself on a lanyard. It leaves both hands free for paperwork and uncoupling and is light enough to simply let go of when you need both hands. Here are his optimised settings. His preferred settings are listed in the note below. You can use these as a start and customise them for your own use:

Bluetooth Lanyard Controller

Wireless Bluetooth Gamepad/Joystick Controller

And here is another Bluetooth controller that provides extra function buttons and you can hold by placing your finger in the ring.

Ring Shape Hand Controller




From Steve: I set speedsteps to 10, change amount to 1, repeat delay to 9999, horizontal switching layout, throttle web view. I acquire loco/consist using my phone, then dim & lock and put phone in my holster. Then I can “bump” the joystick up and down 3,2,1,0,-1,-2,-3, easily keeping track of the current “notch”. 1 is coupling speed, 2 is switching/yard speed, 3 is mainline. If I’m at home, I put the Conductor view in the web and I have my work for each location.

Engine Driver Conductor View

Adding a Physical Dial (Knob)

It is possible to easily add a rotary dial (knob) to Engine Driver. see Adding a Physical Dial/Knob to Engine Driver for more information.

Recording a log file in EngineDriver

If you are having difficulties with Engine Driver connecting to an EX‑CommandStation it is very helpful if you can provide the support team with a log file of when the problem occurs.

To record a log file in EngineDriver:

  1. Start ED.

  2. From the menu, select ‘View Log’

  3. Click ‘Start recording to a file’

  4. Click ‘Close’

  5. Attempt whatever is causing the problem a few times

  6. Exit ED

  7. Connect a USB cable to your phone and PC

  8. Allow access if the phone asks.

  9. In some versions of Android you may also need to change the connection type on the phone from ‘charging’ to ‘file transfer’

  10. Open a file manager and find the connected phone

  11. Browse down to the folder …Internal shared storageAndroiddatajmri.enginedriverfiles

  12. Find the most resent file that looks like logcatxxxxxxxxxxxxx.txt e.g. logcat1699833098998.txt

  13. Attach that file to a message here in discord using the paperclip button on the toolbar above the message content