From Train Control Systems Documentation
Revision as of 14:57, 30 December 2022 by TCSSoftware (talk | contribs) (→‎Bootloader: added instruction on how to start the device in firmware upgrade mode.)
Jump to navigation Jump to search

CS-105 Final Production Image (1)(smaller).png
Device Information
ManufacturerTrain Control Systems
TypeCommand Station
Release Date08-09-2022
Retail Price$529.95
or 15V/90W

The CS-105 is an intelligently-designed DCC command station with LCC integration as well as a built-in RailCom® detector. Thoughtfully designed to outperform in every area, the CS-105 is the perfect DCC command station for newcomers, or layout builders or renovators looking for a highly-capable command station with the latest and greatest technology available.

The CS-105 Command Station from TCS is the new DCC standard for model railroads. This system brings a new level of operational convenience to DCC, especially when paired with a UWT-100. The CS-105 also features a wide range of new features compared to the competition. "Soft Start" as well as configurable short circuit detection for the mainline track output decreases the likelihood of burning up fouled decoders as well. Instead of spending time with your head in a manual trying to understand your system, you can consult the intuitive configuration interface of the CS-105 through a TCS throttle such as the UWT-100, allowing you to focus on the important things - operating and enjoying your trains! We are confident that the CS-105 will quickly become your favorite command station to use.

Also included in the package with the CS-105, power supply, and AC cord are two LCC terminators, detachable track power connector, and detachable programming track connector.

This product has two Power Supply options: 12 Volts or 15 Volts

Click on one of the options below to shop:

12V Power Supply 15V Power Supply

Power Supply Selection: When selecting a power supply voltage, you choice should depend on two factors: 1) Modeling Scale 2) Maximum loco speed. For smaller scales such as Z, N, TT, etc., the 12V supply is recommended. The 12V supply is also acceptable for larger scales such as HO; however, if you like to run your trains at higher speeds the 15V supply increases the maximum voltage available to the motor, allowing your models to reach higher top speeds. This is particularly beneficial to modelers of bullet trains and other high-speed passenger services. Both power supply options are rated to supply the CS-105 with up to 5 Amperes of continuous current all day long!

Small Package; Big Power

The CS-105 is not only feature-packed, but also highly capable with plenty of horsepower for your railroad. The CS-105 has a user-configurable short circuit protection algorithm and current limit up to 5 Amperes. Unlike many systems on the market, when we say "5A continuous" we mean it! The CS-105 can supply up to 5 Amperes of current to your railroad all day and all night long. The CS-105 can also simultaneously operate up to 260 individual locomotives (consisted or solo) thanks to a highly-intelligent packet handler and "stack" management algorithm.

Auxiliary Boosters

5 Amps not enough? We understand. That's why we offer auxiliary boosters such as the B-106! Expand out your current capacity while maintaining your RailCom® network using the LCC-enabled B-106 auxiliary booster. Already have a large layout with boosters you don't want to upgrade yet? No problem! The CS-105 can be integrated into existing ecosystems such as Lenz, NCE, Digitrax, and more using our Booster Adapter (sold separately).

Multiple Connection Modes

The CS-105 can be used as a standalone access point for WiFi throttles such as the UWT-50, but can also connect to an auxiliary AP (router) to expand the network and maximum number of throttle connections. In addition to WiFi throttles, wired throttles such as the LT-50 and T-50 wired LCC throttles can be connected through the LCC Can Bus. But that's not all! The "Aux Cabs" jack on the CS-105 allows you to connect and use some other manufacturers' throttles (such as NCE, Ramtraxx, SystemOne, and more) with the CS-105. Add-on devices such as the "LCC-LocoNet Gateway" from RR-CirKits can also be used to interface Digitrax throttles and a PC.

LCC Integration

LCC Bus connections on the command station allow for direct interfacing with LCC layout devices and modules. You can communicate with any LCC system to control switches, adjust layout lighting, and anything else that the LCC bus is connected to.

RailCom® Integration

RailCom enables bi-directional communication between the command station and decoders. This allows for read-back of CVs while programming on the mainline. The inclusion of RailCom opens up significant opportunities for future features and expansion.

RailCom® is a registered trademark of Lenz Elektronik, GmbH


Consisting doesn’t have to be difficult, intimidating, or complicated! The CS-105 features a simple consisting interface where users can make, modify, and break up consists in mere seconds. The CS-105's consisting system also features new and unique configuration options for consisted engines which will make your consisting experience more realistic than ever without having to spend hours setting it up!

Full-Text Menus

The settings of the CS-105 can be accessed through a TCS throttle or JMRI. Configuration menus and options are listed in full words and phrases. No guess work or manuals needed! Use the [?] button on the TCS throttle keypad in any menu to access help text for that menu item. The throttle will display a simple description of the highlighted option. Help is always one button press away!

Programming Options

Take advantage of several different programming options with the TCS Command Station. RailCom® programming on the mainline allows for live CV read-back without the need for a dedicated programming track! Or, you may use an isolated programming track to use Direct or Paged mode programming. The TCS CS-105 Command Station does not require an add-on "programming booster" for programming operations, unlike some command stations offered today, and older-generation systems available in the past.

When programming a decoder, the TCS throttle can display information about the CV down to the individual bit, giving users the ability to further understand and visualize CV's, and manipulate them at the bit level, which is especially useful for CV's used to configure multiple options, such as CV29 or CV61. In addition, when using a TCS throttle, you may press the Help button after entering a a NMRA standard CV number to display a "plain text" explanation of the CV and what it does.* TCS is striving to offer the most user-friendly programming interface possible, while not compromising the operational capabilities in favor of "simplicity."

Easily Updatable

Field-update your software to add new features to your command station from the comfort of your own home. And don't worry, you won't lose your settings or your roster!


DCC System

  • 5 Ampere continuous current rating with soft start, configurable current limit, and load reporting
  • Up to 260 locomotives running simultaneously
  • Up to 300 10-step Macros using both DCC and LCC accessories
  • Integrated RailCom® detector on Mainline and Programming Track
  • Global detector for compatible Boosters, supporting “Ops” CV reads
  • Dedicated Programming Track output with automatic switchover, supporting Direct, Paged, and Register modes

Throttle Support

  • Up to 4 LCC WiFi throttles via on-board WiFi Access Point (AP)
  • Up to 10 LCC WiFi throttles via external WiFi Access Point (Router)
  • Up to 250 LCC throttles, wired or via auxiliary LCC WiFi base stations
  • Up to 62 Cab Bus (NCE wired and wireless, Ramtraxx, and SystemOne) throttles and accessories via AUX RJ-11 jack, including ISE ProtoThrottle™ and WifiTrax WFD-30/31 WiThrottle Protocol Bridge
  • Up to 31 XpressNet™ (Lenz, Roco, ZTC, etc.) throttles and accessories via AUX RJ-11 jack (starting from software version 2.0)

For more information about throttle capacity, please see CS-105 Throttle and Device Capacity.

For more information on the behaviour of your NCE throttle(s) when using the Aux Cab bus, please see Cab Bus.

NMRA Layout Command Control (LCC) Features

  • Dual RJ-45 jack for LCC communication through CAN-bus
  • 400mA output current per LCC port
  • Built-in WiFi LCC computer interface
  • Plain English configuration via TCS throttles or a PC
  • Supports various DCC boosters connected via LCC cable
  • Global RailCom® transmissions over LCC for supporting Boosters
  • Firmware updates via WiFi or LCC interface

Physical Overview

The CS-105 features a case design which is symmetrical in nature, meaning that it can be mounted or oriented in just about any way you could possibly need to, even vertically! TCS does advise against having any obstruction on the vented sides of the case in order to allow for passive air flow, however. We will be referring to these vented sides as Side A and Side B, since what the “back” and “front” are are up to you.

Side A features: 5) Single RJ-11 jack 6) Tactile push button 7) Single red LED.

Side "A" of the CS-105

Side B features: 1) Green 3-pin connector with detachable screw terminal 2) Black 2-pin connector with detachable screw terminal 3) DC Power input jack 4) Dual RJ-45 LCC connector with four LEDs

Side "B" of the CS-105

The purpose of the LEDs is described in detail in the section below.

Status LED's

The CS-105 includes a total of five LEDs for providing information about the device’s status. The LEDs are also used during configuration as described in the Push Button Configuration section. Additionally, both the user and TCS support can use these LEDs in order to Troubleshoot issues.

On Side A of the CS-105 there is a single red Power LED. This LED is constantly on whenever the CS-105 has incoming power. On Side B, the dual RJ-45 LCC connector has the remaining four LEDs in a Yellow, Green, Yellow, Green pattern as shown below:

CS-105 Status LED's

Normal Operation

(From L to R) CS Booster
LED 1 - Yellow

closest to the barrel jack

Track Power

- solid on: track power on

- solid off: track power off

- fast blink, short circuit

- slow blink: thermal overload

LED 2 - Green CAN Active and LCC Activity

- solid on: CAN bus connected

- solid off: CAN bus disconnected

- blink: LCC activity (TX)

LED 3 - Yellow WiFi Status

- blink: searching / connecting

- constant off, AP mode

- constant on, client mode

Incoming DCC signal

- on DCC signal present

- off DCC signal absent

LED 4 - Green WiFi/LCC Full - Either:

- 4 WiFi clients (on)

- 10 LCC sockets (on)

Identify LED

Press button in CDI - LED comes on for 30 seconds

LED 4 - Green

(upon crash)

Blink Codes


When the device is in Firmware Upgrade mode, LED 1 and LED 4 are alternately blinking like a grade crossing. LED 2 (LCC) and LED 3 (WiFi) are operating as normal.

To start the unit in Firmware Upgrade mode, unplug the power, then press and hold the tactile button on Side A while you plug in the power again.

Track Output

The CS-105 track output can be driven from a wide range of voltages. The output voltage of the system to the track will be the same as the input voltage. The output voltage of the system can be displayed at any time from a TCS throttle as described in the Configuration section of this manual.

The built-in DCC track output booster of the CS-105 is designed for a continuous capacity of 5 Amps. This output is also compatible with the Märklin/Motorola protocol, and both protocols can be in use at the same time. The CS-105 may be used to power any scale, but it is important to ensure that you are capable of powering your layout with the system. In some cases, one or more add-on devices such as the TCS B-106 Booster may be necessary in order to supply some extra current capacity. Modern N and HO scale locomotive motors are typically very efficient, even under load. Below, we have included a table for some examples of typical load values which can help you determine if the CS-105 is capable of supplying your typical operation by itself:

Locomotive Type Typical Current Draw Locomotive Max Count (Typical)
Idle/Stationary 0.05A - 0.10A 50 - 100
Idle/Stationary with sound 0.15A - 0.25A 20 - 33
N scale under load 0.15A - 0.35A 14 - 33
N scale under load with sound 0.30A - 0.50A 10 - 16
HO scale under load 0.25A - 0.50A 10 - 20
HO scale under load with sound 0.35A - 0.65A 7 - 14

Note that the values in the table above are very generalized. Your results will vary for your own locomotives. Some older HO and N scale locomotives used much less efficient motors and can subsequently draw more current. The built in booster has the ability to measure track current, and this feature can be used to characterize a given locomotive for its typical current draw.

The built in booster is equipped with a soft-start mechanism to automatically limit the inrush current symptomatic of older first generation sound decoders. Additional external boosters may be added to the system for supplemental power, always be sure to include the booster common shown in the diagram below (green wire):

Shown above is a simplified diagram of how to wire the CS-105 into a LCC network with an additional B-106


RailCom is a bi-directional data communications technology found in The NMRA Recommended Practices RP S-9.3.1 and S-9.3.2. RailCom enables bi-directional communication between the command station and decoders, unlike in traditional DCC where the communication is done exclusively in one direction (from the Command Station to the Decoder). The inclusion of RailCom opens up significant opportunities for future features and expansion. For example, the use of RailCom allows for real-time read-back of CVs while programming on the mainline. In traditional DCC, you would only be able to write to a CV, whereas with RailCom, writing and reading on the mainline are both possible.

Some other possibilities such as live feedback on a throttle for fuel/water level, temperature, and many other statistics are also unlocked with RailCom technology. Block detection becomes more integrated with RailCom as well, including the possibility of knowing who is occupying a block, rather than just knowing a block is occupied. This data could be used further to aide in automation setups and macros. A fleet of rolling stock could also be equipped with basic RailCom decoders to keep track of cars in yards or trains. The potential applications for RailCom are still being explored, and is an untapped wealth of possibilities! What will you do with RailCom and the CS-105?

RailCom is a highly-responsive system as well, allowing up to ~126 individual operations per second (depending on the available DCC bandwidth) at a bitrate of 250Kbps by introducing a very brief interruption to the DCC track power. During this interruption, the RailCom detector on the Command Station will send or receive information to and from the decoder. Please refer to our online documentation on the TCS Wiki for more information on RailCom, including prerequisites, configuration options, and hardware support within TCS’ product lines. Support - RailCom®

Internal Locomotive and Consist Roster

The CS-105 stores settings about each DCC (and M/M) address, called the Roster Settings. This information is persisted across power cycles, and also includes the consists. You can check the amount of available storage in DCC System Settings > Status > Free Storage.

The purpose of the database is to keep track of locomotive specific configuration that can enhance the operating experience. For example, the database can keep track of what DCC function numbers correspond to a given feature such as bell or whistle. A user specified name for the locomotive can also be configured, and this will be shown on the throttles. This can allow the user to recall and control locomotives by a convenient name rather than by DCC address. Note: it is not possible to have multiple roster entries with the same DCC address.

For example, we have two locomotives:

  1. Santa Fe SD40 with cab number 567
  2. Southern Pacific SD50 with cab number 567

The traditional method is to assign a DCC address of 567 to the locomotive matching the cab number. Because of the address conflict in this example, this is no longer possible. The database can be used to associate an arbitrary DCC address to a specific locomotive name that will be displayed on the throttle.

Assigned DCC Address Example Database Name (displayed on throttle to the user)
1 SF 567 SD40
2 SP 567 SD50

For this reason, we also recommend never assigning short address 3 to a roster entry. Short address 3 is the default address for all DCC decoders. If you want to be able to test a decoder on address 3 before reprogramming its address, you should leave address 3 out of your saved roster.

Some throttles such as the TCS UWT-100, as well as NCE throttles with an LCD display, have the ability to present a list of possible locomotive names based on a search. In this example, if the user enters the number 567 on the throttle, a list is provided containing both the Santa Fe SD40 and the Southern Pacific SD50. The user can choose the appropriate locomotive to control without knowledge or regard to its arbitrarily assigned DCC address. You can type in other numbers that appear in the stored names as well, such as ‘40’ to get all SD40’s, or ‘35’ to get all GP35’s.

Creating a New Roster Entry

In order to create a new database entry for a locomotive, you first need to use a throttle to enter its address. After entering the address of the new locomotive on the throttle, it will appear in the system’s operational memory, the list under “Select Loco”, and the packet handler stack. This entry will exist only until the system powers down, whether or not it is ever given any commands. The persistent storage is only used when some settings of the locomotive are changed. There are a few ways to do this.

Throttle Configuration

Through a TCS throttle such as the UWT-100, you can view and modify roster data for any locomotive at any time. After selecting the address you would like to modify, enter the menu, then navigate to 8 Settings > 3 Roster Settings. The throttle may take a few moments to download the contents of the roster file from the command station.

Once in the Roster Settings menu, you will be presented with all of the options for the loco. These options are:

  1. Loco Name
  2. User Description
  3. Speed Step Mode
  4. F0 Behavior
  5. Functions
  6. Delete From Roster?

Note: F0 Behavior is covered in greater detail in the Consist Configuration section of this documentation.

JMRI Configuration

Once you have set up a JMRI connection to your CS-105, you can view and modify the internal roster data through a DecoderPro or PanelPro interface for any locomotive at any time. After launching either program, select the LCC dropdown from the menu, then select Configure Nodes. A new window will appear which displays all of the “nodes” in your LCC network, which will include trains and consists in the operational memory of the system, as well as any connected LCC throttles, boosters, and other LCC accessories.

To modify the roster data for any of the locos in the system, select it from within the window, and then press “Open Configuration dialog.” The program may take a few moments to download the contents of the roster file from the command station.

Once in the Roster Settings menu, you will be presented with all of the options for the loco. These options are identical to the ones available when changing the configuration through a TCS throttle.You can see an example configuration below:

Deleting an Existing Roster Entry

An individual roster entry can be deleted by using the “Delete From Roster?” option in the throttle or JMRI node configuration menu. If you would like to delete your entire roster, you can perform a Factory Reset as described in the Factory Reset section.

Function Configuration for Roster Entries

The TCS system has extensive configuration settings for each locomotive and each function thereof, enabling convenient and prototypical operations for both solo and consisted locomotives. Additionally, a help feature is available on all TCS throttles, enabling the engineer to view a list of all functions on the throttle display, and displaying upon each function button press the matching function. This is convenient, because operators do not have to memorize which button number performs what function.

Function Names

To select the displayed name of a given function number, go into Functions, select the number, then Display. A list of common function names will appear for selection.

If the list under Display does not contain the desired name, then select Description to enter arbitrary text for the function name. After the text in Description has been changed, the selection under Display is ignored. To return to the list-based selection, an empty Description has to be written.

Momentary Functions

A momentary function is active on the locomotive so long as the respective throttle button is held down, and turned off when the button is released. A typical momentary function is horn or whistle.

A latching function is turned on upon a button press, then stays on when the button is released. The function is turned off when the button is pressed again.

Each function can separately be configured as momentary or latching. By default F2 is momentary and all other functions are latching.

Consist Settings

The consisting system within the TCS Command Station is unique, and functions differently than other consisting systems. For more details on how internal consisting works within the CS-105, please refer to the section on Consisting.

Consist settings for locomotive functions are stored within the roster configuration for each locomotive. These settings only become active when said locomotive is in a consist, and are automatically disabled when the consist is disbanded, or the locomotive is returned to single-unit operation. The main advantage to this method is that if the same locomotive is entered into the same consist, or another again in the future, the same settings are immediately restored without any need to reconfigure the consist settings from scratch.

Consist Behavior

This setting can be individually adjusted for every function from two options: A) Current Cab Only B) Consist.

In Current Cab Only mode, the function is activated by a throttle only if that throttle has selected this particular locomotive. An example for using “current cab only” control would be a function such as the bell or horn, as well as certain light functions such as ditch lights, which in real life is only activated by the lead unit in a consist.

In Consist mode the function is activated by all throttles, independent of which locomotive is dialed on the throttle. All functions influencing the motor or movement of the locomotives should be set to Consist mode, such as Momentum, ABV, Brake, Brake Release, Rev Up/Down (Manual Notch Up/Down), etc.

By default, all function numbers are set to Consist mode except for Function 1 and Function 2, which are assumed to be Bell and Horn/Whistle respectively.

Headlight MU switch

The MU Switch feature, available under the F0 submenu, is a unique feature of the TCS command station which aims to add another layer of realism to consist control. This feature is based on real-life locomotive operation, particularly in “modern” diesel locomotives. Depending on the configuration of this “switch”, the lighting setup and control for F0F and F0R will change behind the scenes. The MU Switch feature has four options to select from.

  1. Solo Unit

Solo Unit is the default configuration, and makes no changes to the behavior and operation of the loco.

  1. Coupled at Rear

Coupled at Rear means that this loco is an out-ward facing locomotive at either the front OR rear of the consist, and is coupled to the rest of the consist or cars by its REAR coupler. In this mode, if F0 is ON, only the “front” facing headlight will come on and the “rear” headlight facing the consist will remain off all the time.

  1. Coupled at Front

Coupled at Front means that this loco is an out-ward facing locomotive at either the front OR rear of the consist, and is coupled to the rest of the consist or cars by its FRONT coupler. In this mode if F0 is ON, only the “rear” facing headlight will come on and the “front” headlight facing the consist will remain off all the time.

  1. Middle Unit

Middle Unit means that this loco is somewhere in the middle of the consist, and is coupled to the rest of the consist or cars by BOTH couplers. In this mode, neither the “front” or “rear” facing headlights will come on, and will remain off all the time regardless of the status of Button 0.

Special Features of Headlight (F0)

For headlight, the Consist Behavior and MU switch options as described above are available in the Roster Settings > F0 submenu.

Directional Control

Directional Control is a unique feature to the TCS command station. This option, which is disabled by default, works behind the scenes to simulate the real-life headlight control of a locomotive without the need to do CV programming to remap the headlights to different buttons. This feature is not exclusive to consisted locomotives, nor is it enabled or disabled by entering or disbanding a consist; however, it is a feature which many users may find most useful when operating a locomotive which is frequently added to and removed from consists.

If this feature is enabled, the command station will keep in its memory separate controls and registers for Button 0 when traveling in the forward direction and the reverse direction. This means that if you are traveling in the forward direction and press button 0, the forward headlight will come on. When you change directions to reverse, the reverse headlight will be off until you press Button 0 again. Your throttle will reflect this as well, by toggling the function status on-screen when you change direction.

NOTE: This feature assumes that your decoder is in a “default” state where F0F and F0R outputs from your decoder are tied to the same button (F0), and are configured for directional lighting. This feature may break Rule 17 configurations of your decoder depending on the implementation from the decoder manufacturer.

Directional Control is also available as F100 under Menu > Operations > Loco Functions on TCS throttles. This controls the same setting and is persistent across power cycles.

Blank F0 Forward/Reverse

Blank F0 Forward means that the headlight will not come on when the direction on the throttle is Forward. This setting is helpful when there is a train or other engines coupled to the loco at the front coupler. Similar for Reverse, with the rear coupler.

These options are available as F101/F102 under Menu > Operations > Loco Functions on TCS throttles.  When changing these settings, the MU switch will be adjusted in the Roster Settings, and persisted across power cycles.

Operating Trains

Speed and Function Operations

When the command station is powered up, all locomotives will be set to speed zero, forward, with all functions off. To begin running a train, use the “select loco” function of your connected throttle and type in an address or select a locomotive from the active locomotives list.

The CS-105 supports F0 to F68 for DCC decoders, and F0 to F4 for Märklin-Motorola decoders.

The default selection is 128 speed steps for DCC decoders, and protocol version II for M/M decoders. To change the speed step mode, open the Roster Settings of the given locomotive, and modify the Speed Step Mode setting. This setting will be saved in persistent storage and the CS-105 will remember it after a power cycle.

The TCS Command System supports more than one throttle driving the same locomotive. When one throttle changes the locomotive speed or functions, other throttles will automatically update their screen.


The TCS Command System uses the LCC protocol for consisting. Consists can be created by any LCC throttle (such as the UWT-100, UWT-50, LT-50 or T-50 throttles by TCS). Consists can be set up not only across DCC locomotives, but using an arbitrary mixture of DCC, M/M, or direct LCC (wireless) locomotives.

When selecting any of the consisted locomotives on a throttle, the entire consist will be operated: speed control and function control commands will automatically act on the consist, even if the given LCC throttle does not support the consisting protocol.

When operating functions such as horn (typically F2), the CS-105 will differentiate whether the throttle has selected the current locomotive (horn will sound) or a different locomotive of the consist (horn will not sound). This behavior can be selected or disabled for each DCC address and each function number specifically, see the Section Locomotive and Consist Roster. There is an additional headlights feature for prototypical diesel consists described in that section.

The Current Cab feature allows switching between different locomotives in a consist. This changes the relative display of forward/backward on the throttle display, and also changes which locomotive will sound the horn, if the given function’s consist behavior is configured to “Current Cab Only”. To change the Current Cab on a TCS throttle, press ENTER when a consist is selected.

The CS-105 stores consists in persistent storage. This means that your consists are saved between operating sessions and across power cycles. When a throttle selects a locomotive which is in a consist, all other consist members are automatically started and the consist is assembled on that throttle. This means that a consist can be handed over from one throttle to another; and a consist can be released on a throttle and picked up later on the same or different throttle by selecting any of the locomotives in the consist.

It is possible to have two different throttles select two different members of the same consist at the same time. When one throttle changes the consist speed or functions, other throttles will automatically update their screen.

Technical information

NOTE: The information in this section is subject to change in future software releases.

Status screen

Some technical information about the current operation of the CS-105 can be viewed in JMRI’s by opening the CS-105 configuration screen, then clicking the Status segment, or under Menu > Settings > DCC System Settings > Status on a TCS throttle.

Start-up behavior

When the Command Station powers up, it emits for approximately 1 second alternating DCC Broadcast Digital DecoderReset commands, and M/M Broadcast Speed Zero commands. This ensures that there are no runaway locomotives without the control of a throttle. Afterwards the regular (idle) packet sequence takes over.

In order for this start-up sequence to be effective, we recommend powering up the boosters of a layout no later than the command station. If the boosters and the command station are on the same switched power outlet, that's fine. If they are on separate switched outlets, we recommend flipping the switch of the boosters first, then the CS. This is just a recommendation though, and this recommendation also applies to non-TCS command stations -- if runaway trains are not a concern, then any sequence of power-up is just fine.

Locomotive stack

The CS-105 maintains an internal operative memory about the locomotives that it is controlling. This list in memory is sometimes referred to as the "stack." This memory allows the CS-105 to generate periodic messages to DCC and M/M decoders as required by the protocol standard, as well as provide information for a throttle or computer software about the current speed and functions for a given train upon request (typically when a train is acquired by a throttle).

Locomotives are automatically added to the operative memory when they are selected by a throttle. Each locomotive, including each consist member of a stored consist, occupies one entry in the “stack” of the CS-105. Upon powerup of the CS-105, this memory is empty, and the stored consists are loaded into it. The memory never gets full, because unused locomotives are automatically removed from the stack as needed.

The number of currently operating locomotives can be viewed in the Status screen. The CS-105 supports up to 260 locomotives in the operative memory, where these 260 locomotives are actively being addressed by a throttle and/or are being issued commands with somewhat regular frequency.

Packet prioritization and repetition

The CS-105 prioritizes packets to locomotives to achieve the best combination of fast response and reliability. Upon a change on a throttle (such as changing the speed or turning a function on and off), high-priority packets are going to be emitted to the track as soon as possible; then later low-priority packets are going to repeat this information; finally, refresh packets are going to keep repeating the locomotive state forever.

Refresh packets are emitted for DCC decoders for speed and functions F0-F12; for M/M decoders speed and F0-F4. The CS-105 will down-prioritize the sending of refresh packets to locomotives/addresses which have not been sent new commands for a long time. If the limit of the bandwidth is near to being reached, "un-used" locomotives will be removed from the packet generator/handler. This is referred to by some as the "stack." This methodology of handling packet generation and DCC bandwidth means that you will never have a "slot max" situation occur where you cannot effectively address a new locomotive and operate it; additionally, responsiveness from your throttle should always be immediate and lag-free.

The DCC bandwidth usage can be viewed in the Status screen, aggregated to a 10-second window and a 10-minute window.

RailCom®-enabled DCC decoders

RailCom-enabled locomotives do not need packets to be repeated, therefore saving a significant amount of DCC bandwidth. We recommend using RailCom-enabled locomotives, deploying RailCom-enabled Boosters such as the TCS B-106, and enabling RailCom channel 2 transmissions in the decoders (CV28 bit 2 = 1). Check with your decoder’s instructions/literature or manufacturer to see if your decoder(s) support RailCom.

The number of currently operating RailCom-enabled locomotives can be viewed in the CS-105’s “Status”Status screen through a TCS UWT or connected JMRI configuration window.


The CS-105 can continuously verify that a throttle controlling a moving train is operational, recognizing and stopping runaway trains that may be due to throttle malfunctions, dead batteries, wiring or wireless issues. This is accomplished by sending the throttle an LCC message, which it shall automatically or manually respond to, indicating that it is alive and intending to control that locomotive. A stopped train never generates heartbeat messages. When a throttle releases a train, the heartbeat checking also stops. For each train only the last assigned throttle will be checked.

A configuration option in DCC System Settings > Advanced Settings controls this feature. Setting the option to zero disables throttle heartbeats.

Speed mapping

The CS-105 translates the speed steps of the selected DCC or M/M protocol to the scale speed of 0 to 126 mph reported to the LCC throttles. This means that even if a decoder is driven with 14 or 28 speed steps, the throttles will always display a scale from 0 to 126.

The recommendation is that for speed matching purposes the locomotive decoders should be configured with a speed table that defines 1 (of 126) speed steps as 1 scale mph; for example, calibrate the locomotive to run with 32 scale mph at speed step 32, with 50 scale mph at speed step 50, etc. This makes the throttle display a speedometer, and any two locomotives can be consisted together.

DCC Functions

The CS-105 supports function packets of F0 to F68. The packets F0 to F12 are refreshed indefinitely; packets for F13 to F68 are sent out several times after the respective function command is received via LCC. Successful RailCom acknowledgement suppresses any repetitions of these packets.

DCC Decoder Programming

Mainline Programming

Mainline programming, also known as Operations mode or “OPS” programming is a method by which you can configure a DCC Decoder’s CVs (Configuration Variables) while “in operation” on the mainline track. All locomotives can continue operating while a locomotive is being programmed using Mainline Programming. For more information on mainline programming, please refer to our help article on the subject https://docs.tcsdcc.com/wiki/Support_-_DCC_Programming_Track

OPS mode programming with RailCom®

When programming a DCC decoder on the mainline, the CS-105 will attempt to use the NMRA standard for decoder feedback (also known as RailCom®). For this to succeed, the following requirements have to be met:

  • The decoder must support RailCom®. (Check your decoder literature or ask your manufacturer.)
  • RailCom- addressed feedback must be enabled in the decoder. CV28 bit 2 must be set. (Typical values are CV28=3 or CV28=131) If you’re unsure, you can place the locomotive on the Programming Track to read the value of CV28. A TCS UWT will show you which bits are set.
  • RailCom Cutout must be enabled in the CS-105 settings (DCC System Settings > Advanced > Railcom Cutout > Enabled).
  • The locomotive must be…
    • on the track directly connected to the CS-105’s Mainline track output OR
    • on track powered by a RailCom-aware booster connected to the LCC port (such as the TCS B-106), and DCC System Settings > Advanced > Drive LCC Boosters > Enabled must be set (as opposed to Enabled with no RailCom).

If you program a DCC decoder in OPS mode on the main which does support RailCom®, the decoder has the ability to provide feedback to the command station which acknowledges that a programming command has successfully completed. Similarly, the decoder can also send data to the command station, including CV values, meaning that you will be able to read the CV values.

OPS mode programming without RailCom®

When the above listed conditions are not met, you cannot read the value of a CV, nor does the command station have definitive certainty that a programming command was received and acted upon by the decoder. You will see a message when trying to read or program a CV indicating that there was no RailCom feedback. This is not an error message; when users without RailCom® feedback perform OPS mode programming, they just assume writes to have worked.

Programming Track Programming

Programming Track programming, also known as Service Mode programming is a method by which you can configure a DCC Decoder’s CVs while using a dedicated, isolated track. Connect your isolated programming track to the black 2-pin screw terminal block on your CS-105. To use the programming track, open the menu on your UWT and navigate to option "4 CV Programming" followed by "2 Programming Track". The programming track will not become active until you either READ or WRITE a CV; however, once the programming track turns on and while it is in use, the CS-105 will turn off the mainline output and the output to all auxiliary boosters over LCC. After the programming track comes online, it will remain online for 30 seconds. If you read or write another CV during this time, the 30 second timer will refresh. You can also cancel the timer early by exiting the Programming Track window.

Tip: To avoid unexpected shutdowns, we recommend disabling the Programming Track Access during operating sessions using DCC System Settings > Advanced > Program Track Access > Unavailable

The use of a programming track is the only guaranteed way to be able to read back the values of CVs from a decoder. For more information on CV programming, please refer to our help article on the subject:

Support - DCC Programming Track

How to Use The CS-105 Programming Track

Follow the steps below to read a CV using the CS-105 and a UWT

Step 1 Step 2 Step 3 Step 4
Programming Track - Clean Slate.png Programming Track - CV 8 Press Enter to Read CV.png Programming Track - Reading CV 8.png Programming Track - CV 8 Read Successful.png
Enter Programming Track | MENU>4>2 Use Keypad to enter a number in "CV:" Press "Enter" or "Read" button to read CV Wait for decoder to read. Value will display.

Follow the steps below to write a CV using the CS-105 and a UWT

Step 1 Step 2(A) Step 2(B) Step 3
Programming Track - Clean Slate.png Programming Track - Write CV 29 Value 46 With Value.png Programming Track - Write CV 29 Value 46 With Bits.png Programming Track - CV 29 Value 46 Write Successful.png
Enter Programming Track | MENU>4>2 (A) Use Keypad to enter number in "Value:" (B) Use Bit Disassembly to toggle bits Press "Enter" to write value to CV

Possible Error Messages

"No loco detected" "Write OK, verify failed" "Short on pgm track"
Programming Track - No Loco Detected.png Programming Track - CV 8 Write OK Verify Failed.png Programming Track - Short Circuit.png
This message will be displayed whenever there

is no "acknowledgement" sensed by the CS-105

after attempting to read or write a CV.

If you see this message, ensure your program

track is connected properly and that the loco

on the programming track is seated on the rails

properly and is wired correctly.

This is not necessarily and error condition.

Certain CV's, particularly read-only CV's from

some manufacturers' decoders will not provide

an "acknowledgement" when writing to a

read-only CV. An example is CV 8 which can

be written to for a factory reset.

Annother possible reason to see this message

is if the value written to the CV (8) is not the

same as the value read back after the write.

As the message implies, there is a short circuit

on the programming track. This short could be

caused by a wiring problem, screwdriver on the

rails, or an over-current situation caused by a

locomotive with bad wiring or a bad motor.

Seeing this message is a clear indication that

there is something wrong with your locomotive

wiring and/or motor.

Direct Mode Programming

Direct mode programming, also known as “direct bit” or “bit manipulation” programming is a more time-efficient method of programming a DCC decoder, and is the default programming method used by the command station. When reading a CV, Direct mode programming works by querying a decoder for the state of each bit within a CV. The decoder will provide different acknowledgements for 1’s or 0’s within the CV. The command station can then convert the binary result into a decimal value and display it on the throttle in a readable way. Any Direct mode programming instruction always takes the same amount of time to complete, regardless of the CV number or CV value.

To access Direct Mode Programming, you do not need to specially select it. Simply use your TCS throttle menu and select “Program Track” from the CV Programming menu.

For more technical information on how Direct mode programming works, see NMRA standard S-9.2.3.

Paged Mode Programming

Paged mode programming is an older, slower method of programming a DCC decoder compared to Direct Mode Programming (described above). The CS-105 has partial support for Paged Mode programming; writing a CV is supported, but reading a CV is not. In order to access Paged Mode Programming, you need to specifically select it. To do this, enter the CV Programming menu on the TCS throttle, select “Advanced,” and then select “Paged Mode.”

To use Register Mode programming, select Paged Mode Programming, but write only CV's 1 through 5. Register Mode Programming in the CS-105 only supports a total of five CV's.

For more technical information on how Paged mode and Register mode programming works, see NMRA standard S-9.2.3.

CS-105 DCC Address Programmer

The instructions outlined in this section assume the use of a TCS throttle. The process for programming a DCC decoder address has been specifically crafted to make the user experience fluid and painless. The command station will perform some actions for you, unlike with many other systems where every action must be done manually.

To begin programming an address, enter the menu on the TCS throttle, select “4 CV Programming” and then select “3 DCC Address” from the list of options as shown below.

CV Programming Menu - 3 DCC Address.png

The system will then ask you to place a locomotive on the programming track.

DCC Address - Place on programming track.png

If you do not place a locomotive on the programming track, or there is some issue in communicating with the decoder on the programming track, an error message will display stating that the loco/decoder was not detected.

DCC Address - No Loco.png

If there is a locomotive on the track and there is a good connection, the command station will perform a sequence of read operations in order to determine the current address(es) of the decoder. The information that will be displayed (as applicable) is:

  • Current Address, including an indication for Short/Long format.
  • Current Consist Address (Will not display if there is no consist address programmed)
  • Consist Direction (If applicable)

Here are some examples:

DCC Address - Main Menu with Default Address
DCC Address - Main Menu with Consist and Long Address

DCC Address - Enter Short Address

Short Address Programming

The two-digit "Short" address is stored in CV 1 and has a valid range of values from 1 to 127. A value higher than 127 is invalid for short addressing. If you would like to program your locomotive with an address (such as a road number) which is greater than 127, you must use a 4-digit "Long" address as described in the section below. Per the NMRA spec, CV 1 cannot be modified on the main via operations (OPS) mode programming; therefore, you must use a dedicated DCC programming track to change a short address.

Note: By default, all DCC decoders ship in the two-digit "short" addressing format with a value of 3.

To program a short address, select option “1 Set Short Address” from the DCC Address menu, then enter an address between 1 and 127, followed by the “Save” button.

DCC Address - Enter Long Address

Long Address Programming

To program a long address, select option “2 Set Long Address” from the DCC Address menu.

Enter a long address using the keypad or encoder-based thumbwheel, then press “Save”. The command station will support DCC Long addresses from 0000 to 10239. Your decoder may or may not support addresses above 9999. Check with your manufacturer if you are unsure.

Note: It is possible to set a Long address which falls within the short address range (1-127). If you would like to select a long address within the short address range, you must add an extra “0” before the rest of the address when entering it into the throttle. For example, address 10L would be entered as “010” in the select loco screen. To select long address 0 (zero), type “00” into the select loco dialog.

After pressing “Save” the command station will change the address to the value you have entered, and will also change the address format from short to long if applicable.

DCC Address - Enter Consist Address
DCC Address - Select Direction in Consist
DCC Address - Clear Consist Address

Consist Address (CV 19) Programming

The steps in this section will demonstrate how to set up and/or clear CV 19 consists. Note that this method of consist programming is not in any way related to the TCS Command Station’s internal consisting method. CV 19 consists are typically a “portable” way to create consists, since the consisting information is stored within the decoders themselves, and not in the command station. Setting up a consist in this way, and also using CV 21 and CV 22 allows you to make and manage consists that can be used identically on any manufacturer’s command station.

Note: CV 19 consisting and Short addresses use the same 2-digit address space. For this reason, it is important to keep in mind that there could be potential conflicts with other decoders running on the same 2-digit address as your consist. It is also not possible to simultaneously use a short address and a consist address for the same decoder. Some decoder manufacturers allow for control of decoders on a long address and a consist address at the same time for different functions.

While a CV 19 consist is active, the motor control will always be ignored from the “base address.” The “base address” is the normal address the decoder would use when not in a consist.

To get started, select “4 Set Consist Address” from the DCC Address menu

Next, the system will ask you to enter a consist address. You may use the keypad or an encoder-based thumbwheel to change the value. Note that the maximum value is 127. CV 19 consists use Bit 7 of the CV to select the direction, meaning you have 127 forward and 127 reverse values.

After entering the address for your consist, the system will ask you to select the direction of this unit within the consist. This will set or clear bit 7 of CV19 as mentioned in the previous step.

After selecting the direction, the command station will program the decoder with the consist address you set.

If you would like to remove the CV 19 consist address from a decoder, select option “3 Clear Consist Address” from the DCC Address menu.