NCE USB & serial interfaces & JMRI software

NCE USB interface

Recently, NCE made a USB interface to connect to the cab bus. This interface allows the JMRI software to send commands, and apparently will also interface in some way to the PowerCab programming track, i.e. OPS mode programming of train/accessory/signals.

The unit came with a rom to upgrade the power cab to version 1.28c

Versions

Apparently, in 2021, there have been 2 hardware(??) versions:

version 6.3.7, and version 7.3.0

Read version from JMRI: (assumes you have JMRI working and connnected)

  • Open decoder pro
  • select the NCE main menu, and the "Command Monitor" menu item which opens an "NCE: Command Monitor" window
  • agsin select the NCE main menu, and this tie select the "Send Command" menu, which opens an "NCE: Send NCE Command" window.
  • With both windows open, Type "AA" ( without the quotes) in the Send Command window, checking Binary, and press Send.
  • The resulting version number will appear in the Command Monitor window as XX XX XX

Jumpers

There are jumpers on the board that must be set according to the type of system it is connected to. JP1 is to set a baud rate, leave open, it is actually ignored.

USBv737 2013 03 08  jumpers only

 

Housing

Because the board is bare, and might be located anywhere, I decided to put it in a box to protect it. A radio shack #270-1802 is a perfect fit, the board slips down inside like it was made for it.

I put the board inside and started carving 2 holes, one to fit a USB adapter I have, and the other to allow access for an RJ-11 patch cord.

Below is a shot of the board. Two holes have been elongated to match the holes in the case. There's no components or traces nearby.

 

I tapped two of the mounting holes inside for 6-32 and used a couple of short screws (used to mount computer hard drives):

There are 2 small leds, one in the lower left corner, labeled USB, and one in the lower right corner labeled CAB BUS. I may get a piece of light pipe to extend these to the top. or perhaps a clear cover.

Installing the software

Installing the USB driver:

First step to install is download and install the driver. Internally, the USB interface uses a SiLabs CP210x USB to serial chip (the interface is really a serial port in the QSI decoder).

  1. Go here and get the latest driver: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  2. Be sure to get the version for your operating system.
  3. Install it WITHOUT the USB interface connected.
  4. After the install, then connect the USB interface and the driver should load and find the hardware.
  5. Then go to the control panel and look up the device under "ports" in device manager. You should be able to see what COM port number it installed as. Remember this number, you will need it for JMRI. If there is an error or exclamation mark or it's missing, stop and fix it, you cannot proceed.
  6. Now the driver should be ready for the NCE interface via the JMRI system.

Problems installing the USB driver

Apparently, there are some issues with newer versions of Windows 10, from Windows build1803 on, and from driver version 10.1.1 on. I recently installed on Win 10 build 1909, and driver version 10.1.8 (which means SiLabs has been sitting on their ass a while and not fixed it)

So, when you unzip the driver files, in the root directory there is a file silabser.inf (this is basically the install instructions, like a script)

Edit the .inf file with this driver, performing the following modifications:

On or around line 118, change/edit
from this:

ServiceBinary  = %13%\silabser.sys

to this:

ServiceBinary  = %12%\silabser.sys

And on or around line 160, change/edit
from this:

Silabser_CopyFiles_FileListSection = 13 ; Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository ) (was 12 Drivers directory (%SystemRoot%\system32\drivers))

to this:

Silabser_CopyFiles_FileListSection = 12 ; Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository ) (was 12 Drivers directory (%SystemRoot%\system32\drivers))

I.e. replace every 13 in the file with 12.

Once these changes are made, attempt to re-install the driver. A warning will be shown that the driver is unsigned, but you can ignore this for now. If you do not receive a warning issue, or if Windows refuses to install the unsigned driver (you may get an error about the hash being invalid), you can disable driver signing enforcement by following these instructions: https://www.maketecheasier.com/install-unsigned-drivers-windows10/

https://www.silabs.com/community/interface/forum.topic.html/cp210x_driver_v101-91Gl

Connecting the NCE system to the JMRI computer: (Physical connection)

USB Interface:

    1. Connect the USB to any USB port on your computer that will run JMRI
    2. Connect the other end of the NCE USB box to the NCE cab bus. Notice you should use a 4 wire cable. Also note that since the USB interface looks like another throttle, and is directly connected to the cab bus, it must have a unique address like other cabs. When used with the PowerCab, it's address must be 3, so be sure not to use address 3 for your other cabs. My setup uses a PowerCab, which is set to cab address 2. On the special PowerCab interface panel, you can use the rear connector or the front connector that is NOT the special one for the PowerCab. (remember that the PowerCab needs to be plugged in, since it is the command station that JMRI communicates with)

(Cab bus addresses when used with an SB3 are limited to 2-5, power pro systems can use 2-63)

I'm using the USB v7 version (I need to put in a part to determine the version)

Serial Interface:

For the NCE 5 and 10 amp systems, they have an ordinary 9 pin serial port, and a standard serial cable is used, DB-9 is the connector type. If your computer does not have a serial port, then you will need a USB to serial dongle. Get one with a genuine FTDI chip. The drivers are on their site. Go with a cheap clone and all you will have is headaches.

Installing JMRI software:

Just go to the official site and download JMRI for your system, wwwljmri.org. I'm only going to address the Windows version. Install it with the defaults.

Connecting to JMRI:

After installing, run DecoderPro (the main JMRI program). The first time, you will go through a "startup wizard".

specify system manufacturer (NCE)

system connection: (either serial or NCE USB)

serial port: either your physical serial port on your computer, or the COM port specified in the driver (the system should only show the available ports)

select the usb version, the system, etc.

 

Go to the Edit menu, select preferences and select connections (first preferences item).

System manufacturer: NCE
System connection: NCE USB or serial following your hardware as above
Serial port: select the serial port (that I said to remember on the USB)
USB Version: (I have V7.x.x)
System: PowerCab or PowerPro, whichever you have.
Don't worry about the rest.
Click save! (usually DP will restart_

Back to the preferences window, select defaults.

For some reason, you have to tell the system to use the NCE system for all of these, they should all be set to NCE, change them if not.
Click save!

If you are using the NCE USB interface, go to the NCE main menu, select Configure USB Interface

Set Cab Id to 3. You should get a message in the box that says "Cab id has been set to 3", bottom right corner

If you don't get this message, your system is not communicating with the NCE USB interface, something is wrong, go back and check your steps.

If you get the confirmation message, then you are ready to go.

Close this window when through

Running from a local throttle:

The next thing I would recommend is to open a throttle (actions... New Throttle) .... select an address in the Address Panel and hit SET ... you should be able to control the loco. It's possible you need to go to the menu at top and select Power, and then power on. At this point the loco should run. Don't hit Dispatch or Release, because they do exactly what they say.

Start up WiThrottle for cell phone control:

When you have all this working, and your computer is already hooked to a wireless network (wired or wireless does not matter), go to Actions... Start WiThrottle Server. Now you get a new windows, and it has 3 lines at top. Advertising... then the name of your computer that JMRI is running on, and most importantly, the IP address and  port number like this:

192.168.10.100:12090

The first 4 numbers are the address of the server on the network, the second number is the port, and 12090 is the default.

Now, making sure your cell phone is connected to your network, you start the app on your phone and put that address in, if the app does not find it automatically.

 

You should be running trains now.

 

NCE Packet bus analyzer

 

https://www.jmri.org/help/en/package/jmri/jmrix/nce/analyzer/NcePacketMonitorFrame.shtml

 

Weather Underground PWS KCACARLS229