JMRI

DCCWiki, a community DCC encyclopedia.

The Java Model Railroad Interface is a suite of programs and is a single download. Don't worry about about trying to get each part separately - they're all bundled together. Also, you do not need to use each part of the suite to get a specific task done - that is you don't need to setup the automation part if all you want is to quickly program your decoders.

As the name says, it is built upon Java technology, giving it a degree of platform independance. Your computer must be capable of running Java. The version of Java that will work with your computer also determines the features JMRI offers you.

The Java Model Railroad Interface

Version Numbering Scheme

JMRI uses a simple version number system.

The most current version of JMRI is on their webpage, and is currently Version 4.X.Y.

  • Production releases are identified by an even number for the X value. This is the version you want to download for normal use.
  • For a Development release, the value of X is odd. These are available for testing and development purposes only, which you can install if you wish, although most users will not benefit from a development release. After testing and fixing issues, the final development version is released to the community as a production version.
    • The value of Y indicates an incremental update.


There is much more information available on the JMRI web site.

How can I Help with JMRI?

If you find JMRI to be useful, donations are appreciated to help cover the costs of providing JMRI to the community, and help pay the legal costs of defending JMRI during the Jacobsen v. Katzer lawsuit. The result was an important decision regarding Open Source Software. Even the NMRA became involved to protect their DCC Standards from questionable patents. In the end the decision benefited the Model Railroading community immensely.

Contribributing Software to JMRI

You can get more info on working on improving JMRI.


Supported Hardware

JMRI supports a number of DCC systems and hardware:

  1. Atlas Commander
  2. Bachrus
  3. C/MRI
  4. Digitrax
  5. EasyDCC
  6. Fleischmann
  7. Hornby
  8. Lenz
  9. Lionel TMCC
  10. NCE
  11. RPS
  12. Oak Tree Systems
  13. Protrak Grapevine
  14. Roco
  15. SPROG
  16. Uhlenbrock Intellibox
  17. Viessmann Commander
  18. Wangrow
  19. Zimo MX-1
  20. ZTC

For a complete list of supported hardware see the JMRI Website.


Operating Systems

JMRI will run on:

  • Mac OS X
  • Linux
  • MS Windows

You require a version of JAVA which is compatible with the JMRI version you are installing. The current 4.x versions require Java 1.8 (AKA Java 8).

JMRI 4.X will run on XP or Vista SP1, provided Java 1.8 is installed. Installation is a little difficult as Oracle's Java website will warn you that XP is obsolete, but an install package is still available.
To install Java on XP, you must download an Offline version for installation. Oracle does not support Java on XP, and it may break at any time. See JMRI Install Guide Windows for more information.

The JMRI site also mentions that computer hardware running current versions of MS Windows is available on the used market cheaply. It may be easier to buy a used computer which is compatible with recent versions of Java for a reasonable price than trying to upgrade an old one. See the install page for recommended hardware specs.

The JMRI Components

What can you do with JMRI?

  1. Use DecoderPro to configure your locomotive decoders and keep a roster of your DCC equipped locomotive fleet.
  2. PanelPro can run locomotives, throw turnouts, control signals, and even create control panels. But you shouldn't expect it to be as powerful as a commercial layout management program; JMRI isn't meant to compete directly with them.
  3. Use the LocoTools application with your Digitrax command station to control your layout, monitor communications, configure add-on devices, etc.
  4. The JRMI interfaces allow you to write programs for your own layouts. Making this easy is an important goal. This can be done via the scripting language, or by adding new Java code to the program.
  5. Write new general-purpose tools. Although this is a little harder than writing automation for your own layout, writing tools that other people use can be very satisfying.
  6. Implement the JMRI interfaces for a new system. Having JMRI work with other systems is an important goal. Once an implementation for another system works, the general tools (e.g. symbolic programmer, automations tools, signalling, etc) can be immediately used.


JMRI - DecoderPro

JMRI

Speed Tables

If you need a quick, simple to use, cross-platform software for programming decoders (mobile and stationary), then this is the choice for you.

Many people that have expensive track control software still use this software for it's ability to quickly, and simply program a wide range of decoders. The JMRI suite of programs runs on Mac Classic and OS X, Linux, and Windows machines, all under Java. All major manufacturers of DCC equipment, systems and decoders, are supported. A very active JMRI users group is available for user support on Yahoo Groups.

Screenshot of Decoder Pro.  Click for larger image



JMRI - Layout Automation

Layout Automation applications provide a large number of ways of automating your layout, ranging from simple fill-in forms to full-fledged scripting and programming capabilities. These include:

  • Routes
    • A simple form of automation is to define Routes, which allow you to simplify the control of your turnouts.
  • Signal logic
    • JMRI provides built-in signalling logic which can be used to drive your signal heads in many applications.
  • Scripting
    • JMRI provides a very powerful scripting tool. Based on a real programming language, it gives you access to all the JMRI capabilities.
  • Writing your own code in Java
    • The JMRI libraries greatly simplify writing a program to make your layout do exactly what you want.

JMRI - PanelPro

PanelPro is an application for operating CRT based CTC control panels that reflects the real-time state of your railroad and let you control it - almost like a Prototype dispatcher.

JMRI - LocoNet™ Tools

LocoNet Tools contain a number of LocoNet tools. Please see link for further details.

Summary:

  • LocoNet monitor
    • Display and log the traffic on the LocoNet, in either hex or human readable form.
  • Slot monitor
  • Packet source
    • A tool to let you type and send packets to the LocoNet
  • BDL16, BDL162 and PM4 programmers
    • A tool to let help you configure BDL16, BDL162 and PM4 boards.
  • LocoIO programmer
    • A tool to let help you configure a LocoIO board.

See Also

DCC Software - Other DCC software

JMRI has it's own Wiki

JMRI Decoder Definition website