CATS (Computer Automated Traffic System) is an integrated suite of open source programs that provide signal logic and operations support on a model railroad. CATS uses JMRI for accessing the layout hardware and provides the logic for tying the hardware pieces together. It presents the layout as a computer screen panel inspired by Digicon. In addition, CATS supports crew management and connects to JMRI Operations for car routing.

The CATS Suite is packed with features


Prototype Look-and-Feel

CATS is inspired by the Digicon CRT based CTC systems from the 1990's and 2000's. It uses a Graphical User Interface (GUI) and mouse for throwing switches and setting routes. These actions result in sending commands to the layout. In return, it accepts replies from the layout and uses them to color the track for occupancy, move train labels, show switch alignment. and more.

It may (at the owner's discretion) maintain a list of trains with properties (e.g. train symbol, lead engine number, length, and more). The dispatcher can position a train label on the panel and the label will follow occupancy reports around the layout. It may (at the owner's discretion) maintain a list of operators which can be assigned to trains. The assignments can be monitored for hours of service. It may (at the owner's discretion) maintain a list of jobs. Operators can be assigned to jobs.

CATS records all train movement and crew assignments. The records can be replayed to pick up a session where it left off or be used in validating an operator's work for the NMRA Dispatcher AP award.

CATS also supports fleeting, taking a track out of service, and granting track authority.



The layout owner "draws" the panel with the Designer program and runs it with CATS. CATS uses the panel to determine the connections between layout elements and from the elements and connections, creates the interlocking rules. In most cases, no programming is required to attain prototypical interlocking of signals and switches.

CATS can be customized for a variety of user tastes and situations. It supports CTC/TCS (Centralized Traffic Control/Train Control System), ABS (Automatic Block Signals), APB (Absolute Permissive Blocks), TWC/DTC (Train Warrant Control/Direct Train Control). Thus, it can be used as a magnet board, a full CTC panel, or any level of connectivity to a layout between those extremes.

The user has the option of customizing panel colors, menus, fonts, tables, and even signal aspects.


Train Status

TrainStat (short for Train Status) is the third program in the CATS suite. Its use is optional. It presents the status of trains in a tabular format, similar to a yard master screen. It registers itself with CATS over an Internet connection and CATS feeds it updates (such as location, time at location, crew, length, etc.). TrainStat can run on the same computer as CATS, or a different computer with a network connection (e.g. a train master's computer or a yard master computer), or both or on multiple computers. It's presentation can also be customized. Furthermore, in a train master capacity, the TrainStat computer can be used for crew assignments, relieving that task from the dispatcher.

Latest Technologies.

CATS is written in Java for use on multiple computer systems and it is open source to allow user modification and no hidden surprises.



JMRI has an active support community on the Internet.

CATS is a JMRI application. This means CATS requires JMRI to do its job. CATS gets its independence from layout control systems because it delegates communications with the layout to JMRI. Thus, CATS works with Loconet, NCE, C/MRI and all the other control systems supported by JMRI. It also means that all the JMRI tools (e.g. DecoderPro) are available while running CATS.

In addition, CATS can optionally communicate with JMRI Operations over an Internet connection. CATS tells Operations where a train is and Operations tells CATS how long the train is and its weight, based on the assumption that the operator performed all the switching at that location expected by Operations. So, CATS can display in real time the current expected length and weight of all trains. This information can be fed to TrainStat clients, as well.

What are you waiting for?

Download the CTC panel and design programs, documents, and source code from license, executables, and source code.
In addition, you can find a list of bugs and change history, a clinic on how to wire a layout for signaling, a clinic on signaling, a clinic on building a CTC panel with CATS, CATS files (for the last), and a class presented at the New Caboose Hobbies about connecting JMRI and how CATS can enhance operations.

What's new?

  • On September 22, 2023, uploaded the first release of version 3 of both CATS and designer to the downloads page
  • On October 14, 2023, added the last JMRI release that CATS is compatible with