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: Frequently Asked Questions (General)

Making it easy for all model railroaders to get started with JMRI is important. Below are some common questions and answers frequently asked in user forums, of experienced users, and of developers. As your experience with JMRI grows, you will have your own questions. The best place to get help is by asking for it in the JMRI User Forum. Below are links to other topics that will also further your understanding:

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.
  • program the decoders in my locomotives?
    Yes. JMRI DecoderPro greatly simplifies programming decoders through your DCC command station.
  • 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.
  • receive and process feedback from my layout?
    Yes. Any type of sensor can be used to provide feedback from different aspects of your layout.
  • operate my DC trains?
    Only to the extent that they can be controlled by whatever DCC system you are using.
  • control signals on my layout?
    Yes, according to many different signaling protocols.
  • automate train operation?
    Yes, in many different ways.
  • 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. Keep adding more as you learn and your layout grows.
JMRI has so many features, where do I start?
Many people start by connecting their DCC system controller and registering their locomotives using DecoderPro . You can then start running trains using a throttle in JMRI, a wireless throttle, or your smartphone / tablet. Alternatively, you can dig right in entering layout information on a Layout Editor Panel in PanelPro (tutorial). Before moving on to DispatcherPro and OperationsPro, make sure you have a working Panel. More advanced operations using these modules requires a more complex setup before they will work properly. The KEY... Don't do too much at once. Get the more basic aspects of JMRI working before you take the next step.
Where can I learn about using JMRI?
The internet - There are many presentations and videos available to help in learning different aspects of JMRI. The website has getting started guides (PanelPro, DecoderPro). Reading questions and responses asked by others on the user forum. Asking your own questions on the forum.
What is the difference between using PanelPro, DecoderPro, and the other JMRI modules?
The JMRI application is a series of functions and user interfaces operating on a common linked set of data. While DecoderPro , PanelPro , DispatcherPro, OperationsPro, and SoundPro serve different purposes, all use the same set of data. For example, when opening PanelPro, you get a main window with pulldowns that include all the functions of DecoderPro. If you start by opening DecoderPro, you get a roster window with pulldowns that include 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. Advanced JMRI capabilities use programming-like logic (such as the Logix tool), but basic capabilities necessary to run your railroad are always available with a simpler interface (such as the Routes and LRoutes tools). Those with computer programming knowledge can write "scripts" and even develop complete applications that use 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 you, who want to help. The important thing is... don't give up! We all want you to succeed in using JMRI, making your model railroad as good as it can be.
What does it mean to get Error 301, 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. This list of all error messages also provides some suggestions about how to clear them.
What if my "problem" turns out to be a bug in JMRI?
JMRI is open source and maintained by JMRI community volunteers. They are proud of their work and want it to be "bug free". As JMRI continously develops, there will be bugs. If you find one, please report it on JMRI Users forum or directly to the JMRI issues lists on Github. The many developers will review them and work to resolve the issue. 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. All are dedicated to doing the best 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 have 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 help documentation), or XML (to maintain decoder definitions) can join in. Become one of the almost 10,000 registered JMRI Users on the forum, asking your questions and answering the questions of others.
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 website and source libraries so contributions are always welcome.