JMRI® is...


By the community of


JMRI tools for working with your layout:

Layout Automation

Use JMRI to automate parts of your layout and operations:

Supported Hardware

Devices, command stations, networks, and protocols:

JMRI Setup and Installation

JMRI environments...

JMRI Help:
Contents/ Index
Glossary/ FAQ

Donate to JMRI Donate to

JMRI: Frequently Asked Questions (General)

This page is part of the effort to make it easier for all model railroaders to get started with JMRI. It contains general information about JMRI that is frequently asked in user forums, of experienced users, and of developers. Links are provided to other pages in the Help/web site wherever posssible.

Can I use JMRI to...
  • Can I use JMRI to operate my DCC trains?
    Yes. JMRI provides the functions of a throttle (or many throttles) to your DCC command station.
  • Can I use JMRI to program the decoders in my locomotives?
    Yes. JMRI DecoderPro greatly simplifies programming decoders through your DCC command station.
  • Can I use JMRI to control accessories on my layout?
    Yes, of all kinds including turnouts, lights, signals, room lighting, automations - anything that can be electrically connected to your computer, DCC or other object control system which uses any network or protocol that JMRI supports.
  • Can JMRI receive and process feedback from my layout?
    Yes. Any type of sensor can be used to provide feedback from different aspects of your layout.
  • Can I use JMRI to operate my DC trains?
    Only to the extent that they can be controlled by whatever DCC system you are using.
  • Can I use JMRI to control signals on my layout?
    Yes, according to many different signaling protocols.
  • Can I use JMRI to automate train operation?
    Yes, in many different ways.
  • Can I use JMRI to do more than one of these things at the same time?
    YES! You can use JMRI for as little or as much as you want. Start small with one function and keep adding more as you and your layout grow and learn.
JMRI has so many features, where do I start?
Many people start by connecting their DCC system controller and then registering their locomotives using DecoderPro . Once that is done, you can start running trains using a throttle in JMRI, a wireless throttle, or your smartphone or pad. Of course, you can dig right in and enter layout information on a Layout Editor Panel in PanelPro (see here for a tutorial). After that, you can go won to operations via DispatcherPro and OperationsPro or other forms of automation - use whatever features suit your needs.
Where can I learn about using JMRI?
There are many presentations and videos available on the internet to help in learning the different aspects of JMRI. In addition, the web site has getting started guides (PanelPro, DeocderPro). Reading questions asked by others, or asking your own, on the user forum can also be a way to learn.
What is the difference between using PanelPro, DecoderPro, and the other JMRI applications?
JMRI can be viewed as a series of functions and user interfaces operating on a variety of data - all linked together. DecoderPro, PanelPro, DispatcherPro, OperationsPro, and SoundPro are all different ways to get to the same information and functions. If you start by opering PanelPro, you get a main window with many pulldowns, including all the functions of DecoderPro. If you start by opening DecoderPro, you get a roster window with many pulldowns, including all the functions of PanelPro.
How much computer programming knowledge do I need to use JMRI?
None - to use most of the functions of JMRI. Some capabilities of JMRI make use of programming-like logic (such as the Logix tool), but more limited capabilities are always available with a simpler interface (such as the Routes and LRoutes tools). Of course, the more programming knowledge you have, the more you can do, including writing “scripts” (which are really computer programs) and even developing complete applications using the underlying JMRI functions (for example, CATS and many others).
Is JMRI a DCC command station?
No. JMRI is software that greatly enhances your ability to control your trains through your DCC command station.
Can I have more than one "connection" to JMRI?
Yes. You can have multiple connections to multiple DCC controllers, to networks of accessory controllers, etc. See here for information on how to set up multiple connections. For a complete list of all hardware supported, see here.
What if I have a problem using JMRI?
There many people who are available via the user group (JMRI Users at to assist you. Just ask a question! There are also dozens of blogs and videos on the internet posted by people just like yourself who want to help others. The important thing is: don't give up! We all want you to succeed in using JMRI to make your model railroad as good as it can be.
What does it mean to get Error 301 or Error 306 or any other errors?
JMRI will display various errors when it finds something wrong in attempting to communicate with your DCC command station. Thislist of all error messages also provides some suggestions about how to clear them.
What if my "problem" turns out to be a bug in JMIR?
JMRI is open source and maaintained by volunteers in the community. They are proud of their work and want it to be "bug free," but of course that is an unachievable goal. Problems reported via the JMRI Users forum or directly to the JMRI issues lists on Github are reviewed by many developers and bugs are worked on by whomever is interested. What this means is that you can't get a schedule of what bugs will be fixed when, but you can count on the community to address bugs that are stopping you from enjoying JMRI as quickly as they can. In some cases, that might even be a day or less; in others, unfortunately, it could be months. Remember that all who work on JMRI are volunteering their time, and all are dedicated to doing the best that they can to make JMRI as great as it can be.
Who develops and maintains JMRI?
We do! JMRI is open source and community maintained. There are over 300 model railroaders who ahve already made contributions to the effort since 2005 (see their names on the Acknowledgements page). Anyone with knowledge of Java (to maintain the programs), HTML (to maintain the programs), or XML (to maintain decoder definitions) can join in. YOu can also become one of the almost 10,000 registered with the JMRI Users forum on to ask and answer questions.
I don't have the skills to help maintain JMRI but I still want to help. What can I do to help?
First and foremost, you can use JMRI. When you find an issue, or have a good idea, contribute to the JMRI Users forum on You can also contribute money - has a small financial need to maintain the web site and source libraries so contributions are always welcome.