Software

I use a lot of software to make my layout work, and some of it is available for you to use too!

I have created four main pieces of software:
  • RemoteSign ESP (publicly available)
  • RemoteSign (Windows) (publicly available)
  • RemoteSign Sequencer (publicly available)
  • Bw (Betriebswerk) (not publicly available)

RemoteSign ESP

RemoteSign ESP is used for creating small working signs!

Screen displaying train information in HO scale
Click here to learn how to obtain the software and the screens to have this on your layout too!

You can also see examples of how I installed them on my layout... 
https://cabin-layout.mixmox.com/2019/05/working-platform-signs.html

RemoteSign (Windows)

RemoteSign allows you to display animated train timetables like you see in train stations and airports:

You can download RemoteSign and learn more about it at https://remotesign.mixmox.com

RemoteSign Sequencer

RemoteSign Sequencer is what you can use to control the content  of any number and combination of RemoteSign ESP and Remotesign Windows displays. It can react to sensor inputs from them and update the displays in a very flexible manner.

You can download RemoteSign Sequencer and learn more about it at https://remotesign.mixmox.com/p/remotesign-sequencer.html

Bw (Betriebswerk)

Bw is the software that I use to control my train layout. I created the software, starting in 2000 and it has been under development for at least 23 years!

It is rather sophisticated and handles the following:
  • Maintenance and editing of all layout data. All soft-coded. Permanent storage is all in editable text files.
  • Fast communication with Intellibox controller using P50b command set.
  • Allow friendly control without the operator having to remember any addresses or sequences.
  • Display of track layout schematic, real-time train locations, event triggers, etc.
  • Additional copies of the program can be run to allow operation at multiple places around the layout. These are called BwRemotes. Layout definition data is replicated from the master copy (that has the Intellibox connected) to remote copies. Train dispatching, signals, turnouts, events, virtual sensors, and control desks, turntables, etc. can be operated from any of the copies and state information is exchanged in real-time.
  • Booking of tracks and dispatching trains without collisions and deadly embraces.
  • Allows, and picks up, any speed changes, function changes or turnout changes made manually on the Intellibox.
  • Implements ballistic speed control for any locomotive addresses.
  • Ability to prevent goods trains from stopping at passenger station platforms.
  • Ability to control where trains are allowed to stop (so you don't have to see trains stopped on the mainline.)
  • Monitoring of feedback sensors to monitor train movements and button inputs.
  • Prototypical running of trains according to type, power, mass of train, track speed limit, etc.
  • Calibration and management of locomotive speeds. (I suspect I was the first to present  and demonstrate calibration of model locomotive speed steps at the University of Natal Winterfest in Durban in July 1989)
  • Speed calibration allows any number of locomotives to be in a train without having to match speed steps of each locomotive to each other.
  • Trains need no modification such as addition of resistors, or magnets for reed switches, etc.
  • Trains can be pulled or pushed by the locomotives allowing true push/pull operations.
  • Maintains an accurate distance odometer for every locomotive.
  • Maintains a service log for every locomotive.
  • No braking sections needed.
  • No train identification system needed. Train locations are tracked, maintained and preserved on disk in real-time.
  • Shorter trains do not have to drive to the end of long station platforms.
  • Routes can cross other tracks that have trains running in the opposite direction.
  • Switching of turnouts, lights and accessories.
  • Automatic switch on of smoke units when suitably equipped locomotives exit tunnels.
  • Automatic switch off of lights, etc. when suitably equipped trains enter hidden areas.
  • Automatic hidden station control.
  • Prototypical signal control including distant signal handling across multiple paths.
  • Allow tracks to be allocated to human use (E.g. shunting) while automatic operations continue.
  • Decoder programming.
  • Support stationary loco decoders. For example, to switch signal lighting.
  • Testing of s88 modules with audio feedback.
  • Testing of k83/k84 type modules with audio feedback
  • Ability to set all signals to any aspect to check signal operation.
  • Ability to exercise all turnout solenoids to prevent them sticking.
  • Control Märklin slewing crane.
  • Control Märklin mobile crane.
  • Ability to control multiple Turntables. 
    • Either manual control (with voice prompts referring to named tracks) or the K84 approach to controlling the Fleishmann/Märklin 7286 turntables. 
    • Turntables can be controlled by:
      • picking tracks
      • having the turntable go to the spoke opposite any track
      • move to the next/previous position
      • move to the next/previous track
      • continuous running
      • stop next position
      • 180° rotation
      • exit track selection
    • Turntable movements can also be initiated from Bw running as a BwRemote and the BwRemote to use for voice prompts is also settable.
    • Events can be defined to perform any of the movements and can be triggered by any of the standard triggers supported, including setting a route.
    • Movements are optimized to rotate the shortest direction to achieve the required position. 
    • The current position is saved and can also be set at any time. 
    • Turntables can have up to 360 positions.
  • Control of Hue lights.
    • On/off
    • Brightness
    • Color
    • Transitions over specific delays to any other color
  • Play sounds.
    • Play locally
    • Play on a RemoteSign
  • Display arrival and departure data in real-time on separate computers running RemoteSign.
  • Supports European style control desk type station control, on screen, or using a physical desk with push buttons.
  • Events can be user defined to perform operations such as dispatching trains, playing sounds, generating speech, displaying RemoteSign scrolling notices, Hue lights and user interface operations. Events can also branch on conditions, repeat and use timers.
  • Generate real-time dynamic arrival and departure announcements in German or English
  • Provide a web service that allows any browser to control trains, dispatch trains, view track views for the current position of the train, view log, initiate events, etc.
  • Schedule generation, taking into account distances between stations, train renumbering, etc. 
  • Generation of prototypical 'Buchfahrplan' documents from train schedules for trains.
  • Generation of timetables for stations.
  • Logging of almost all activities with settings to determine what items should be logged.
  • Logging of data such as all protocols for all locomotive addresses in the Intellibox, all Intellibox special options (with descriptions of settings and values where known), all signals, trains, tracks, etc.
  • Consistency checks check for data inconsistencies (For example, trains having a loco that is not currently on the layout etc.)
  • Handle webhook requests over HTTP to dispatch trains, fire events, control track power, provide information on trains and locomotives, and make special paging and welcoming announcements. This allows Voice activated control via Google Assistant and IFTTT
  • Supports locomotive functions on a secondary address.
  • Supports disparate function switching schemes.
  • Can display system log on a RemoteSign, either in the sign itself, or use the logging screen of a RemoteSign
  • Can reserve (or release) any turnout address for non-PC access
  • Can prevent any combination of address settings. For example, turnouts 81 and 82 can be prevented from both being set to 'red' at the same time.
  • Track detection points can be used for either automated train control or as simple track occupancy detection on a per track basis.
  • Layouts controlled with a push button control desk and simple track occupancy sensors can be managed, with the progress of trains, (including train names) displayed on screen.
  • 'Axle counter' support. On-screen real time displays of sensor activations similar to axle counter displays on "Spurplanstellwerk" systems.
  • Display of graphic images anywhere on the screen with the ability to bring arbitrary ones to the 'top' allowing user defined animations and status fields to be created.
  • It can handle (train) platform specific RemoteSign displays
  • It can handle multiple RemoteSigns per station. E.g. one displaying departures and arrives on a PC screen and a second, displaying the data on a miniature RemoteSign inside the station.
  • It can drive multiple (train) platform specific displays that show the activity for a single track.
  • It can control room lights and special effects via RemoteSign modules.
  • It can map sensors on a RemoteSign to any s88 address and even above 496 too.
  • If the layout plan is larger than the screen, it can be dragged about with the mouse or mouse wheel.
  • Virtual sensors can be defined which work like other sensors, but they are activated from the screen or a BwRemote screen.
  • Destination routing feature, allows routes to be followed based on a desired destination, rather than a specific route.
  • Single click destination dispatching.
  • The software can connect to RemoteSign Sequencer running on the same computer, and trigger any scripts in Sequencer
  • It can control RemoteSign signal controllers and freely mix k83/Event driven/RemoteSign/Virtual signals
  • It can utilize lighting effects generated by RemoteSign ESP devices, such as, lightning, arc welder, TV light flicker, etc.
It runs on Windows and is written in Visual Basic 6. As of February 2018, there is about 2.7 MB of code! It calls down into Windows for text to speech and permanent storage of data.

Here is an overview of the network connectivity of how Bw connects to copies of itself on other computers (BwRemote), RemoteSign Windows, RemoteSign ESPs, Phillips Hue, RemoteSign Sequencer and browsers! Voice commands from Google Assistant can also trigger events via IFTTT.


Apart from some browser pages, all data is kept synchronized with the state of the layout. Control  data flows in the direction of all the arrows. All connections from Bw to other items are via Wi-Fi except for the Intellibox connection with is over an RS232 serial port. 

Many of the concepts and techniques date from when I first starting writing software for controlling Märklin digital trains in 1988. At that time, I wrote a program called MDOS using Turbo Pascal that ran on an IBM PC and controlled the Märklin 6050 interface.

Sadly Uhlenbrock have dropped the P50Xb protocol from their second generation Intellibox and seem to have adopted LocoNet across their product range. This limits my software to talking to the original Intellibox.

Sorry, the Bw software is not freely available for others to use. I simply do not have the time to answer questions and provide support for it.