JMRI Hardware Guide: SPROG

Supported Hardware

JMRI supports the SPROG both as a decoder programmer, and also as a mini-command station. For more information on these capabilities, see the SPROG manual on the SPROG web site.

Note that there are several different versions of the SPROG hardware, and even more versions of the SPROG software.


  1. Original SPROGs were connected via a 9-pin serial cable. Current SPROGs are available as USB only. Connect your SPROG using the appropriate cable and power it up.
  2. USB-connected SPROGs on Windows may need to have a driver installed. For more information on that, see the SPROG manual on the SPROG web site.
    Windows 7 users may also be interested in this video.
  3. Make sure you have the latest version of JMRI, then go to the preferences panel of a JMRI-based program. This opens automatically the first time a program is run, or you can select it from the "Edit" menu
  4. SPROG can either be a stand-alone decoder programmer, or it can be set to act as a mini-command station for running trains. You have to select which mode to use in the preferences, and then JMRI configures the necessary options in the SPROG.
    • For DCC programmer operation, select "SPROG" from the top selection box.
    • For command station operation, select "SPROG Command Station" from the top selection box.
  5. You can then select the proper serial port in the second selection box. Note that the USB SPROG drivers will appear as a serial port.
  6. The series of radio buttons labelled "GUI style" allows you to select how the program will look. "Metal" is the native Java look available on all types. Other choices will vary with your computer type. "Motif", "Windows", "MacOS" and "MacOS Adaptive" look native on Linux, Windows, MacOS "Classic" and Mac OS X respectively.
  7. In the bottom selection box, you can pick the default programmer format. You can override this each time you open the programmer, so this is here just for convenience.
  8. Click "Save". You'll be asked if it's OK for the program to quit, click "Yes".
  9. Restart the program. You should be up and running.

Configuring SPROG

SPROG uses a "Mode Word" to set a number of optional operating modes

In all recent SPROGs, the default value is the Mode Word is correct for both programmer and command station modes. For older SPROGs you may wish check or modify the Mode Word as follows

Open the Command Monitor and Send Command windows from the SPROG menu and send an "M" command. You should see a reply in the command monitor window something like:

The h prefix indicates a hexadecimal value. If the value you see is different, then it should be changed by sending the command "M h800". Follow this with the command "W" to save the change in SPROGs EEPROM memory so that it is effective each time you power up the SPROG. Otherwise, the new value will be lost when you power off the SPROG. Please do not be tempted to experiment with other Mode Word values as this could result in erratic behaviour of your SPROG.

Identifying SPROG Firmware Version

Open the Command Monitor and Send Command windows from the SPROG menu and send an "?" command. You should see a reply in the command monitor window something like:

Firmware Updates

SPROG includes a "bootloader" feature that allows the firmware (the internal software that operates the SPROG) to be updated by the user.

The bootloader is functional in USB SPROG II version 2.2 and later

In some earlier versions the bootloader is not completely functional and the firmware update tools in JMRI should NOT be used without first checking the current firmware version (see above) and contacting SPROG DCC to ascertain if that version can be updated by the user.

Under no circumstances should you experiment with the firmware update tool if you do not have a valid update file available. Doing so could result in your SPROG becoming non-responsive. It will then need to be returned to the manufacturer (or local representative) for unlocking.


For more information on the SPROG, please see the SPROG web pages.

They have a useful FAQ page.

There is also a Yahoo discussion group for SPROG.