DS-Configurator

DS-Configurator is an application which can be used to configure your DS104 Lnet I2C interface. It connects to the Arduino Nano on the interface using a USB connection.

The app is a one file executable so there is no installation required. Just download the app for your operating system, place it in a separate folder and you can use it. The app is available for Windows, Linux and MacOS and the current version is v1.02. The app can be downloaded from our downloads page.

Due to high costs for certification procedures which we are currently avoiding, you might need to confirm execution when a security notification pops up. On Windows right-click and select properties to Unlock the app if needed. Make sure you always download the latest version from this website.

DS-Configurator main window

Once started, the app will check for app updates but in the preferences menu this check can be disabled besides the language selection. You can change the app language from English to Dutch, German, French, Spanish and Italian.

The preferences window

In the main window you can select the COM-port to which your DS104 interface is connected. After selecting the ‘Connect’ button, press the ‘PROG’ switch on the interface until you see ‘downloading configuration’.

After downloading the configuration and at first time use, the app will notify you that there is no configuration detected and asks for confirmation to start with an empty configuration. If there is already a configuration in the Arduino stored, it will be shown in the main window in different tabs.

You can specify an number and short description just for identification purposes. Any configuration can also be saved to a file on your computer and opened again if for some reason your Arduino Nano decides to change into a smoke generator.

Interface specific settings

After selecting the type of module for connector H1 and/or H2 in the corresponding tabs, you need to SCAN and select the appropriate I2C address of the module.

Module type selection

Depending on the module type selected the ports will propagate below with the parameters to be set. Each port needs an address but other parameters depend on the port types.

Settings for sensor type ports

With the PCA9685 modules both servo’s and LEDs/signals can be controlled. The parameters depend on the port type selected.

Settings for servo and LED ports

Servo configuration
When selecting a port type servo, there are 3 extra parameters to be set: angle 1, angle 2 and duration. The range for angle is from 0 which represents 0 degrees position to 720 which represents 180 degrees position. When first selecting a port, both angles are set to 360 corresponding to 90 degrees position. We recommend calibrating your servo first at this position before mounting the servo arm and installing your servo. When installing the servo, make sure your turnout (or other object) is positioned in the middle. After this you can try to configure both angles by using the -, + and TEST buttons which will move your servo.
Do not forget to upload your configuration to prevent the servo to start in 0 degrees position and breaking stuff or your servo.

LED or SIGNAL configuration
LocoNet was originally designed as a peer-to-peer control network for model railway systems, where the primary controllable trackside objects were turnouts (switches) and simple on/off accessories. The protocol therefore centered around generic “switch” commands to control binary or multi-state outputs. These commands were flexible and lightweight, making them suitable for driving relay outputs, turnout motors, and other accessory decoders.

At the time of LocoNet’s initial development, signals were not implemented as distinct semantic objects within the protocol. Instead, signals were typically controlled through accessory decoders in the same way as turnouts: by switching one or more output lines. A signal aspect (e.g., red, yellow, green) was realized as a combination of physical outputs rather than as a single high-level “signal state” command.

As a result, when signals were later integrated into LocoNet-based systems, they were modeled as logical switch objects rather than as dedicated signal entities. This meant that signal control reused the existing OPC_SW command structure. From a protocol perspective, a signal was simply another multi-state accessory controlled through switch messages. Disadvantage is that each signal will consume more addresses if there are more signal aspects to support.

Dedicated signal opcodes (such as OPC_SE in some implementations) were introduced later, primarily to provide clearer semantic separation and improved object modeling. However, by that time, a significant installed base already relied on switch-based signal control. For compatibility and architectural consistency, many systems continued — and still continue — to control signals using switch commands. Some software packages like Rocrail, iTrain and JMRI support the use of aspect commands with the advantage that each signal consumes only one address.

Port type LED
In the DS104, signal control is implemented using the port type LED when default switch commands are used. To ensure that multiple outputs belonging to the same signal (e.g., red, yellow, green aspects) are logically grouped together, all associated ports must be configured with the same Group ID.

In addition to the LocoNet address, each port can be configured to react to either Red or Green. Within the context of LocoNet switch commands, these correspond to the switch states: Closed or Thrown. The DS104 maps these switch states to the configured port behavior (Red or Green). This allows a single switch address to control multiple outputs by differentiating their reaction to the Closed or Thrown state.

It should be noted that not all model railroad software packages use a consistent interpretation of what “Red” and “Green” represent in relation to the switch states Closed and Thrown. In some applications closed may correspond to Green and Thrown may correspond to Red. Whereas in others, this mapping may be reversed.

Additional settings like toggle or fade behaviour and continuous or blinking effect can be set. A port can be part of multiple aspects. Green can light up continously in one aspect while in another aspect it needs to blink. These additional aspects can be set in the Alt 1, 2 of 3 parts of the port configuration.

Port type SIGNAL
Some model railroad software packages also support controlling signals using a single address rather than multiple switch outputs. This is achieved via dedicated signal encoding commands, which provide a more semantically meaningful way to set signal aspects directly.

Examples include:

  • OPC_SE (Signal Encoding) commands in Rocrail
  • OPC_IMM (Immediate) commands in iTrain and JMRI

To support this functionality, the DS104 provides a port type called SIGNAL. Each port still needs to be grouped together, but all ports belonging to the same signal share the same address. Each port can then be configured with:

  • The signal aspect it should represent (e.g., Red, Yellow, Green) in numbers or bits
  • The behavior it should exhibit when the command is received similar to LED type ports

This allows a single-address signal command to control multiple outputs correctly, while each port behaves according to its aspect-specific configuration.

Currently, the DS104 supports configuration for Rocrail, iTrain and JMRI. For JMRI select iTrain in the Source selection box.

Settings for SIGNAL ports for Rocrail
Settings for SIGNAL ports for iTrain
Rocrail

In Rocrail the signal Control option can be changed from Default to Aspect numbers in the Interface tab. Only the first Port field needs to be configured with an address.

Rocrail signal with Aspect numbers

In the Details tab, for each aspect the led can be selected that needs to respond to the Aspect value. Don’t forget to configure the number of Aspects for this signal in the top right of the window.

Rocrail configuration of aspect number settings

When clicking on the value field of each aspect, a window will open to configure which led should be on continuously or blinking.

Configuring led 2 to turn on continuously
Configuring led 2 to blink
iTrain

In iTrain it depends on the selected command station if a signal can be configured in DCC aspect mode. Our DS101 Lnet interface & monitor fully supports DCC aspect signals.

iTrain signal configuration for DCC aspect mode
JMRI

In JRMI the signal should be added as DCC Signal Decoder to take advantage of the aspect method of controlling the signal.

DCC Signal Decoder in JMRI

Remember that all port states are saved only when a Track Power Off command is received over the LocoNet bus! This ensures that ports are restored to their last state or position on the next startup.

LocoNet® is a registered trademark of Digitrax, Inc.