December 12, 2024

MRCS: Model Rail Control System
The Chemins de Fer du Kaeserberg near Fribourg runs one of Switzerland’s largest model railway installations: 1:87 scale, several kilometers of track, 300 locomotives, and over 1,600 wagons. For years the layout ran on MpC, a DOS-based control system by Gahler+Ringstmeier written in assembly. It worked, but maintaining it and adding new features was increasingly difficult.
Kaeserberg wanted a modern replacement. The constraint was that their entire Gahler+Ringstmeier electronics infrastructure had to stay in place. Replacing the hardware was not an option.
What we built
MRCS replaces only the communication layer. All existing wiring, cards, and racks remain untouched. We replaced the DOS communication cards with new WiFi-enabled cards written in C, which communicate with an MRCS server over MQTT. The server is written in Rust, the frontend in VueJS, and the stack runs in Kubernetes with PostgreSQL for state storage.
The system covers everything MpC did: route management, block monitoring, manual control, and relay actions for barriers and speakers. On top of that, it adds an autopilot that finds paths between any two blocks automatically, access from tablets and phones, and integration with visitor interactions so guests can trigger lights, motors, and trains from touchscreens.
Migration from MpC was straightforward: the existing configuration files for blocks, occupancy detectors, routes, and train routes import directly into MRCS. After a short calibration phase for braking distances, the layout ran as before.
The museum can run MRCS on a local Ubuntu server or as a hosted service. Both deployment modes are in production.
Contact us if you have a Gahler+Ringstmeier installation and are looking to modernize the control system.