The Java Model Railroad Interface (JMRI) is a free package that allows computer control of a model railroad. As it is built in Java, it can run on any computer operating system that has a Java Virtual Machine. I have decided to use the Linux distribution Ubuntu on all my laptops. The user interface has improved a lot since I last used it and will work well and is free to download.
The connection can be problematic I have read, due to the random nature of the port assignment on the computer end. The JMRI page is here.
Components I plan to use are:
This component allows connection to a decoder and programming of that device.
This component allows software panels to be built and used to control switches on the layout. This seemed to me to be a quicker and easier way to have panels on the layout instead of all the woodworking and wiring needed to have hardware panels. As I have older laptops I can use to host panels around the layout, this was ideal.