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
JMRI supports a wide range of devices, DCC systems, command stations, networks, and protocols.
JMRI Setup and Installation
JMRI environments...

JMRI Help:

Contents Index
Glossary FAQ

Donate to

JMRI: DecoderPro User Guide


Reading the contents of a decoder generally takes a long time, and with some command stations it's not even possible. The JMRI Roster stores the known values of decoder configuration values to make it unnecessary to read them from the decoder. It can contain "Roster entries" for an unlimited number of individual locomotives.

roster window

Each Roster entry has an "identifier" (Roster ID) by which it's known. This is your name it. When the program wants you to select a Roster entry, it will ask you to pick from a selection box or menu containing Roster entry IDs. You can use anything you want for this: Road number, type, even "That crummy old model I need to repaint" or "My beautiful Shay".

You can edit the contents of a Roster entry with the programmer panes.

Roster Entry

When you first open a JMRI programmer, you'll see a "Create New Loco" pane.
It allows you to edit the following items:

new loco pane
Roster ID
Your name for the new locomotive, see above. You can change an entry's ID later, in which case it will appear in new selection boxes, etc. with the new ID name.
DCC Address
This is either a Short or Long Address, based on how the decoder is configured.
To Read the information from a decoder with this address, Write changes to that decoder or only Save this entry to disk.

Click the "Open Comprehensive Programmer" button at lower right to display a row of tabbed panes with additional properties:

Roster Entry
  • Road Name
  • Road Number
  • Manufacturer
  • Model
  • Owner
  • Comment
    Use these fields for whatever you want.
  • Decoder Family
  • Decoder Model
    These two fields are filled in based on the decoder that was selected when the entry was created. They can't be edited after that.
  • Decoder Comment
    You can put anything you want here. Some people have used it to record whether an NMRA plug was used, whether the decoder was soldered in, etc.
With additional information about your Locomotive etc.
Motor, Basic Speed Control, and many other tabs:
DP pane tabs
File menu
Settings menu
Roster menu

The JMRI application main windows and the DecoderPro windows have 3 menus that allow working with the application, in addition to the buttons around the Roster table: File, Settings and Roster. The latter is also available in PanelPro, and allows you to open the Roster by picking the first item.

Create Entry ...
"Create" is used to create a new Roster entry, even if you don't currently have a connection to a layout. When you select this, you're given a window in which to select a decoder type. Pick the right decoder type, the format you want, and click "Open". You'll see a DecoderPro-style window for changing the contents of the new entry. Don't forget to click "Save to Roster" when you're done! The "New Loco" button is an alternative.
Edit Entry ...
"Edit" is used to update the contents of a Roster entry, even when you don't have a layout connection (normally, if you do have a layout connection, you'll use the DecoderPro programming functions). First select an entry in the Roster table. You'll get a DecoderPro-style window for viewing and changing the contents of the entry. Don't forget to click "Save to Roster" when you're done! The "Program" button works as an alternative.
Copy Entry ...
"Copy" is used to create another Roster entry that's identical to the original except for its ID. If you have a standard setup you'd like to use for new locomotives, you can create a Roster entry with all the right values filled in, and then copy it every time you want to program a new locomotive. A right click on a roster entry is an alternative.
Import Entry...
The combination of "Export" then "Import" allows you to bring a locomotives Roster entry when you move to another layout, with its own DecoderPro installation.
When you select "Import...", you'll be asked to locate an XML file to import. It should have been created by an "Export" command. You'll also be asked for the ID of the new Roster entry to be created. This can be the same as it was before it was exported, or you can give it a new ID.
Export Entry ...
Although it is possible to find the XML files defining Roster entries in the preferences directory, it's better not to mess with them directly. The "Export" command will create a new file representing a Roster entry, including all comments, CV values, etc. You can then take that to another copy of DecoderPro and import it into that Roster. Export does not change your current Roster in any way, it just makes a copy for you of a specific entry.
When you select "Export...", you'll be prompted to select a new filename. You can call it anything you want, but it's best to put a ".xml" extension on the name.
Delete Entry ...
This completely removes a Roster entry. You're asked once if you're sure and a backup is made, in case of mistakes. A right click on a roster entry to see an alternative method.
Print Summary...
Prints a summary of the entire Roster, showing the primary information for each entry as a separate text block.
For a more detailed listing of a specific decoder, see the "File" menu on the programmer screens.
Print List...
Prints a summary of the entire Roster, presenting the primary information for each entry in a very compact, paper saving table format.
Print Preview Summary...
Shows the contents of the summary on your screen, so you can preview it before printing.
Print Preview List...
Shows the contents of the list on your screen, so you can preview it before printing.
Roster Groups
A more advanced feature to categorize and group roster entries into sets, so that you can work on a subset.