Hi all,
I wanted to share a free cross-platform program that I've been developing on and off for about 10 years now. Perhaps not-so-creatively named "TrainControl", the idea is to make operating your Marklin layout as easy (and therefore as fun!) as possible. Over the past year or so I've doubled down on maximizing stability and compatibility with both the CS2 and CS3, and now with the new "v2.0.0" release, it should be quite refined and ready for use by the community!
The key feature of the UI is that there is a keyboard shortcut for everything. I've found switching between locomotives via the Central Station itself to be exceedingly time-consuming, and having two (or three, or four) knobs just doesn't cut it for a large layout. Touchscreen/mouse-based UIs have a similar slowness issue. So, with TrainControl, you can select locomotives, set/increment speed, set functions, decelerate, emergency stop, etc., simply by using the keyboard, without having to look at the screen at all. There are also keyboard commands for applying function presets for a specific locomotive, turning off all functions, applying a speed preset, etc., so that you don't have to spend time doing any of these repetitive tasks manually.
You can learn more and download TrainControl here:
https://github.com/bob123456678/TrainControl/.
Your Central Station must be connected to your local network for it to work, and don't forget to turn on the CAN broadcasting setting.

In line with the "easy and fun" theme, in addition to manually controlling trains, if you have the right S88 sensors, there are also facilities for semi-manual (i.e., conditional routes dynamically switch your switches and signals while you run the trains), semi-automated (you pick the destination for a specific train, and it goes there on its own), and fully automated (press one button and things happen) operation. The latter is similar to how other software does blocks. I plan to post some tutorials in the future on these features.
Originally, the program simply mirrored the Central Station's database, which it still does. In other words, it will download the locomotive database, routes, and layouts (CS2 only), and keep it up to date with the latest addresses and configuration. However, almost everything short of programming locomotives can now also be done within TrainControl itself, which adds quite a bit of versatility.
TrainControl can be used concurrently on multiple computers, and concurrently with the knobs on the Central Station itself, if desired. Personally, I run this on a small desktop connected to the CS3, along with a wireless keyboard. Others I know run it on their laptops. For those who want to program their own logic, you can use TrainControl's
Java API as an interface to the CS2/CS3 to do all sorts of things.
A lot of my early inspiration came from RocRail, so a shout-out to that group is well-deserved. Perhaps one day this UI could be extended to other control systems as well.
In the meantime, I hope you find this handy, and I welcome any feedback or ideas for the future. I've tested it mostly on Windows 7/8/10/11, so input from Mac and Linux users would be appreciated (the only thing that is Windows-only is the embedded layout editor). Enjoy!