LEGO Train Control - Control a LEGO Power Functions train with an Android phone
I have used the https://robosavvy.com/store/dagu-arduino-mini-motor-driver-control-board.html and a bluetooth modul. Load the MotorDriver.ino onto the DAGU board. Change the name of the train in the ino file.
Link the bluetooth module with the smartphone. The default bluetooth pin is 1234. Build the app, load it to the phone and choose the train from the drop down menu.