SPROG DCC Diagnostics

When a SPROG does not do its job properly, the following set of checks will help find the problem and correct it.
Frequently, the issue is caused by the computer operating system (Windows, MacOS, Linux, etc.) being updated, often automatically.

We recommend that you stay up to date with the regular “Production” releases of JMRI, issued every 6 months. Go to https://sprog.us/install/index.html to get the current version.

As most users have Windows computers, this starts with Windows; for the other systems please read the relevant items later in this document.
These diagnostic tips apply to all models of the SPROG standalone devices, SPROG II, SPROG IIv3, SPROG IIv4 and SPROG 3. If you are using our Pi-SPROG One or Pi-SPROG 3 with a Raspberry Pi, see below for specific support for those models.

download the PDF version of this Diagnostics document for easy reference

These diagnostics take a step by step approach. Go through each step, and if it is successfully passed, then go on to the next step. It is tempting to just put a loco on a track and try to run it, but we need to step through from the beginning if that is not working.
This takes the following stages:

  1. Does the SPROG connect to the computer
  2. Does JMRI DecoderPro communicate with the SPROG
  3. Does the SPROG respond to basic commands such as Turn on Track Power
  4. Can a loco be Identified
  5. Can a loco be Programmed
  6. Can a loco be Run

Start at the beginning - don't be tempted to go straight to Power On!

A little bit about how DCC Programming works

The SPROG takes commands from DecoderPro and converts them into messages to the decoder.
To Read values from the decoder, the Track Power is automatically turned on briefly, and the message is sent.
The first step for the New Loco or Identify operation is to read CV 8 and get the value.
But it’s not quite so simple – the decoder cannot return a value, and so the actual sequence is “CV 8, is the first bit (of the 8-bit word holding the value) a 1?”
The decoder can only reply “Yes” by pulsing the current drawn, or not reply, which is seen as a “No”. Then the next message asks about the second bit, and so on up to the eighth bit.
Then DecoderPro calculates the value, and can identify the vendor ID. This same process is followed for each of several CVs that are read to identify the decoder vendor, model, address of the loco and some other basic settings.
So, for this sequence to succeed, the computer has to talk to the SPROG, the SPROG has to connect to the track, which connects to the wheels, which connect to the decoder, which connects to its motor!

So to get started, you first need the software installed Go to http://sprog.us/install/index.html to get the current version. There you will find step by step instructions for the whole installation process to install Java if necessary, and then the JMRI suite which includes DecoderPro and PanelPro. 

Getting the SPROG and computer connected

Start with the SPROG powered off. Just remove the green plug to do so if it was already on.

Plug the SPROG power into the SPROG, and connect the USB cable, but do not connect that to the computer yet. Depending upon the SPROG model, the Power LED may not illuminate immediately, as it is program-controlled.

The other LED at the USB end will be on almost all the time, briefly flickering off when there is traffic on the USB between the computer and the SPROG. (On some old models, the sense is reversed, with the light mainly off, only briefly flickering on with USB activity).

On a Windows computer

  1. Open the Device Manager.
    In Windows 10, right-click on the Windows icon in the bottom left of the screen and select Device Manager.
    In Windows 7, right click "My Computer" on the Windows desktop and select Properties, then Device Manager.
  2. Plug in the SPROG USB cable while watching the Device Manager screen.
    You should see the entries change, and a new item show up. It may be named SPROG Programmer, or it may just show as a USB Serial Device
    • If it appears under “Other Devices”, drivers are needed
    • If it appears under Ports, look for a yellow triangle warning
    • If there is no triangle, note the COMxx port number
    • If there is a triangle, drivers are needed
    If drivers are needed, follow the appropriate instructions online at http://sprog.us/install/index.html and select the right version of SPROG and of Windows. Install the drivers, carefully following the instructions. Windows Preferences You may need to install two sets of drivers, and so you will seem to do the same install sequence twice. This is correct, to install the USB and the Serial connections. Once the drivers are installed, repeat the step above and note the COM port number.
  3. Start DecoderPro.
  4. Open Preferences, from the Edit menu
  5. In the “Connections” pane, ensure that the three entries are as shown here:
    • System Manufacturer SPROG DCC
    • System Connection SPROG
    • Serial port COM6 (or whatever COM Port was identified above)
      Click and reselect the COM Port, even if it looks correct.
  6. Click the Save button at the bottom left of the pane. You will usually be prompted to Restart DecoderPro to use these preferences.

On a Mac computer

  1. Plug in the USB cable
  2. Start DecoderPro. Mac Preferences
  3. Open Preferences, from the DecoderPro menu
  4. In the “Connections” pane, ensure that the three entries are as shown here:
    • System Manufacturer SPROG DCC
    • System Connection SPROG
    • Serial port cu.usbmodem.14101
      (or very similar set of digits – NOT any “Bluetooth” entries!)
      Click and reselect the Com Port, even if it looks correct.
  5. Click the Save button at the bottom left of the pane. You will usually be prompted to Restart DecoderPro to use these preferences.
  6. If you do not see a port identified as a “usbmodem”, but see a “usbserial” designator, that is an older SPROG II, and you may need drivers installed.
    Contact us at sprog@bbmgroup.com for more help.
  7. Mac System Report
  8. If you do not see any similar identities, then look in the System Report. From the Apple logo menu, select About This Mac and then click System Report …
    There you should see the SPROG listed. If not, contact us at sprog@bbmgroup.com for more help.

On Linux

  1. Plug in the USB cable
  2. Start DecoderPro.
  3. Open Preferences, from the DecoderPro menu
  4. In the “Connections” pane, ensure that the three entries are as shown here:
    • System Manufacturer SPROG DCC
    • System Connection SPROG
    • Serial port /dev/ttyACM0
      (or very similar set of digits – NOT any “Bluetooth” entries!)
      Click and reselect the Serial Port, even if it looks correct.
  5. Click the Save button at the bottom left of the pane. You will usually be prompted to Restart DecoderPro to use these preferences. 

Checking that JMRI DecoderPro is talking to the SPROG

  1. Start DecoderPro.
    In Windows, the installer will have placed an icon on your desktop; start DecoderPro by double-clicking the desktop icon.
    On a Mac, the program will have installed in the Applications folder. Open that folder, and find JMRI. Open the JMRI folder and you can double-click the DecoderPro.app entry. To keep DecoderPro available on the desktop, you can drag the DecoderPro.app entry down to the Dock at the bottom of the screen, where it will place a permanent icon that you can click to start.
    On Linux it is usual to install JMRI in user “pi”, i.e. /home/pi/JMRI
  2. Once DecoderPro has started, there are indicators to tell you if JMRI has correctly recognized the SPROG connection.
    See the bottom of the main window for a set of items like these:
    Status Bar
    The Green text identifies the connection is recognized correctly
    Note the Programmer Status item – you will want to watch this later.

  3. Open the SPROG Console from the SPROG menu. You should see:SPROG Console
    The SPROG Console is a very useful user diagnostic view, and also supports selection of various settings.
    The text in the top box here shows that the SPROG 3 is connected. DecoderPro didn’t know the SPROG details, and so sent the “?” command; the SPROG responded with its model and version.
  4. At this point, the computer and the SPROG are communicating correctly, and you can start to work with your locos. If any of these items are not showing the results above, then recheck from the beginning, and if that does not solve it, contact us at sprog@bbmgroup.com for more support.

Defaults

The Preferences selections include a Defaults entry. JMRI Defaults Screen Check here that all possible selections are set to the SPROG entry and not Internal.

Some Common questions

My Connection name is not the same as in these pictures.
Defaults are set when you make the connection, but you can change this, and it also can change with different versions of the software. This name will also show in the menus, etc. It’s just a name!

I used to connect on Com3 and now that doesn’t appear
There is nothing special about any Com or other serial port identifier. In Windows, that can change as other devices are added, so select the one that does appear as described above.

Some common error messages

The Programmer Status pane at the bottom of the main window is a very useful indication of what is happening. Check this as you use DecoderPro, and it will indicate many common issues and enable you to correct them easily.

  1. Computer and SPROG are not talking
    Status Bar
    Error 306: The Status says DecoderPro sent a command to the SPROG, and it did not respond.
    Try closing DecoderPro completely, restarting the SPROG (remove and replace the green plug), and then starting DecoderPro again. If the problem persists, go back and check the settings in sections A, B or C above.
  2. SPROG and loco are not talking
    Status Bar
    Error 301: Dirty track is the most common issue, but here the connection from the SPROG to the track, the track itself, the loco wheels and pickups, the decoder or the connection from decoder to motor could all be causing this. It could also be a non-DCC loco!
  3. Slow operation, or two copies of the program running
    Status Bar
    This "programmer in use" message can occur in two situations; if something is being slow and you tried another action, or if there is already a copy of DecoderPro or PanelPro running in another window.
    a) If a process is taking a long time, for example if you selected Read All Sheets in the programming pages (don’t do that! Select each tab, and then Read Full Sheet on that tab), or even if the Identify or New Loco is taking time, and you try to do something else, such as Identify once more, the combination of DecoderPro and SPROG are unable to respond, being still busy. A good indication of this is Programmer Status showing “Reading CV …”, and especially if the Programming Mode box shows Paged, which is a very slow mode. Be sure to set that to Direct Bit for the fastest response on all but the very oldest DCC decoders.
    b) If you have been using DecoderPro, or PanelPro, and then try to start one of them again, the program can only use the one connection between the software/computer and the USB/SPROG cable, and so can give this error message also.

Success? Or not?

If you have succeeded in getting [back to] operation, great! If you saw any discrepancies in these suggestions, please let me know and I'll keep improving these notes.
However, if you didn't succeed yet, then please feel free to contact me and I'll be happy to talk, Zoom or email and get you going.

About Us

We are the BBM Group LLC, a family business specializing in solutions for model railroaders.

Model railroads come in many sizes, and we specialize in N Scale, with a track gauge of Nine millimetres.

Contact us for more information, and to share your ideas and needs.