I have designed a Universal Railroad Bus (URB) system as a tool for creating a model railway management system. This USB system lets the modeler create a management system completely custom to his own layout. It is completely expandable as his layout grows. The modeler can start off slowly with a simple system and add to it as he goes along. This system provides the modeler with none of the restrictions that are characteristic of off-the-shelf control systems, such as the DCC, and without the large cash layout.

Wireless Multicontrol and I2C Bus.
Open simple communication Protocol.
Cheapest Arduino hardware.

Control of multiple trains via my Apps. Real multiplayer with two or more gamers. Using only Arduino's cheap devices. Not need computers or a special hardware.

Your laiway - your rules

Quick Start. Use any Arduino products. You can download sketches for NANO, UNO, MEGA and ESP32.

Simple sketches only for controlling trains, without using all the capabilities of the system and URB units. For single Arduino and L298 Motor-driver.

Quick Start sketches

Smart Tracks, Turnouts and Turntables.
Automated Traffic Control. Inertia.

Route selection via the App. Сooperative behavior up routes and turnouts setting using Servos and Switch machines through Arduino sketches. Native support sensors and signals centralization. Any lighting effects for your layout. Controlling all devices and mechanisms of layout. Working at your favorite scale.

Railway layout control options

How it works

The project has named as URB (Universal Railway Bus), consists of three parts – a Android App, rules for applying and writing Arduino Sketches (Protocol) and any Arduino hardware. You can interconnect any number of Arduino boards in series, or using a URB topology. Thus, there are no hardware restrictions on the number of devices (turnouts, signals, lights, crossing mechanisms and other). This is a clear difference to other railway control systems. Data exchange between the application and your layout is carried out through one or several Bluetooth connections or over Serial connection. Using these interfaces you can also integrate my control system with any other equipment (Raspberry Pi, PC, external DCC microcontroller systems, hardware indicate or real buttons and rudders control panels ans so one).

The Main Principle of the whole project is the minimum complexity and inexpensive components. Most of the logic and control algorithms of the URB project are programmed in a sketch for Arduino directly connected to local devices. Instead of the classical approach with one microcontroller (or computer), where one sketch or program with a very large amount of complex code is needed, the sketches of the URB project are very simple, clear and concise. Open source Arduino IDE allows you to program the system to suit your layout. Detailed step-by-step examples of system integration into your railway are available on this website and on my YouTube channel.

Univeral for scales

System fits to your favorit scale

To control trains you will fit any of the many Motor-Drivers suitable for the Arduino platform. This means that you can use any voltage range (up to 50V). And moreover, you get flexibly adjust the speed characteristics of your locomotives by simply changing the Arduino sketches. The project provides for this a special speed code array. From protocol version 2.1, the PWM frequency is set to 122 Hz.

Any railway layout and any behavior your trains

There are no restrictions on the size of your railway and its complexity. You can apply this system to a small layout with a few turnouts, and then expand your railway world to any size. You can also integrate any sensors into the system and even build real interlocking. You do not need additional accessories – all you need already available in the big collection of devices for Arduino.

Most of videos, sites and posts of modelers show the most spectacular part of the process of creating a layout – the layout of ways and creating details of the landscape. At the same time, the creation of trains control system is postponed until later, hoping for ready-made DDC solutions. And if the layout is large enough, it quickly becomes clear that the initial and most popular DСC systems are not designed for such a complex layout. As a result, most modelers simply do not try to make complex control of their layout. And I very often see a sad picture as on an excellent model layout several trains monotonous and boring move on parallel circles. Such "live" things as dynamic changes in routes, complex maneuvers, automatic train movement, online signaling and independent management of several players will make very expensive and difficult to install and configure logics if you use the concept of DCC. Especially bad is the control console on complex layouts, it is cumbersome, inconvenient and its cost often exceeds the price of all other electronics.

As you already know, in my project the console is the any Android phone or tablet with the Arduino Trains application. In addition to the fact that you immediately get several a ready "free" and wireless management consoles, this solution transfers the configuration of the logic and algorithms of your layout to the network of Arduino blocks located directly on the layout. This is a very big difference from the usual model of building electronics on the layout, since you are building a distributed control system. This solution allows you to perform most of the control algorithms locally, which greatly simplifies and speeds up the setup and programming of sketches.

The flexibility and universality of the project URB gives you the opportunity to independently make decisions about the organization of the behavior of devices on your layout.

URB - How it work

Advantages of this project

Modularity of the project allows the use of prototyping. Create your a prototype, and then transfer it to the layout. This allows you to realize your thought much faster.

Instead of a long and not always successful manufacture of a real console with buttons and throttle rudders, Arduino Train Apps immediately gives you many advantages:

  • Works right out of the box. You just need to run the program on a smartphone or tablet.
  • Wirelessly. Bluetooth is integrated into any modern Android device.
  • You can use several Android devices for controls the one layout, that is, you can play together. Also you can just buy cheap simplest Android-tablets specially for the your model project.
  • Useful app UI specially for railway modellers
  • Free upgrade to new features. For example: now updated versions my app have new Inertia drive mode.

No projects is successful if it does not offer a complete and reliable solution. My version offers not only this, but also an almost infinite expansion of your railroad capabilities in building electronics, the lack of restrictions in the implementation of your own ideas. You can update your layout and add new features to it by simply updating the firmware of the the Arduino boards, you will not let you lose interest in the future.

Programming a sketch for a project is very simple. Only simple codes and standard Arduino libraries are used. My friend says a great phrase about Arduino: Don’t be afraid of programming, for Arduino programming is like teaching the dog to execute commands.

For the Arduino platform, a very large number of parts are produced: sensors, motor-drivers and etc. Thanks to the competition of the producers, they are very cheap, and you will not have compatibility problems between them and Arduino. The software has been tested by millions of users and is very reliable.

Railway layout under URB control
Railway layout under URB control
Railway layout under URB control
Railway layout under URB control
Railway layout under URB control
Railway layout under URB control


About me

Responsive image

Steve Massikker

Founder URB Project

Hello friends! I started this project in 2014. Then I was absolutely not satisfied with the state of affairs in railway modellings. I did not want to use the ready DCC system for a variety of reasons, one of which was my old fleet of locomotives. The attempt to sort out the zoo of Open DCC solutions terrified me. In addition, I wanted to control the trains from the Android phone and absolutely did not want to use a computer for this. I needed a simple, reliable, repeatable solution with a lot of flexibility, if I wanted to make my layout automated.
Moreover, it seems to me that railway modeling as a hobby is gradually losing popularity precisely because of DCC. Teenagers gets boring with the concept are connecting many wires to a variety of disparate strangest devices and strong and incomprehensible rules without the possibility of independent experiments. The battery, the loco with elementary DC motor and the rails are much more interesting than the expensive set with admonishment from the elders: "do not break it and do not touch without me!"

The second problem was the lack of convenient software. All the applications I've found have always come bundled with hardware. And this completely blocked the incredible possibilities of a cooperation of Android and Arduino. I wanted to independently build control algorithms and have a universal wireless console. As a result, I had to coding an application by himself. Now this is the six version of the program Arduino Train, and it's consists of several applications.

Gradually within a few years the project has become reliable and perfect, so, I that now they can be shared. Especially I succeeded design in the concept of URB, I myself did not expect how convenient this was.

If you have ideas and suggestions about this Project — write to me on steve@arduinorailwaycontrol.com