About Engine Driver

What is ‘Engine Driver’

../_images/throttle_horizontal_switching_colorful.png

Engine Driver Throttle (normally just referred to as Engine Driver or just ED) is a free Android application that connects to a WiThrottle™ Server 1 or DCC-EX EX-CommandStation to control model trains.

Supported WiThrottle Servers include:

Engine Driver can:

  • Control the speed direction and up to 32 DCC functions of your DCC enabled your locos

  • Control from one to six locos or consists / multiple units can be controlled at the same time

  • Easily create and edit on-the-fly consists / multiple units (software-defined)

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

  • Play virtual loco sounds

  • Specific to the DCC-EX EX-CommandStation, when using the Native DCC-EX Protocol, Engine Driver can also:

  • Program CVs (Service Mode and Operation Mode)

  • Control the TrackManager features.

  • Use some extend Route capabilities

  • Use the ‘Request Loco ID’ & ‘Drive Away’ feature from a Program track onto Mainline track

You can customise Engine Driver extensively to meet your needs.

Generally the WiThrottle Servers that Engine Driver connects to are either DCC Command Stations, or are designed to talk to DCC Command Stations (e.g. JMRI) to subsequently talk to DCC Decoder equipped locos on a layout. DCC-EX EX-CommandStation also allows controlling DC locos or even Slot cars instead.

Note

See the Operation - Using Engine Driver page for details on how to use Engine Driver.

Engine Driver is open source software which is available on github.com/JMRI/EngineDriver. This documentation is also open source and can be accessed on github.com/flash62au/EngineDriver_Home. Contribution to both the code and documentation is welcome. See [Contributing] for details.

Engine Driver currently has minSDKVersion of 16, which equates to minimum Android OS version of 4.1 (JELLYBEAN). Info on minSDKVersion available in the Engine Driver manifest.

What’s a ‘WiThrottle Server’?

WiThrottle stands for ‘WiFi Throttle’, and a ‘WiThrottle Server’ is just software running on your JMRI computer, DCC-EX EX-CommandStation, or dedicated device. It’s called a ‘Server’ because it allows you to connect to it and it ‘serves’, or services, requests from another application. That application is called a ‘Client’. So in this case Engine Driver is the client.

The WiThrottle Protocol itself is a standard for how WiFi throttles can communicate with the WiThrottle Server, much like the DCC standard is a standard for how data packets communicate with decoders. What this means for you, is that Engine Driver can talk to any WiThrottle compatible server, which in turn can talks to your DCC encoders in your locos.

Note

See the WiThrottle / DCC-EX Native Servers section of the Prerequisites page for information on the different WiThrottle Servers.


1

‘WiThrottle’ is a trademark owned by Brett Hoffman. It is also an iOS app developed by Brett Hoffman which has similar capabilities to Engine Driver.
The ‘WiThrottle protocol’ is a communications protocol developed by Brett Hoffman. It is used by JMRI, Engine Driver, the WiThrottle app and a number of other apps and DCC Command Stations.
References in this website to a ‘WiThrottle Server’, refer to a server that can communicate using the ‘WiThrottle protocol’.

WiThrottle protocol VS DCC-EX Native protocol

Engine Driver traditionally used the WiThrottle Protocol (described above). When the DCC-EX team designed the DCC-EX EX-CommandStation they found the WiThrottle Protocol too limiting and came up with a new protocol referred to originally as DCC++ but later as DCC-EX Native Protocol.

Engine Driver can use either protocol and, by default, will try to use the more powerful DCC-EX Native Protocol when connecting to a DCC-EX EX-CommandStation.

Engine Driver can also us the Native Protocol to connect to a DCC-EX EX-CommandStation via JMRI but you need to enable the “DCC++ over TCP Server” in the “DCC++” menu on Decoder-Pro.

Roadmap

Engine Driver doesn’t really have a roadmap. Code changes (bug fixes and features) are done depending on several factors, including:

  • Who is available to work on it

  • Who among the available people is interested enough to do the work

  • Are there enough people likely to use it to make it worth the effort

At the moment there are only a few of us doing any work on Engine Driver, so things happen when they happen.

See the Support & Contact page if you are having problems or wish to make a suggestion.

Alternates to Engine Driver

Engine Driver is not the only app that can connect to JMRI, WiThrottle Servers or DCC-EX EX-CommandStations, so it is worth your time to investigate the alternates.

See the JMRI WiThrottle page for a list of similar or related apps.

See the DCC-EX page for a list of similar or related apps.