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 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. For a PowerCab system, leave all jumpers off For a system with the SB3 booster, JP4 on For a PH Pro system, JP3 on For "all systems", JP3 and 4 on, but this mode is unclear when to use 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 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). Go here and get the latest driver: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers Be sure to get the version for your operating system. Install it WITHOUT the USB interface connected. After the install, then connect the USB interface and the driver should load and find the hardware. 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. Now the driver should be ready for the NCE interface via the JMRI system. 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 to the NCE system: Physical connection USB Interface: Connect the USB to any USB port on your computer that will run JMRI 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: Just go to the official site and download JMRI for your system. I'm only going to address the Windows version. Install it with the defaults. Connecting to JMRI: Go to the edit main menu, select preferences and select connections (first preferences item). System manufacturer: NCESystem connection: NCE USB or serial following your hardware as aboveSerial 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 were all set to Internal except one. Really dumb, if you are adding an interface, why doesn't the system then issue commands to it automatically?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. 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 selece 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.