It is enough to have a any classic starter model railway kit and even a schoolboy will build this scheme in a few minutes. You can use any railways scales, any manufacturers, and even old dusty boxes with railways from your childhood.
Step 1: Arduino Hardware
The simplest scheme for start usihng the app can be collected on the Arduino breadboard. Only the Arduino NANO board, a Bluetooth module like HC-05 and a motor-driver (recommended L298) needs. Also you may use any shields and Arduino UNO or MEGA.
Unfortunately, attempts to collect more complex schemes given below are often unsuccessful. There are too many connections, and people start to confuse wires and contacts. Accordingly, the problems begin. To avoid such a situation, I came up with a free URB unit. And as soon as you start using this unit, you will get a huge amount of advantages over similar devices.
So, this project uses URB unit, but you can adapt it's to other Arduino devices yourself.
All the necessary details for the version of the project using the URB unit are shown in the picture.
Step 2: Arduino Sketch
Since in this project you can control not only trains, but switching points and tracks, activating sensors and light effects on your layout, and even do automatic traffic control of trains, then for each yours track plan need have assembled you need to change the sketch.Thus, I will present here the simplest circular track route with a branch, as an example.
Step 3: Connect Between Arduino Parts and Rails
Step 4: Arduino Train Control Android Apps
With this example, you can use any Arduino Train application by installing them from GooglePlay. I recommended use Arduino Train Junior Lite for this example.
The way to manage trains from the application is shown in the video
Step 5: More Features
This is an example as part of an arduinorailwaycontrol.com project. Perhaps I will add even more examples to this instruction in the future.