JMRI Hardware Guide: NCE
JMRI supports three NCE layout connections, Power Pro (PowerHouse) via serial cable, Power Pro (PowerHouse) via network connection, and NCE USB adapter via serial cable. They are shown in the preferences menu as NCE, NCE via network, and NCE USB respectively.
Power Pro
This section discusses JMRI's support for the NCE Power Pro and PowerHouse.Setup
- To connect your computer to an NCE Power Pro or PowerHouse system, you can usually just connect the command station to the computer's serial port using a 9-pin serial cable.
- 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.
- Select "NCE" from the top selection box. You can then select the proper serial port in the second selection box.
- If given the option to select a baud rate choose 9,600 which is the default for NCE.
- Now confirm that the AIU broadcasts are disabled and the baud rate set in the NCE command station is the same as JMRI. These are the normal defaults for NCE. Use a ProCab to select "SET CMD STATION" by pressing the PROG/ESC button 5 times. Then press the ENTER button 14 times to determine if AIU broadcasts are disabled. Press 0 to disable. Now press the ENTER button once more to select the baud rate. Press 1 to set the baud rate to 9,600, and press PROG/ESC to exit.
- The series of radio buttons labeled "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 MacOS X respectively.
- 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.
- Click "Save". You'll be asked if it's OK for the program to quit, click "Yes".
- Restart the program. You should be up and running.
- If not see the trouble shooting section below.
For reliable operation, we recommend that you disable "AIU broadcast", and set the baud rate to 9,600. These are the normal defaults for NCE. Both of these parameters can be found in your NCE user's manual under "Setup Command Station".
EPROM Versions
The NCE Power Pro command station uses an "EPROM" to contain it's software. NCE has made several of these available to it's users. JMRI has been updated to work with these as they come out. To determine which ROM version you have, go to the 'setup command station' menu on the ProCab. The first screen will show you the EPROM version currently installed.
- December 2004 EPROM - JMRI 1.6.1 or any JMRI 1.7 version or later should work fine.
- 2007 EPROM - you need JMRI 1.7.6 or later.
- Various "beta test" versions from early 2006 - ask NCE to send you an update to the 2007 EPROM, then use JMRI 1.7.6 or later
If you wish to use MONITORING for turnout feedback, you must upgrade your command station to the Mar 1 2007A EPROM or newer. (For more information on turnout feedback, please see the feedback documentation page) The release in the first half of 2007 had a problem with odd turnout status. Every other odd accessory shared the same status bit. JMRI checks the revision number at startup, and will send a warning to the console window if it finds the early 2007 EPROM. If you're not sure if you have the latest, you can perform a simple test. First normal accessory 1 and 5 using the "Select Accy" button on your ProCab. Then using the "Select Accy" button, change accessory 1 to REV. Then check accessory 5, and if NOW = REV for accessory 5, you have the earlier revision with the known problem. If you have the early 2007 EPROM and wish to use MONITORING for feedback, contact NCE for an EPROM upgrade.
AIU (Input) Numbering
The NCE "AIU" device allows the NCE command station to check the status of inputs from the layout. These are referenced in JMRI as "Sensors" with names like "NS785". "NS" means "NCE Sensor", and 785 is the number of a specific sensor input.The sensor number can be found by using the following formula:
Sensor ID = (AIU Cab Address - 1) * 16 + (Pin Number On AIU) -1
For example: The AIU cab address is set to 50 and one of the BD20s is connected to pin 2. Therefore the Sensor ID would be:
Sensor ID = (50 - 1) * 16 + (2) -1
Sensor ID = 785
Turnout Numbering
JMRI can access accessory decoders as NCE Turnouts and Lights. They are addressed using the same numbers that you would use on your NCE throttle to throw the accessory decoder. For example, if you can access turnout 21 from your throttle, JMRI would address it as "NT21" or just "21".Limitations
A very small number of early NCE Power Pro (PowerHouse) command stations have an "optional analog control circuit". (If you don't recall special ordering this, you probably don't need to read the rest of this paragraph!) In these, pins 5, 6, and 9 are used with an analog voltage as a separate throttle. If you have one of these command stations, a normal 9-pin serial cable will not work! You'll need to make a custom cable that just connects the "send data", "receive data" and "ground" pins. See your NCE manual for details.
NCE USB Adapter
The NCE USB Adapter can be connected to three NCE systems, Power Cab, SB3 (SmartBooster) or Power Pro. You must select the correct system from the preference menu for reliable operation.
Setup
- To connect your computer using a NCE USB adaptor, you will need in addition to the USB adaptor, a USB cable and a RJ12 to RJ12 cable.
- Now 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.
- Select "NCE USB" from the top selection box. You can then select the proper serial port in the second selection box.
- If given the option to select a baud rate choose 9,600 which is the default for NCE.
- Select the type of system that you are connecting the USB adaptor to, Power Cab, SB3, or Power Pro (PowerHouse). The default is Power Cab, no jumpers installed.
- Now confirm that the adaptor's baud rate is also set for 9,600 by removing jumper #1. Installing jumper #1 sets the baud rate to 19,200.
- The series of radio buttons labeled "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 MacOS X respectively.
- 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.
- Click "Save". You'll be asked if it's OK for the program to quit, click "Yes".
- Restart the program. You should be up and running.
- If not see the trouble shooting section below.
NCE USB Adapter Limitations
The NCE USB Adapter doesn't support all of the current JMRI features and functions. Some of the restrictions are based on the type of system the USB Adapter is connected to. The USB can't get information from AIUs, so they can't be used to get feedback from the layout. The turnout feedback mode MONITORING isn't available when using a USB, and the Clock functions found in tools are also not available. The USB when connected to a Power Pro system doesn't support any type of loco programming, and when connected to a SB3 only operation mode (no program track) is available for loco programming. Most functions and features that are not supported by the NCE USB are disabled or grayed out in the JMRI program.
The USB Adapter when connected to a Power Cab or SB3 can only address accessories (turnouts) between 1 and 250. There isn't a limitation when connected to a Power Pro.
USB Adapter Limitation Summary
- All systems:
- No AIU support, No Turnout MONITORING, No Clock functions.
- Power Cab and SB3:
- Can only access accessory addresses between 1 and 250.
- SB3:
- No programming track support, operation mode only.
- Power Pro:
- No loco programming
Trouble Shooting
When the connection to your NCE is okay and your NCE system is powered up you should see after starting PanelPro the following control panel:
If your are using JMRI 2.1.2 or newer and the panel looks like the above, congratulations you are up and running. The panel for DecoderPro is similar to PanelPro's.
If you have the following control panel with the words "ERROR NCE USING COMx" in the right center of the panel:

You have a problem that needs your attention. The following is a list of potential issues that might help you resolve your problem.
- Confirm that your NCE Command Station is powered up.
- Check your cables, make sure they are installed correctly.
- If there was more than one "Serial Port" to choose from in the JMRI preferences menu, try the others.
- Recheck the baud rates selected, make sure both JMRI and the NCE Command Station are set to the same rates.
Console Window
When JMRI starts, it opens a console window that provides program status. Below is an image of the console window when the program is operating normally. Note that the window size has been adjusted so we can read it a bit more easily. To make your console window look like the one below, right click the window and select "Properties". Now increase the Window Size Width to 125. Press OK to exit.![]()
If you're having problems the console window can look like the one below:
![]()
To help you better understand what might be happening and to possibly resolve your problem we'll explain some of the warning and error messages displayed in the above console window.
The very first message is an information message labeled "INFO" that states messages above it should be ignored. This message occurs at time "0" which can be found at the left side of the message. The next "INFO" message states the version of JMRI and JAVA that you are using. And the next message is the communication port that you've selected in preferences, the baud rate, and the status of the communication port control lines. Don't worry about the control line status, JMRI ignores them.
The first warning message states that there was a timeout to message "AA". During startup, JMRI checks to see if your preferences match those in the NCE command station. Message "AA" requests the EPROM revision of the command station. The response is normally three characters, something like "6.2.1". A timeout means that JMRI asked for something and the command station didn't respond. When the connection is correct and the system is powered up, you should not see any timeout messages.
The next warning message states that because there was a timeout, the program didn't get the information requested from the command station. The next messages continue as the program tries every 10 seconds to read the EPROM revision by issuing the "AA" command. You can try and trouble shoot your connections knowing that every 10 seconds JMRI will retest to see if you've fixed the problem.
Whenever JMRI detects a problem with the connection or NCE command station, it will request the EPROM revision to see if the connection and command station is still operational. So if you see timeouts and "AA" commands you have either poor or failed connection, or a powered down or failed command station.
If you are still having problems, you should try the JMRI users group. There you should be able to contact other JMRI users that can help you out.