JMRI is...

General Tools

JMRI provides powerful tools for working with your layout.

LocoNet Tools

A set of Digitrax LocoNet specific tools
  • LocoNet monitor
  • Slot monitor
  • Packet source
  • PM4 programmer
  • BDL16 programmer
  • LocoIO programmer

Layout Automation

JMRI can be used to automate parts of your layout, from simply controlling a crossing gate to running trains in the background.

JMRI: General Tools

JMRI provides several tools that are optimized for specific purposes. General tools:


A Sensor is JMRI's way of representing an input from the layout.


JMRI calls just about any output to the layout a "Turnout".


You can open multiple software throttles to run your DCC locomotives.


JMRI provides tools for managing locomotive consists.


Signals (or more formally SignalHeads) are how JMRI represents and controls signal heads on a layout. They are a specific kind of output device that can be set to various colors: Red, Yellow, Green, Flashing Yellow, etc.


Lights are digital output bits that function as on/off switches. Lights were created to provide easy control for fascia panel lights and scenery lighting. Lights can also be used for any purpose that requires an on/off switch. A light can be used, for example, to activate an electromagnetic decoupler for a pre-determined time in response to a fascia panel button.


Routes are a tool for driving multiple turnouts when something happens on the layout. You can have a panel switch through all the turnouts in your yard throat, etc. They can also change the status of Sensors, play sound files, and invoke scripts. They have some simple logic capabilities for deciding when to set the route's outputs.


A Logix is a tool for entering powerful logical expressions that can control parts of a layout. Each one can monitor multiple inputs and logical operations through containing a number of Conditional expressions, each of which can take simple actions. For more powerful control, combine the logical reasoning of a Logix with the powerful output controls of a Route.


LRoutes extend the capabilities of Routes by implementing them as a Logix. LRoutes can be defined with an unlimited number of Sensors, Turnouts, Lights, and/or SignalHeads for actions or controls. LRoutes provide an easy starting point for creating new Logix since thay may be extended to include any of the Logix capabilities.

Fast Clocks

JMRI can both provide various types of fast clocks on the computer screen, and also work with the fast clocks already installed on your layout.


A tool for determining the scale speed of your locomotives. You can use this while setting them up, to catch speeders, or for whatever you'd like.


The dispatcher tool provides functions and organizes information relating to dispatching trains on a model railroad layout. It's main function is allocation of sections of track to various trains running around the layout.


The operations tool allows you to produce computer generated manifests and switch lists for your railroad.

LocoNet-specific Tools

A set of Digitrax LocoNet-specific tools:
  • LocoNet monitor
  • Slot monitor
  • Packet source
  • PM4 programmer
  • BDL16 programmer
  • SE8C programmer
  • LocoIO programmer


If there isn't a preprogrammed tool to do what you want, you can almost certainly write a script that does exactly what's needed.

Instead of defining our own language, JMRI scripting uses the "Python" language that's commonly used in web development. Although it will take you a little time to get used to it, in the end it provides a lot of power to control your layout anyway you'd like.