Episode 8: Rocrail – Automatic Model Train Control

Rocrail: A cost-effective software for model railroad control

Rocrail (→www.rocrail.de) is alongside →Win-Digipet and →Traincontroller one of the more common software packages for model railway automation.

Screenshot of the Rocrail website

Rocrail offers a wealth of different features. To list them all would go beyond the scope of this article. First of all it is important to get started cheaply, because without a license you can test a lot and get started. Furthermore the possibility to create your own xml-scripts is one of the highlights.

A possible platform

  • PC-Hardware (ideally with touch screen, e.g. for setting switches “by finger)
  • e.g. with Windows 10, but also older versions
  • Connection to the command stations (see below) via USB

Different types of control

Rocrail supports different modes to control the railway:

  •  Manual:
    • Without software support: simple locomotive and magnetic article control by the operator (as at “analog” times)
    • With train tracking: Specification of the destination, then manual travel with recognition of the locomotive or train position. The setting of switches etc. is then taken over by Rocrail.
  • Automatically:
    • e.g. by timetable, time triggering is also possible
    • by target (the way is searched for, “Finder”)
    • “Aquarium Mode”: Each locomotive randomly determines a next destination etc. until it is stopped (manually)

Supported Command Stations

What is a Command Station?

A command station connects the high-level software (PC-USB) with the “fieldbus level”, i.e. the rail voltage, which also transmits the digital information. Many manufacturers offer command stations. Basic functions are available on almost all different brands and are identical, for example with the help of the →DCC protocol. However, it is important that the control software (Rocrail) supports the desired command station.

Virtual Controller

Many programs offer the possibility to test the planned operation “offline”. This means that any trains that may be available are not really being driven at all, but are merely being simulated. For example, timetables can be quickly checked for errors.

In Win-Digipet, for example, this feature is called “Office Mode”, in Rocrail it runs under “Virtual Controller”. →In the video this possibility is used, so that the processes run faster and the focus is on the features shown.

Other Rocrail Features

  • Manual pushbuttons/switches: Rocrail offers endless possibilities to intervene in the operating process. Manual encoders are essential for this. A button can be placed next to a station track to trigger a timetable.
  • Actions (event- or time-controlled): Nearly every event in Rocrail can be provided with an action. For example, a sound can be triggered when a block status changes from “free” to “occupied” and vice versa.
  • Xml-Scripting: Through the free programming of conditions in the context of a simple programming language almost arbitrary logics can be mapped. This allows complex states to be recognized and reacted to. However, it should always be noted that the basic control by Rocrail is not disturbed.

Track Plan as an example

I presented a track plan design in the article 1 Scale Layout on 120 Squarefeet. This design is shown here as a Rocrail track plan:

Track plan in Rocrail

Example of a schedule

The video shows a timetable that the locomotive leads from Fiddleyard on the right over the second railway station track to Stumpfgleis. Then the direction of travel changes and the locomotive enters the loading track (track 3, here BhfGl3). In contrast to the aquarium mode, the timetable has the advantage that the train takes exactly the given route. If a block is occupied, the locomotive waits in the previous block.

Example of an action

As already mentioned, actions can be triggered by every conceivable change in state. As a rule, such extras “refine” the operating procedure. For example, a station announcement can be played when a certain train reaches the station. In the video a simple lamp is set from red to green if the track 2 block is occupied.

Example Xml-Action

Xml-scripts or -actions are an alternative to actions that have to be put together in the program. Functionally, they are absolutely equivalent. However, xml-scripts are the better alternative for very demanding or complex processes or conditions, since they are more freely and clearly to program and offer numerous possibilities with the usual logic elements (If-queries, Do-loops).

Requirements for every good model railway control system

In this article only a very brief overview can be given.

A note about Xml-Scripting

It is practically possible to record digital inputs via feedback, to process them via xml-script and then to initiate further processes. As it will become clear, this possibility is very helpful for users experienced in software programming. Many →user contributions at Rocrail show this.


Very cheap (limited free) and very versatile software. From my experience, the operational stability is basically given. However, if one leaves the “recommended” solution for some kind of problems, troubleshooting can become somewhat more complex. Other fully commercial products are more user-friendly here. But this is compensated by Rocrail’s lively and competent forum. In my opinion Rocrail is ideal for advanced users with a certain software affinity; especially if xml-scripting is about to be used.

Comments are closed.