CDI Configuration Tool Installation Guide

Table of contents
  1. CDI Configuration Tool Installation Guide
    1. Overview
    2. What you’ll learn
    3. Workflow Overview
    4. What’s Needed
    5. Connection Diagram
    6. Hardware Interfaces
      1. Wired Adapters
        1. RR-CirKits LCC Buffer-USB Adapter
        2. CANable 2.0 Adapter
      2. Wireless Connections
        1. Bluetooth Connection
          1. Windows 10+ BT Configuration
          2. Linux BT Configuration (GUI)
          3. RPi Bluetooth Connection Configuration
            1. RPi Bluetooth Connection (command-line)
            2. RPi Bluetooth Connection (GUI)
        2. Wi-Fi Connection
          1. Windows Wi-Fi Setup
          2. Linux Wi-Fi Setup (GUI)
          3. Raspberry Pi Wi-Fi Setup
    7. Tool Configuration
      1. LCC Fusion CDI Configuration Desktop Tool
      2. JMRI CDI Tool (Adapters & Bluetooth)
      3. JMRI CDI Tool (Wi-Fi)
        1. JMRI Wi-Fi Connection Configuration
        2. LCC Node Wi-Fi Configuration (Hub Mode)
          1. (Optional) If running on battery, set Wi-Fi Power Savings ModeYes.
      4. LCC Node Wi-Fi Configuration (Uplink Mode)
      5. Using JMRI “Configure Nodes” Tool
    8. Remote Console Access
      1. VNC over Wi-Fi
        1. RPi Configuration
        2. Windows/Linux Configuration
    9. Verification & Troubleshooting Tips
    10. References

Overview

OpenLCB/CDI profiles can be configured using two primary tools—JMRI’s built-in CDI Configuration Tool and LCC Fusion’s CDI Configuration Tool—each available on Windows and Linux. The workflows supported are illustrated below:

Configuration Description Information (CDI) is static information describing the configuration options for an LCC Node. CDI Configuration Tools provide access to the CDI for each of the LCC Nodes in a network. Access includes seeing and changing the configuration for the Node. LCC Node firmware typically stores the CDI configuration in permanent memory for quick retrieval.

There are several options for CDI Configuration Tools:

  1. JMRI provides the Configure Nodes tool integrated into both DecoderPro and PanelPro applications.
  2. LCC Fusion Project provides the CDI Configuration Tool (Download)

What you’ll learn

  • Installing and launching JMRI’s CDI tool and LCC Fusion’s desktop tool on Windows and Linux

  • Wiring and configuring USB-CAN, CANable, and Bluetooth adapters

  • Setting up JMRI and the LCC Fusion Desktop tool for OpenLCB/CAN communication

  • Deploying the Raspberry Pi + CAN-RPI Card solution under Linux

  • Verifying connections and troubleshooting common issues


Workflow Overview

Whether you’re using JMRI’s built-in CDI Configuration Tool or the LCC Fusion Desktop Tool, follow these four high-level steps in order:

  1. Determine your connection adapter
    Decide which interface you’ll use to bridge your PC/RPi and the CAN bus:
    • Hardware adapters: RR-CirKits LCC-Buffer-USB, CANable 2.0
    • Software “connections”: Bluetooth Connection, Wi-Fi Connection
  2. Install (or enable) the adapter
    • For hardware: plug in the USB cable and wire the RJ45 into your LCC bus
    • For Bluetooth/Wi-Fi: turn on your platform’s radio, scan, and pair/connect
  3. Configure the adapter in your OS
    • Windows: install drivers, confirm the COM-port in Device Manager
    • Linux/RPi: bind /dev/tty* or /dev/rfcomm*, verify with ls /dev
  4. Launch & configure the CDI tool
    • JMRI: open Preferences → Connections, pick the matching “Serial CAN” entry, and point at your COM-port or /dev device
    • LCC Fusion Desktop: use Connect → and select your adapter, then View → LCC Nodes to start editing CDI profiles

What’s Needed

Component Options Purpose
CDI Configuration Tool Software LCC Fusion CDI Configuration Tool Desktop  (Download) Connects to LCC Nodes to manage CDI Configurations, view LCC Events
  JMRI Configure Nodes tool (included with Decoder Pro)  
Computer Computer with Windows 10+ Runs configuration tools for CAN communications with Node Card
  RPI (3B+)  
  RPI-CAN Card (includes RPi, MCP2515 CAN Transceiver)  
Serial-CAN Adapters CANable 2.0 Adapters (CANable) USB to CAN Network Adapter, plugs into USB Port
  RR-CirKits LCC Buffer-USB  
Wireless Connections Wireless (Bluetooth, Wi-Fi)  
LCC Node LCC Fusion Node Power-CAN Card + (Node Card, or Quad-Node Card)
LCC Node (other)
Supports CANable 2.0 socket, CAN over Bluetooth
  LCC Fusion Node Card Supports CANable 2.0 2/3-wire connectors, CAN over Bluetooth
Wiring 2/3-Wire cable Connects CANable to Node Card and Power-CAN Card to CAN Bus network cable connector
  Network Cables Connects LCC BUffer-USB to Node Card and Power-CAN Card CAN Bus RJ45 socket

Connection Diagram

The following diagram shows all supported host tools, adapters, and target hardware for configuring CDI profiles:

flowchart LR
	jmri["Configure Nodes<br>(JMRI)"]
	cdiDesktop["CDI Configuration Tool Desktop <br>(LCC Fusion)"]
  subgraph layout ["Train Layout"]
  	subgraph tools["CDI Configuration Tools <br>(software)"]
  		jmri
  		cdiDesktop
  	end
  	subgraph adapters["Serial-CAN Adapters"]
  		direction LR
      cirKits["RR-CirKits LCC<br>Buffer-USB Adapter<br>(Network Cable)"]
      canable["CANable 2.0 Adapter<br>(2/3-wire)"]
  	end
  	subgraph wireless["Wireless Connections"]
    	bt["Bluetooth Connection"]
      Wi-Fi["Wi-Fi Connection"]
  	end
  	subgraph platforms["Platforms <br>(hardware)"]
    	rpiCanCard["RPI-CAN Card<br>(Linux) <br>(LCC Fusion)"]
  		windows["Computer<br>(Windows 10+)"]
  		linux["Computer<br>(Linux)"]
  		rpi["RPi<br>(Linux)"]
  	end
  	direction LR
  	tools -.- platforms 
  	platforms <--> adapters
  	platforms <--> wireless
  	adapters <--> nodeCard
  	wireless <--> |"Wireless"|nodeCard
    nodeCard[["Node Card"]]
  end
  
  classDef lightBlueStyle fill:lightblue,stroke:#2c7a2c,stroke-width:2px,font-size:16px;
  classDef lightGreenStyle fill:lightgreen,stroke:#333,stroke-width:2px,font-size:20px;
  class tools,platforms lightBlueStyle
  class adapters,wireless lightGreenStyle

Hardware Interfaces

Wired Adapters

RR-CirKits LCC Buffer-USB Adapter

  1. Power your CAN bus
    Ensure your LCC® network has 12–27 VDC bus power (e.g. via an LCC Power-Point) before connecting the adapter.

  2. Unpack the Buffer-USB
    Remove the unit and its USB Type-B cable from the box.

  3. Connect to your PC
    • Plug the USB cable into the Buffer-USB and a free USB port on your computer.
    • Windows: install the Silicon Labs CP210x VCP driver if prompted.
    • Linux/RPi: no additional drivers are required; the device appears as /dev/ttyUSB0 or /dev/ttyACM0.
  4. Wire into your CAN network
    Use a standard CAT5/CAT6 patch cable to one of the Buffer-USB’s dual RJ45 jacks to join your LCC® bus; use the second RJ45 for daisy-chaining nodes :contentReference[oaicite:0]{index=0}.

  5. Termination
    LCC® networks require 120 Ω termination at each physical end.
    • The Buffer-USB includes a built-in 15 mA terminator—place it at a bus end if you don’t use separate Terminator Pairs.
    • If you prefer external terminators, no jumpers or switches are needed on the Buffer-USB :contentReference[oaicite:1]{index=1}.
  6. Verify LED indicators
    • Ready – adapter initialized
    • Power – bus power detected
    • Transmit/Receive – blink during CAN traffic
  7. Confirm the COM port
    • Windows: open Device Manager → Ports (COM & LPT) and look for “Silicon Labs CP210x USB to UART Bridge.”
    • Linux/RPi: run
      ```bash ls /dev/ttyUSB* # or /dev/ttyACM*

​ Once complete, the Buffer-USB is physically installed and ready for your software (JMRI or LCC Fusion CDI tool) to open the serial-CAN link.

CANable 2.0 Adapter

See CANable 2.0 Adapter


Wireless Connections

Bluetooth Connection

The “Bluetooth CAN Network” option uses your computer or Raspberry Pi’s built-in Bluetooth radio to talk to an LCC Fusion Node that’s broadcasting its own BT-serial service (named **LCC BT-CAN: **). There is no separate USB adapter—just turn on your platform’s Bluetooth and pair to the LCC Node.

Windows 10+ BT Configuration
  1. Enable Bluetooth
    • Open Settings → Devices → Bluetooth & other devices
    • Toggle Bluetooth On
  2. Pair to the Node
    • Click Add Bluetooth or other device → Bluetooth
    • Wait for LCC BT-CAN: <nodeID> to appear and select it
    • Accept any PIN prompt (usually “0000” or displayed on the node)
  3. Note the COM Port
    • Open Device Manager → Ports (COM & LPT)
    • Look for “Standard Serial over Bluetooth link (COM X)”
Linux BT Configuration (GUI)
  1. Open Your Bluetooth Settings

    • GNOME (Ubuntu, Raspbian Desktop): System tray → Bluetooth icon → Bluetooth Settings
    • KDE (Kubuntu, openSUSE): System Settings → Bluetooth
    • Blueman Manager: Launch Blueman from your app menu
  2. Turn Bluetooth On

  3. Scan & Pair
    • Click Add Device, Search, or Scan
    • Select LCC BT-CAN: <nodeID> in the discovered list and Pair
  4. Enable the Serial Port
    • In Blueman: right-click the LCC BT-CAN device → Serial Ports → Setup Serial Port → choose /dev/rfcomm0
    • In GNOME: pairing often auto-creates /dev/rfcomm0
  5. Confirm Serial Port

    • Run ls /dev/rfcomm* in a terminal (you should see /dev/rfcomm0)
    • If needed, run:
      sudo rfcomm bind /dev/rfcomm0 XX:XX:XX:XX:XX:XX
      
  6. Pair / Scan Serial Port

     sudo bluetoothctl
     power on
     agent on
     default-agent
     scan on
    

    Wait for your Node’s MAC and name “LCC BT-CAN:

     pair XX:XX:XX:XX:XX:XX
     trust XX:XX:XX:XX:XX:XX
     connect XX:XX:XX:XX:XX:XX
     quit
     sudo rfcomm bind /dev/rfcomm0 XX:XX:XX:XX:XX:XX
    
  7. Verify Serial Port Device

     ls /dev/rfcomm0
    
RPi Bluetooth Connection Configuration

Whether you’re running your RPi without a desktop or with a full GUI, these steps will get your built-in Bluetooth talking to your LCC Fusion Node’s “LCC BT-CAN: ” service.

RPi Bluetooth Connection (command-line)
  1. Enable the Bluetooth service

    sudo systemctl enable --now bluetooth
    
  2. Enter the Bluetooth CLI

    sudo bluetoothctl
    
  3. Power on & set up the agent

    power on
    agent on
    default-agent
    
  4. Scan for your node

    scan on
    

    Wait until you see your node’s MAC and “LCC BT-CAN:

  5. Pair, trust & connect

    pair XX:XX:XX:XX:XX:XX
    trust XX:XX:XX:XX:XX:XX
    connect XX:XX:XX:XX:XX:XX
    exit
    
  6. Bind a serial port
    sudo rfcomm bind /dev/rfcomm0 XX:XX:XX:XX:XX:XX 9600
    
  7. Verify
    ls /dev/rfcomm0
    

    You should see /dev/rfcomm0 appear

RPi Bluetooth Connection (GUI)
  1. Install a Bluetooth manager (if not already present)

    sudo apt update
    sudo apt install blueman
    
  2. Launch Blueman
    blueman-manager
    
  3. Scan & pair

    • Click Search or Scan
    • Select LCC BT-CAN:PairTrustConnect
  4. Set up the serial port

    • In Blueman: right-click the device → Serial Ports → Setup Serial Port → choose /dev/rfcomm0
    • Close Blueman when done
  5. Verify
    ls /dev/rfcomm0
    

    Once you see /dev/rfcomm0, open your CDI Configuration Tool (Desktop) or JMRI and select that serial port to connect wirelessly to your LCC network.


Wi-Fi Connection

Connecting your computer or Raspberry Pi to the same Wi-Fi network as your Node Hub ensures that both JMRI and the LCC Fusion Node can talk over the “CAN via GridConnect Network Interface.”

Windows Wi-Fi Setup
  1. Open Settings → Network & Internet → Wi-Fi
  2. Toggle Wi-Fi to On
  3. Select your SSID from the list
  4. Click Connect and enter the network Password
  5. Verify you’re online by browsing to any website
Linux Wi-Fi Setup (GUI)
  1. Click the network icon in your desktop’s system tray
  2. Choose Wi-Fi Settings or Wi-Fi Networks
  3. Toggle Wi-Fi on, select your SSID, and click Connect
  4. Enter the Password when prompted
  5. Confirm connectivity by running ping google.com in a terminal
Raspberry Pi Wi-Fi Setup
  • With Desktop
    1. Open Start Menu → Preferences → Raspberry Pi Configuration
    2. Go to System → Wireless LAN
    3. Enter your SSID and Password, click OK, then Reboot
  • Headless (no GUI)
    sudo raspi-config
    
    1. From the configuration dialog, select ** → Network Options → Wi-Fi**
    2. Enter SSID and password
        sudo reboot
      

​ 3. After reboot, verify with:

	hostname -I

Once your host is on the same Wi-Fi as the Node Hub, you can configure JMRI’s CAN via GridConnect Network Interface (see “JMRI Wi-Fi Configuration” below) to talk directly to your LCC Node over TCP/IP.


Tool Configuration

LCC Fusion CDI Configuration Desktop Tool

  1. Download & unzip
    Download the LCC Fusion CDI Configuration Tool Desktop ZIP and unpack it to a folder on your Windows 10+ (or Linux) PC: Download

  2. Run the executable
    Launch cdi-configuration-tool-desktop.exe (or ./cdi-configuration-tool-desktop on Linux).

    Tip: Before opening the tool, make sure your adapter shows up as a serial port in your OS:

    • Windows: check Device Manager → Ports (COM & LPT)
    • Linux: run ls /dev/tty* and look for /dev/ttyACM*, /dev/ttyUSB*, or /dev/rfcomm*
  3. Connect
    From the top menu, choose Connection → Connect… → and select one of:

    • RR-CirKits LCC-Buffer-USB Adapter
      • Pick its COM port (e.g. COM3 or /dev/ttyACM0)
    • CANable 2.0 Adapter
      • Pick its COM port (e.g. COM5 or /dev/ttyUSB0)
    • Bluetooth Serial CAN Adapter
      • Pick the Bluetooth COM port (e.g. COM6 or /dev/rfcomm0)
  4. Configure CDI

    To configure a LCC Node’s CDI, choose from the top menu, View → LCC Nodes to see a list of available nodes within the CAN Network.

  5. Disconnect
    To end the session, from the top menu, select Connection → Disconnect.


JMRI CDI Tool (Adapters & Bluetooth)

To integrate JMRI with the CAN network through one of the serial-CAN adapters, execute the following instructions:

  1. Launch the JMRI DecoderPro application from your Windows system.

  2. Navigate to Edit -> Preferences from the main menu of DecoderPro.

    • Windows: Edit → Preferences → Connections
    • macOS/Linux: DecoderPro → Preferences → Connections
  3. Configure a new connection by applying the following parameters:

    • System Manufacturer: OpenLCB

    • System Connection:

    Adapter System Connection
    CANable 2.0 Adapter CAN via MERG CAN-RS or CAN-USB (Lawicel)
    RR-CirKits LCC-Buffer-USB Adapter Serial CAN (GridConnect)
    Bluetooth Connection Serial CAN (GridConnect)
    • Settings:

      These setting specify the LCC Node Hub for JMRI to connect to. A Hub is typically an LCC Node was previously configured to use Wi-Fi as a bridge between the Wi-Fi and the CAN Network.

      • Serial Port: COMx (Identify this as the Windows-assigned port upon connecting the USB-CAN device)
        • Connection Prefix: M (default setting)
        • Connection Name: [Your chosen name]
  4. Finalize your settings by clicking the Save button located at the bottom-right corner of the Preferences-Connections window.

  5. Reset JMRI DecoderPro


JMRI CDI Tool (Wi-Fi)

The Wi-Fi Connection option lets JMRI talk to your LCC Nodes over a wireless LAN—no USB-CAN dongle required. To use it you’ll need:

  1. An ESP32-based LCC Fusion Node running the “LCC Node Hub” firmware (preconfigured to start Wi-Fi).
  2. A Wi-Fi network that both your computer/RPi and the Node Hub can join.

Note: The LCC Fusion Desktop CDI Configuration Tool does not support Wi-Fi CAN access—you must use JMRI for Wi-Fi. For truly wireless, local CAN access on your PC use the Bluetooth adapter instead.

flowchart LR
  subgraph Host["Computer or Raspberry Pi"]
    jmri["JMRI: Configure Nodes Tool <br>(CAN via GridConnect <br>Network Interface)"]
  end
  nodeHub["LCC Node <br>(Hub Mode + Uplink Mode)"]
  nodeHub1["LCC Node"]
  nodeHub2["LCC Node <br>(Uplink Mode)"]
  jmri --> |"Wi-Fi CAN Network <br>"|nodeHub --> |"Wi-Fi CAN Network"|nodeHub2
  nodeHub1 <--> |"Wi-Fi CAN Network"|nodeHub

JMRI Wi-Fi Connection Configuration

Configure JMRI to treat the Node Hub as a GridConnect TCP interface:

  1. Start DecoderPro or JMRI.
  2. Edit → Preferences → Connections.
  3. System manufacturer: OpenLCB
  4. System connection: CAN via GridConnect Network Interface
  5. IP address / Hostname: the Node Hub’s Wi-Fi IP (e.g. 192.168.1.53) or mDNS name (e.g. esp32_NodeID.local)
  6. TCP/UDP Port: 12021 (must match the hub’s listener port)
  7. Connection protocol: OpenLCB
  8. Connection Prefix: M2 (or your chosen prefix)
  9. Connection Name: any descriptive label (e.g. WiFi_CAN)
  10. Save and Restart JMRI’s connection.

LCC Node Wi-Fi Configuration (Hub Mode)

Use any wired CDI tool (JMRI or Desktop) to turn your Node into a Wi-Fi Hub:

  1. Flash the ESP32 with the LCC Node Hub firmware version.

  2. Power on and connect via USB-CAN or CANable.

  3. Select the node in your CDI editor (View → LCC Nodes).

  4. Open Communication Configuration → Wi-Fi Communications → Hub Configuration.

  5. (Optional) If running on battery, set Wi-Fi Power Savings ModeYes.
  6. Set Enable Hub ModeYes.

  7. Confirm Hub Listener Port12021 (must match JMRI).

  8. Set mDNS Service_openlcb-can._tcp.

  9. Click Save, then Restart Node.

After reboot, your Node Hub will advertise its TCP listener. The serial monitor will display its Wi-Fi IP and mDNS name—use that in your JMRI connection.

If you need a second LCC Node to act as a repeater or uplink to another Wi-Fi hub, use the Node Uplink Configuration group to enter that other hub’s IP and port, then restart. Both hubs must see each other on the same network.

Once both JMRI and the Node Hub are configured, you can edit CDI profiles over Wi-Fi just as if you were connected via a USB-CAN interface.


Using JMRI “Configure Nodes” Tool

  1. Click on OpenLCB_CAN in the top toolbar
  2. Select Configure Nodes
  3. OpenLCB Network Tree dialog window opens
  4. Click on twisty for the LCC Node to be configured
  5. Select Open Configuration dialog
  6. New window opens showing the CDI for the LCC Node.
  7. Each CDI configuration segment is shown with a title and a twisty to open
  8. Click on twisty to open and show the CDI

Remote Console Access

VNC over Wi-Fi

If you’ve installed the LCC Fusion Desktop Tool or JMRI on a Raspberry Pi with the CAN-RPI Card, you can connect to it wirelessly over your Wi-Fi network using a VNC client. This lets you run both CDI configuration tools on the Pi’s desktop from any computer on the same LAN.

flowchart LR
  CT["CDI Configuration Tools"]
  VC["VNC Client (Windows)"]
  RPi["Raspberry Pi"]
  CAN["CAN Network Adapter"]
  Node["LCC Node"]

  CT --> |"Viewing"| VC --> |"Wi-Fi"| RPi --> CAN --> Node

RPi Configuration

  1. Join your Wi-Fi network
    Edit /etc/wpa_supplicant/wpa_supplicant.conf (or use the Raspberry Pi Configuration tool in Desktop):

    sudo raspi-config
    
  2. Enter Wi-Fi Credentials

    1. → Network Options → Wi-Fi → enter SSID and passphrase
    2. Reboot if prompted.
  3. Enable the VNC server

    sudo raspi-config
    
  4. Enable VNC

    1. → Interface Options → VNC → Enable

      Or from Desktop:

    • Open Preferences → Raspberry Pi Configuration → Interfaces
    • Turn VNC to Enabled
  5. Set a VNC password (if required)

    vncpasswd
    
  6. Find your Pi’s IP address

    hostname -I
    

    Note the Wi-Fi IP (e.g. 192.168.1.42).

  7. (Optional) Install additional desktop tools If you’re headless and want a GUI, install LXDE or another lightweight desktop:

    sudo apt update
    sudo apt install --no-install-recommends lxde-core lxterminal
    

Windows/Linux Configuration

  1. Install a VNC viewer
  2. Connect to the Pi
    • Launch your VNC client
    • Enter <Pi_IP>:1 (e.g. 192.168.1.42:1) or simply the IP (RealVNC auto-negotiates)
    • Authenticate with the password you set (or your Pi user credentials)
  3. Use the configuration tools Once you see the Pi’s desktop, you can:
    • Run JMRI: launch from the menu or command line (python3 -m lcc_browser.gui if installed)
    • Run LCC Fusion Desktop: click its icon or run the cdi-configuration-tool-desktop binary
    • Run the Bluetooth tester: launch cdi-bt-test if built

Your PC now has full, wireless access to both CDI Configuration Tools as though you were sitting at the Pi’s HDMI-connected keyboard and display.


Verification & Troubleshooting Tips

After restarting JMRI Decoder Pro, verify the connection spanning from the computer, through the adapter, to the CAN network. This verification can be accomplished by choosing the OpenLCB tab from the top menu, followed by Configure Nodes. Every LCC Node within the CAN network should be visible in the Network Tree dialog.


References


Last updated on: December 17, 2025 © 2025 Pat Fleming