The Model Railroad System Software package is available FREE of charge.

The current version of the software package is 2.1.44, dated Jan 9, 2020.

  • Add async (event driven) step code to ADAFruitDC_AND_STEPPER.tcl

  • Minor update of build infrastructure: remove duplicate variable def in Scripts/LCC/ and restore toplevel build control files.

  • Add CrossingInterchange LCC Example

  • Bug in Dispatcher build: TclSocketCAN gets packed into the wrong place in the StarKit.

  • Add signal helper code and update signal XMLs.

  • Further refinements: removed the need for a MCP23017 for the Occupency detectors (there are enough GPIOs on the Pi).

  • Add Schematics for hats

  • Add wiring diagrams for SMCSenseHAT and QuadSignal HATs.

  • Add bitmap and PDF of layout.

  • Start work on LCC Example documentation.

  • Create Event Report for panel

  • Start on logic virtual node.

  • Add LCC Example code

  • Minor updates to LCC Example code

  • Working on LCC Example documentation.

  • Fix to work with MacOSX properly (/usr/bin/trus vs /bin/true for missing programs)

  • Build update: properly handle no having bison++ and not try to build Dispatcher is bison++ is not available.

  • Search for macOS provided Tcl macOS provides Tcl 8.5, but not in a Linux expected location, so include the path to the macOS provided Tcl 8.5.

  • Error handling with config memory writes tweaking (OpenMRN weirdness).

  • Updates to OpenLCB_Common.tcl: support separated Config code and non-notebooked config and add sample config generator.

  • Add portable (sysfs) GPIO support

  • Layout Control DB updates

  • Updated LCC / Dispatcher logic (Layout Control DB features)

  • Updates to OpenLCB, LCCNodeList: progress dialogs, layout control DB features properly integrated.

  • Add Make buttons for CDI editor.

  • Update XtrakCAD parser.

  • Minor fixes to Dispatcher code relating to xtrkcad files. (Still to fix: Layout Controls menu index issue.)

  • Fix view menu indexing issue (Layout Controls)

  • Add setAttribute method to ParseXML

  • Fix bugs in ConfigurationEditor export code (nasty!).

  • Add OpenLCB Router.

  • Fix minor bug in OpenLCB.tcl: responding to GlobalVerifyNodeID with a payload containing a different NID.

  • Add comments to OpenLCBTcpHub.tcl and Router.tcl.

  • Fix bugs in Router.tcl: extra space in OpenLCBTcp, handle “orphaned” messages (missing alias => NID mappings) — dropped for now.

  • Added -cnid option to Router.tcl, Router now has a NID and uses an AME message to populate its alias map on startup.

  • Catch messages addressed to the Router (CAN/GC side). Presently, nothing is done with them.

  • Add logging code to log messages addressed to the router.

  • Catch write errors (lost connections, etc.) in OpenLCBTcpHub.tcl

  • Normalize case for route and alias for all CAN/GC alias maps and route tables for Hubs and Router (just in case). Finish out full node implementation for Router.

  • Fix the startup order (GC/CAN has to be first) of the routes in Router.

  • Add Refresh method to LCCNodeTree and Refresh button to OpenLCB.

  • Add Refresh button to CTC Panel Node Lists

  • Handle proper message syncronization with alias reservation.

  • Minor bugfixes in Router.tcl (SocketCAN).

  • Update protocol strings

  • Handle missing CRLF at the end of CDIs

Download the complete ChangeLog.

Source Downloads

  • Complete System Source; compressed tar. Uses the standard set of build utilities: autoconf, automake, libtool, etc. for most systems, building should be just a matter of "./configure && make && make install".
    34 MB Download “MRRSystem-2.1.44.tar.gz”Download
  • Complete System Source; zip archive. Uses the standard set of build utilities: autoconf, automake, libtool, etc. for most systems, building should be just a matter of "./configure && make && make install".
    35 MB Download “”Download

Miscellaneous Downloads

MS-Windows Downloads

These are cross-built for 32-bit MS-Windows and should run on modern 64-bit MS-Windows systems.

Linux Downloads

I have built the system for various “flavors” of Linux. My main development system runs CentOS 6 at present, so the base builds are built under that environment, but I have VMs for other Linux distros.

Generic 32-bit Downloads

Generic 64-bit Downloads

Other Linux Downloads

Other Linux binaries are available from the FTP and HTTP download sites. There are RPMs for RHEL 6, generic binaries for ARMV7l in the main directory (built on a Raspberry Pi running Raspbian), and there are sub-directories for Ubuntu and Raspbian.

MacOSX Downloads

Model Railroad System merchandise

And yes, there are things you can spend money on (which helps keep the programming gremlin fed, which means he can spend time making improvements to the system).