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

The JMRI libraries contain the DecoderPro application for programming DCC decoders. This page introduces the current application and how you may use it.
It assumes you have installed JMRI and connected your computer to your layout.


Modern DCC decoders are complicated beasts to program. The simple idea of "put the address in CV01" doesn't cope well when you program complicated functions using combinations of bit patterns. A friendlier interface is needed. There are programs that provide better ways of programming specific decoders. Unfortunately, they are limited to specific types of computers, and only their authors can customize them for new types of decoders.

The DecoderPro symbolic programmer was developed to solve this. It supports a wide range of decoders and manufacturers via a consistent set of screens. As decoders became more advanced, DecoderPro had to give you acces to all those settings, but by clearly labelling them and grouping them into sets, and adding interactive tooltips the developers support you a long way. Behind the scenes, DecoderPro is configured using text files, so that it can be adapted to additional decoder types easily.
It talks to the decoders using the JMRI programming interface, so that it can run on any computer and layout hardware that JMRI has been ported to. It's freely available for download. And since the code is available via open source on GitHub, if you want to improve on it, you can.

DecoderPro User Guide

Quick Tour
Working with the Roster
How DecoderPro Works
Configuration Files
DecoderPro Frequently Asked Questions
Older Manuals

Advanced subjects

Intro to XML files
Create your own decoder definition
Create a custom programmer definition
How the Roster is stored; updating it by hand
Locomotive (Roster) files
Sharing Rosters among Computers
Updating Decoder Definitions

DecoderPro is also covered in Joe Fugate's TrainMasters.TV video library, episode 2016-11.4, as he shows how he used DP on his Siskiyou Line layout.

Decoder Information

The JMRI project has compiled a lot of information about decoders from many manufacturers, which we make freely available in several forms. To learn more, see the Decoder Information page.