This free application can connect to a JMRI WiThrottle server running on a computer, or to an MRC Prodigy WiFi, or to a Digitrax LnWi, and in turn 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.
EngineDriver is open source software. The source code is available on GitHub [HERE].