JMRI Clinics
JMRI Clinics Archive
JMRI presentations on NMRA National Conventions and elsewhere:
JMRI Clinics
Archived JMRI presentations on NMRA National Conventions and elsewhere
JMRI User Gallery
People have used JMRI to do some great things for the model railroad community.
Our Gallery page highlights some of these.
Apps using JMRI
Showcase of third party apps that connect to JMRI
JMRI Code Visualisation
Get an impression of the parts that make up JMRI Code
By the community of

JMRI Help:

Contents Index
Glossary FAQ

Donate to

Signal Mast Logic - Introduction

At the Lancashire and Yorkshire DCC exhibition in October 2011, Nigel Cliffe and Kevin Dickerson presented a tutorial on using JMRI for signal control. This tutorial is based on that material.

JMRI can operate signals, altering the signal due to the state of the track ahead of the signal in question; what route has been set, whether other trains are occupying track, etc.. JMRI has the ability to calculate signalling rules based on a track diagram. The signal rules can be selected to be those of a particular prototype.

In this tutorial, we will focus on British Colour Light Signalling, following the BR 2003 rulebook. Towards the end of the tutorial we will show how British Semaphore Signals can be used. ( The construction of rules for mechanical interlocked signal boxes is not part of the tutorial.).

The tutorial was written for a LocoNet based system. There are a number of panel files which can be downloaded as part of the tutorial which shows the JMRI files at various stages of construction. If you wish to use these and do not have a Digitrax/LocoNet system, then we recommend you set your JMRI preferences to "Digitrax - LocoNet Simulation" which will allow the files to work correctly without connection to external layout hardware.

The remainder of this tutorial is broken into a number of pages.

  1. The layout; explaining the track formation
  2. Hardware; the types of hardware detectors and accessory decoders
  3. Adding Turnouts and Sensors to JMRI
  4. Building a Layout to represent the track formation
  5. Creating Signal Heads and Signal Masts
  6. Adding Signal Masts to the Layout, and creating Signal Mast Rules
  7. Permissive Block Working - the use of Calling-On Signals
  8. Extending JMRI with rules in Logix - creating Junction Indicators (Feathers)
  9. Using Semaphore Signals rather than Colour Lights